Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

260 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoveComm

The UDP and TCP packet protocol used by MRDT modular microcontrollers

Cloning / Updating

Since the manifest.json is located in a different repository the steps for cloning and updating the repository are a bit different than usual. Everytime the manifest.json is updated, the update command listed below needs to be executed.

  • Clone: git clone --recurse-submodules https://gitlab.com/MissouriMRDT/RoveComm.git
  • Update: git submodule update --init --recursive

Dependencies

The current implementation of RoveComm is for the Tiva C Microcontrollers. The ethernet libraries used are from the Energia project. It also currently supports the Teensy 4.1 Microcontroller. The ethernet libraries are NativeEthernet and NativeEthernetUdp from the Arduino add-on Teensyduino.

Packet Structure

The RoveComm udp packet header is 5 bytes long:

  • uint8_t rovecomm_version
  • uint16_t data_id
  • uint16_t data_count
  • uint8_t data_type

The packet then countains a data_count number of data elements. The size of each element depends on the data type.

Due to memory limitations, the Tiva can only support 21,845 uint8_ts, 10,922 uint16_ts, 5461 uint32_ts, 5461 floats, or 2730 doubles at once.

Due to memory limitations, the Teensy can only support 32,767 uint8_ts, 16,383 uint16_ts, 8,191 uint32_ts, 8,191 floats, or 4,095 doubles at once.

Use

Examples of how to implement RoveComm on the Tiva C Microcontroller and Teensy 4.1 are here.

About

The UDP/TCP packet protocol used by MRDT modular microcontrollers

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages