Exchanged data

Below is a list of all the data that is exchanged between the ground station and the aircraft.

 

Pigo (plane in ground out)

  • CVGpsCoordinatesOfLandingSpot (comes from CV)

    • latitude (4 byte int)

    • longitude (4 byte int)

    • altitude (4 byte int)

    • direction of landing (4 byte float)

       

  • groundCommands (Comes from CV)

    • heading (4 byte float)

    • latestDistance (4 byte float)

       

  • gimbalCommands, radians, with respects to the aircraft’s body frame (Comes from CV)

    • pitch (4 byte float)

    • yaw (4 byte float)

       

  • beginLanding (1 byte bool) (Comes from CV)

 

  • beginTakeoff (1 byte bool) (Comes from CV)

 

  • numWaypoints (4 byte int) (Comes from Pilot on the ground)

 

  • waypointModifyFlightPathCommand (1 byte uint8_t) (Comes from Pilot on the ground)

    • enum: { NO_FLIGHT_PATH_EDIT = 0, INITIALIZE_FLIGHT_PATH, APPEND, INSERT, UPDATE, DELETE, NUKE }

  • waypointNextDirectionsCommand (1 byte uint8_t) (Comes from Pilot on the ground)

    • enum: { REGULAR_PATH_FOLLOWING = 0, TOGGLE_HOLDING, TOGGLE_HEAD_HOME }

  • initializingHomeBase (1 byte bool) (Comes from Pilot on the ground)

 

  • holdingAltitude (4 byte int) (Comes from Pilot on the ground)

  • holdingTurnRadius (4 byte int) (Comes from Pilot on the ground)

  • holdingTurnDirection (1 byte uint8_t) (Comes from Pilot on the ground)

    • enum: { CLOCKWISE = 0, COUNTER_CLOCKWISE }

 

  • flightPathModifyNextId (4 byte int) (Comes from Pilot on the ground)

  • flightPathModifyPrevId (4 byte int) (Comes from Pilot on the ground)

  • flightPathModifyId (4 byte int) (Comes from Pilot on the ground)

 

  • waypoints (array of size numWaypoints) (Comes from Pilot on the ground)

    • latitude (4 byte int)

    • longitude (4 byte int)

    • altitude (4 byte int)

    • turnRadius (4 byte float)

    • waypointType (1 byte uint8_t)

      • enum: { PATH_FOLLOW = 0, ORBIT, HOLD}

 

  • homebase (Comes from Pilot on the ground)

    • latitude (4 byte int)

    • longitude (4 byte int)

    • altitude (4 byte int)

    • turnRadius (4 byte float)

    • waypointType (1 byte uint8_t)

      • enum: { PATH_FOLLOW = 0, ORBIT, HOLD}



Pogi (plane out ground in)

  • errorCode (1 byte uint8_t) (Goes to Pilot on the ground)

  • timestampOfMeasurements, milliseconds since 00:00 in UTC time (4 byte int32_t) (goes to CV)

 

  • gpsCoordinates (goes to CV)

    • latitude (8 byte double)

    • longitude ( 8 byte double)

    • altitude ( 8 byte double)

       

  • currentAirspeed (4 byte float) (goes to CV)

     

  • eulerAnglesOfPlane ZYX, in radians (goes to CV)

    • yaw ( 4 byte float)

    • pitch (4 byte float)

    • roll (4 byte float)

       

  • eulerAnglesOfCamera ZYX, in radians (goes to CV)

    • yaw ( 4 byte float)

    • pitch (4 byte float)

    • roll (4 byte float)

     

  • isLanded (goes to CV)

 

  • editingFlightPathErrorCode (1 byte uint8_t) (Goes to Pilot on the ground)

  • flightPathFollowingErrorCode (1 byte uint8_t) (Goes to Pilot on the ground)

  • currentWaypointId (4 byte int) (Goes to Pilot on the ground)

  • currentWaypointIndex (4 byte int) (Goes to Pilot on the ground)

  • homeBaseInitialized (1 byte bool) (Goes to Pilot on the ground)