Access Logfile Data

This article was written for version 2.3.1 of Core. Click here for the most recent version of the help center.

PolySync Core provides tools to access logfile data stored in plog files from outside and inside the PolySync Core time domain.

These tools can be used to convert abstracted high level data to other formats, extract the raw plog data, or abstract the raw data into custom message types.

Logfile data

Core dynamic driver nodes use the plog file format to store binary sensor data.

The plog files contain raw sensor data as it was provided to the dynamic driver nodes across the native bus─CAN, Ethernet, Serial.

  • Accessing raw sensor data occurs outside the PolySync Core time domain, and the data is not synchronized with other data sources
  • Accessing sensor data through high level, abstracted messages occurs within the PolySync Core time domain, and the publishing of high level messages is synchronized with other dynamic driver nodes in the runtime

Extracting abstracted sensor data

Replay the logfile session using Studio or the command-line tools to extract synchronized, abstracted high level data.

Core nodes subscribe to high level message types containing the abstracted sensor data. Nodes access the data buffer within the nodes callback function at runtime.

Extracting raw sensor data

Raw sensor data is stored within a plog file, which can be iterated and decoded by the transcoder tool, and logfile iterator C example.

Transcoder tool

The transcoder is a tool designed to decode the plog file format, and reencode the data to any other file format. This application does not connect to the PolySync Core bus.

The transcoder is an open source tool that is accessed through PolySync’s GitHub repo.

Logfile iterator

The logfile iterator is an application node that operates outside of the Core time domain. It’s written using the Core C APIs, and is designed to:

  • Roll over the contents of a plog file, outside the time-domain
  • Provide the records (sensor data) in an in-memory representation, suitable for publish/subscribe/copy routines
  • Re-map message types, if the data model has changed or differs from what was originally used to create the plog
  • Modify records, and create a new plog file

The C API Examples repository has two logfile iteration examples.

  • Logfile iterator: the base C application that opens an example plog file
  • Logfile iterator for Velodyne: a modified version of the base application that has logic to access and parse the binary plog data originating from a Velodyne HDL-32E sensor