Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
typedef struct CommandsFromSM{
    WaypointType waypoint_type;
    TelemWaypointDataCommandsFromTM telemetry_waypointcommands;
    CommandsFromTMJetsonToZpMovementCommand telemetryjetson_commands; 
    LandingInitiationCommand landing_initiation; 
    LosSFData sf_data;
} CommandsFromSM;

...

and CV will be sending a list of waypoints during Cruise and Search (sent through TM and SM) where a single waypoint is defined in the TelemWaypointData struct below. The start_landing flag will be signaled when a landing pad is found.

NOTE: RC Stuff has not been added yet

CV/TM → PM During Cruising

Code Block
struct TelemWaypointData {    
  double longitude;  //    
  double lattiude;   
  uint8_t waypoint_id; 
};

typedef struct CommandsFromTM{
    bool
start_landing;     uint8_t num_waypoints; // number of waypoints in the list 
    TelemWaypointData waypoints[num_waypoints]; 
} CommandsFromTM;

CV/TM → PM During Search

Code Block
// Data given from CV/TM during search and landing 
struct JetsonToZpMovementCommand {
  float x;
  float y;
  float z;
  float heading;
};

struct LandingInitiationCommand {
    bool start_landing; 
};

PM → AM Struct:

Code Block
typedef struct CommandsForAM_t{
2  WaypointType waypoint_type;  // not necessary
3
4  // heading unit vector and magnitude
5  float dist_x; 
6  float dist_y; 
7  float dist_z; 
8  float magnitude; // Magnitude distance to waypoint target
9  float heading; // heading at target waypoint
10  double speed_target; // Target velocity of drone approaching target
11} CommandsForAM;