API Docs

C

PolySync provides a robust set of C APIs to access and process data from the PolySync bus. This data comes from connected sensors and hardware in the form of PolySync messages. Messages are published and subscribed to the bus by nodes. The C APIs allow you to create, publish, subscribe, and process sensor data, as well as control the vehicle through the environment.

The APIs are categorized such that each application needs to include only the resources that are required. You will find a full list of the C APIs below:

  • CAN
  • Core
    • The Core API provides access to commonly used functions and data types for PolySync applications
  • Host
    • The Host API provides access to runtime information about the local machine
  • Logfile
    • Participating nodes use the Logfile API to facilitate the Record and Replay (RnR) functionality
  • Messaging
    • The Messaging API is used to pass information on the PolySync bus through messages
  • Node
  • Node Template
    • The PolySync Node Template API includes the main entry and exit points for PolySync nodes
  • Record & Replay
    • The Record and Replay (RnR) API is used to instruct active runtime nodes to perform various PolySync Logfile API tasks
  • Serial
    • The Serial API allows users to both configure and connect to a serial terminal device, as well as receive raw data
  • Shared Memory
    • The Shared Memory API provides an interface to shared memory IO utilities
  • Socket
    • The Socket API allows users to configure and connect directly to an Ethernet socket in order to read and write packets of data
  • System Design File
    • The System Design File (SDF) API provides an interface to read and write data to the PolySync SDF
  • Transform
    • The Transform API provides an interface to perform linear transformations on coordinate frames
  • Video
    • The Video API provides an interface for image devices, encoder, decoder, and utilities

C Data Model

The data model defines all types, constants, and messages for PolySync applications. PolySync ships with a data model that is separated into the following categories:

  • Core
    • Defines the resources that are needed for every PolySync application
  • Sensor
    • High level messages to store sensor data
    • PolySync ships with messages to hold data from todays most common autonomous vehicle sensors
  • Control
    • Convenience messages and enumeration kinds for creating vehicle-control applications and algorithms

Modules can be extended to include new types, messages, or constants.

C++

PolySync provides a set of convenient C++ APIs to develop autonomous vehicle applications. The C++ API wraps the PolySync C API, and provides access to the PolySync bus that contains data stored within PolySync messages. The message data can be input from sensors around the vehicle or output to actuators for controlling steering and speed.

The APIs are categorized such that each application needs to include only the resources that are required. You will find a full list of the C++ APIs below:

  • CAN
    • The CAN API helps users to interface with devices using Controller Area Network protocols commonly found in automotive and industrial applications
  • Core
    • The Core API provides access to commonly used functions and data types for PolySync applications
  • Host
    • The Host API provides access to runtime information about the local machine
  • Logfile
    • Participating nodes use the Logfile API to facilitate the RnR functionality
  • Messaging
    • The Messaging API is used to pass information on the PolySync bus using predefined messages
  • Node
    • The Node API allows C++ applications to create a PolySync node
  • Record & Replay
    • The Record and Replay API enables the coordination of nodes that participate in log sessions
  • Serial
    • The PolySync Serial API is a wrapper class around a serial port
  • Shared Memory
    • The Shared Memory API provides an interface to read and write data to and from a shared memory queue
  • Socket
    • The PolySync Socket API is a wrapper around a network socket
  • System Design File
    • The System Design API lets you interact with the PolySync System Design File (SDF)
  • Transform
    • The PolySync Transformation API
  • Video
    • The PolySync Video API provides an interface for image devices, encoder/decoder, and utilities

C++ Data Model

Most components of the C++ Data Model directly mirror their corresponding C Data Model type. For example, the C++ Data Model LidarPointsMessage class correlates to the ps_lidar_points_msg found in the C Data Model.

The data model defines all types, constants, and messages for PolySync applications.

PolySync ships with a data model that is separated into the following categories:

  • Core
    • Defines the resources that are needed for every PolySync application
  • Sensor
    • High level messages to store sensor data
    • PolySync ships with messages to hold data from todays most common autonomous vehicle sensors
  • Control
    • Convenience messages and enumeration kinds for creating vehicle-control applications and algorithms

Modules can be extended to include new types, messages, or constants.