-
Notifications
You must be signed in to change notification settings - Fork 1
RoveComm Structure
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.
RoveComm utilizes a 5-byte header which contains the following information to communicate a packet's contents:
- RoveComm Version -uint8
- Data ID -uint16
- Data Type -enum uint8
- Data Size -uint8
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.
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 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