[Draft] 2022 Data link protocol

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/motor outputs

    • 02 for adding waypoints

    • 03 for drone specific

    • etc

  • payload

  • CRC [uint8]

    • xbees use 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 sum

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]