Protocol (metadata) Requirements:
time epoch or actual time?
CRC (crc8, or sketchy literal checksum that xbee already uses)
payload type (could stick this in xbee protocol as well, but less organized I guess?)
Protocol Definition:
time [uint32]
payload type [uint8]
01 for gps/imu data/motor outputs
02 for adding waypoints
03 for motor outputsdrone specific
etc
payload
CRC [uint8]
xbees use basic summing sums to do crc, THAT CANNOT BE DISABLED, so we must do it regardless
Suggest CRC methods that we would prefer over this built in basic summingsum
Air-Ground Payload (this is common for all comps, all UAVs, etc)
GPS Data
lat [float]
long [float]
altitude [float]
IMU Data
yaw [float]
pitch [float]
roll [float]
motor outputs
12 outputs [uint8]
Air-Ground Payload (drone/comp specific things)
Grabber Status [uint8]
other?
Ground-Air Payload
Add/Replace (whether to add these waypoints, or replace the existing waypoints) [uint8/bool]
Fixed length of Waypoints of lets say 5
lat [float]
long [float]
altitude [float]