ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
trajectory.h
Go to the documentation of this file.
1
5#ifndef ICAROUS_CFS_TRAJECTORY_H
6#define ICAROUS_CFS_TRAJECTORY_H
7
8#include "cfe.h"
9#include "cfe_error.h"
10#include "cfe_evs.h"
11#include "cfe_sb.h"
12#include "cfe_es.h"
13#include "cfe_platform_cfg.h"
14
15#include <string.h>
16
17#include "Icarous.h"
18#include "TrajManager.h"
19#include "sch_msgids.h"
20#include "trajectory_msgids.h"
21#include "traffic_msg.h"
22#include "traffic_msgids.h"
23#include "guidance_msgids.h"
24#include "Icarous_msg.h"
25#include "trajectory_msg.h"
26#include "trajectory_tbl.h"
27
28#define TRAJECTORY_STARTUP_INF_EID 0
29#define TRAJECTORY_COMMAND_ERR_EID 1
30#define TRAJECTORY_RECEIVED_INTRUDER_EID 2
31#define TRAJECTORY_RECEIVED_FLIGHTPLAN_EID 3
32#define TRAJECTORY_RECEIVED_GEOFENCE_EID 4
33
34#define TRAJECTORY_PIPE_DEPTH 100
35#define TRAJECTORY_PIPE_NAME "TRAJECTORY_PIPE"
36#define TRAJECTORY_SCH_PIPE_NAME "TRAJ_SCH_PIPE"
37#define TRAJECTORY_SCH_PIPE_DEPTH 100
38#define TRAJECTORY_MAJOR_VERSION 1
39#define TRAJECTORY_MINOR_VERSION 0
40
41#define TRAJ_MONITOR_TASK_ID 23
42#define TRAJ_MONITOR_TASK_STACK_SIZE 1024
43#define TRAJ_MONITOR_PRIORITY 65
44
45
46uint32 traj_monitor_stack[TRAJ_MONITOR_TASK_STACK_SIZE];
47uint32 traj_monitor_task_id;
48
71typedef struct{
72 CFE_SB_PipeId_t TrajRequest_Pipe;
73 CFE_SB_PipeId_t TrajData_Pipe;
74 CFE_SB_MsgPtr_t TrajRequest_MsgPtr;
75 CFE_SB_MsgPtr_t Traj_MsgPtr;
76 CFE_TBL_Handle_t Trajectory_TblHandle;
77 void* pplanner;
80 double position[3];
81 double velocity[3];
82 uint32_t mutexAcState;
83 int nextWP1;
84 int nextWP2;
85 char planID[20];
86 bool monitor;
91 double timeNow;
93
97void TRAJECTORY_AppMain(void);
98
102void TRAJECTORY_AppInit(void);
103
108
112void TRAJECTORY_AppCleanUp(void);
113
117void TRAJECTORY_ProcessPacket(void);
118
122void TRAJECTORY_Monitor(void);
123
129int32_t TrajectoryTableValidationFunc(void *TblPtr);
130
134TrajectoryAppData_t TrajectoryAppData;
135
136
137#endif //ICAROUS_CFS_TRAJECTORY_H
Icarous common message definitions.
EXTERN position_t position
position message
Definition: arducopter.h:225
Defines message topics used by the guidance application.
Structure to hold app data.
Definition: trajectory.h:71
CFE_SB_PipeId_t TrajRequest_Pipe
Pipe variable.
Definition: trajectory.h:72
int numPlansComputed
Total number of plans computed.
Definition: trajectory.h:78
int runThreads
Flag to signals to run/stop.
Definition: trajectory.h:79
bool eutlReceived
eutl plan received check
Definition: trajectory.h:90
int nextWP1
Next waypoint index in flightplan 1.
Definition: trajectory.h:83
bool updateDAAParams
Update DAA params via SB messages.
Definition: trajectory.h:87
bool monitor
Flag indicating when monitoring should begin.
Definition: trajectory.h:86
uint32_t mutexAcState
Mutex to enforce synchronization on shared variables.
Definition: trajectory.h:82
CFE_SB_MsgPtr_t Traj_MsgPtr
Scheduler message.
Definition: trajectory.h:75
CFE_SB_PipeId_t TrajData_Pipe
Pipe variable.
Definition: trajectory.h:73
void * pplanner
Opaque pointer to TrajectoryMonitor.
Definition: trajectory.h:77
flightplan_t flightplan1
primary flightplan to monitor
Definition: trajectory.h:88
flightplan_t flightplan2
secondary flightplan to monitor
Definition: trajectory.h:89
int nextWP2
Next waypoint index in flightplan 2.
Definition: trajectory.h:84
CFE_TBL_Handle_t Trajectory_TblHandle
Table pointer.
Definition: trajectory.h:76
CFE_SB_MsgPtr_t TrajRequest_MsgPtr
Msg pointer to SB message.
Definition: trajectory.h:74
Trajectory table defintion.
Definition: trajectory_tbl.h:16
message encoding flight plan information
Traffic message definition.
Traffic message id definitions.
void TRAJECTORY_Monitor(void)
Definition: trajectory.c:216
int32_t TrajectoryTableValidationFunc(void *TblPtr)
Definition: trajectory.c:444
void TRAJECTORY_AppInit(void)
Definition: trajectory.c:53
void TRAJECTORY_AppInitData(TrajectoryTable_t *TblPtr)
Definition: trajectory.c:120
void TRAJECTORY_ProcessPacket(void)
Definition: trajectory.c:146
void TRAJECTORY_AppCleanUp(void)
Definition: trajectory.c:141
void TRAJECTORY_AppMain(void)
Event ID definitions.
Definition: trajectory.c:18
definition of messages generated by the trajectory messages
definition of message ids relevant to the trajectory applicaiton
trajectory table definition