ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
flarm.h
Go to the documentation of this file.
1
5#ifndef _FLARM_h_
6#define _FLARM_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 "UtilFunctions.h"
14
15#include <string.h>
16#include <errno.h>
17#include <unistd.h>
18#include "network_includes.h"
19#include "flarm_events.h"
20#include "msgdef/ardupilot_msg.h"
21#include "msgdef/traffic_msg.h"
22#include "msgids/ardupilot_msgids.h"
23#include "msgids/scheduler_msgids.h"
24#include "msgids/traffic_msgids.h"
25#include "port_lib.h"
26#include "pflaa.h"
27
28#define FLARM_PIPE_NAME "FLARM_PIPE"
29#define FLARM_PIPE_DEPTH 100
30
31#define SCH_FLARM_PIPE1_NAME "SCH_FLARM"
32
33
46typedef struct{
47 CFE_SB_PipeId_t INTERFACE_Pipe;
48 CFE_SB_PipeId_t SchInterface_Pipe;
49 CFE_SB_MsgPtr_t INTERFACEMsgPtr;
50 CFE_SB_MsgPtr_t Sch_MsgPtr;
51 CFE_TBL_Handle_t INTERFACE_tblHandle;
54 double gpsOrigin[3];
55 double gpsEND[3];
60 flightplan_t flightplan;
61
62 // You may need additional ports if data is obtained from other sensors
63 // (e.g ADSB)
64 //port_t sensor1;
66
67
72void FLARM_AppMain(void);
73
78void FLARM_AppInit(void);
79
83void FLARM_AppCleanUp(void);
84
90
95void FLARM_ProcessData(void);
96
101void FLARM_ProcessSBData(void);
102
107bool logSentence(char *recvbuffer, nmea_pflaa_s *pflaa);
108
113void getFileTimeandDate(char** Filename);
118int32_t FLARMTableValidationFunc(void *TblPtr);
119
120#endif /* _FLARM_h_ */
void getFileTimeandDate(char **Filename)
Ensures current time and date is captured.
Definition: flarm.c:419
void FLARM_ProcessSBData(void)
Read data from software bus and send data to autopilot.
Definition: flarm.c:432
void FLARM_InitializePorts()
Open ports to autopilot and intialize ports here.
Definition: flarm.c:144
int32_t FLARMTableValidationFunc(void *TblPtr)
Definition: flarm.c:463
void FLARM_ProcessData(void)
Read data from the autopilot and construct software bus messages.
Definition: flarm.c:154
void FLARM_AppCleanUp(void)
Definition: flarm.c:458
void FLARM_AppInit(void)
Initialize app data: set up pipes, subscribe to messages, read table, initialize data.
Definition: flarm.c:64
bool logSentence(char *recvbuffer, nmea_pflaa_s *pflaa)
Ensures read in serial data is full NMEA sentence.
Definition: flarm.c:266
void FLARM_AppMain(void)
This is the main entry point for your application that will be used by cFS.
Definition: flarm.c:30
serial/socket port library
Structure to hold app data.
Definition: flarm.h:46
CFE_SB_MsgPtr_t INTERFACEMsgPtr
msg pointer to SB message
Definition: flarm.h:49
CFE_SB_PipeId_t INTERFACE_Pipe
pipe variable
Definition: flarm.h:47
CFE_SB_MsgPtr_t Sch_MsgPtr
msg pointer to SB message
Definition: flarm.h:50
int currentWP
autopilot's current waypoint
Definition: flarm.h:59
missionItemReached_t wpReached
waypoint reached feedback message
Definition: flarm.h:58
object_t traffic
traffic message
Definition: flarm.h:57
attitude_t attitude
attitude message
Definition: flarm.h:56
CFE_TBL_Handle_t INTERFACE_tblHandle
table handle
Definition: flarm.h:51
CFE_SB_PipeId_t SchInterface_Pipe
pipe variable
Definition: flarm.h:48
position_t position
position message
Definition: flarm.h:53
port_t fp
flarm port
Definition: flarm.h:52
aircraft attitude information.
Definition: Icarous_msg.h:219
message encoding flight plan information
message indicating a specific waypoint has been reached.
Definition: Icarous_msg.h:127
Definition: pflaa.h:19
message to represent information about an static/dynamic object
Definition: Icarous_msg.h:154
Structure to hold port attributes.
Definition: port_lib.h:37
position information of aircraft.
Definition: Icarous_msg.h:174