Skip to content

RoveComm Structure

Eli Verbrugge edited this page Nov 14, 2019 · 5 revisions

RoveComm is a Udp wrapper protocol used in a local, distributive network to enable efficient connectivity and control over multiple IOT modules on a single system. RoveComm is tailored specifically toward telemetry and system control. Each packet consists of an array of data types (uint8, int, uint16, int16, or int32) with a unique 2-byte data id which represents the meaning of the data sent.

Packet Header

RoveComm utilizes a 5-byte header which contains the following information to communicate a packet's contents:

  1. RoveComm Version -uint8
  2. Data ID -uint16
  3. Data Type -enum uint8
  4. Data Size -uint8

Data ID

The Data ID represents a unique command that can be sent over the network. Currently, the data IDs are organized as follows for a given ID AABCC:

  • AA-Board number (1-65) 00 is reserved for system commands. Board numbers are documented in RoevCommManifest.h
  • B- Command Type. 0=Command, 1=Telemetry
  • CC- ID number All DataIDs are defined in RoveCommManifest.h.

Data Type

The data type represents the data type represented in the packet array. This is an enumerated type defined in RoveCommPacket.h. Note: RoveComm does not support floating point types, only integers

Data Size

Data Size represents how many data values of the specified data type are sent in each packet. This is the length of the array sent over the network with a maximum value of 255

Clone this wiki locally