21#ifndef FLIGHT_FLIGHTEXECUTIVE_H
22#define FLIGHT_FLIGHTEXECUTIVE_H
Header for generic telemetry packet struct generation and serialization.
Base class for object organization.
Definition GraphTreeObject.h:98
GraphTreeObject(const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0)
Name-based constructor for GraphTreeObject which will have no children by default.
Definition GraphTreeObject.cpp:23
Wrapper to manage and convert time as timespce.
Definition Time.h:53
Base app class for derived implementation.
Definition App.h:55
This class routes commands from the HAL to associated Apps.
Definition CommandManager.h:52
int16 registerApp(warpos::App &app)
Register an app with the flight executive.
Definition FlightExecutive.cpp:102
warpos::TelemetryManager & telemetryManager()
Handle to the telemetry manager.
Definition FlightExecutive.h:79
GraphTreeObject * _fexec_children[MAXIMUM_FLIGHT_EXECUTIVE_CHILDREN]
Local storage for App children so it can live on the graph tree.
Definition FlightExecutive.h:164
int16 run()
Run the FlightExecutive until the terminate flag is raised.
Definition FlightExecutive.cpp:98
int16 registerTlm(uint16 apid, uint8 instance=0)
Register telemetry packet with storage and telemetry managers.
Definition FlightExecutive.cpp:68
warpos::TelemetryManager _telemetry_manager
The telemetry manager for the flight executive.
Definition FlightExecutive.h:152
warpos::OS & os()
Handle to the current system OS.
Definition FlightExecutive.h:71
warpos::Scheduler & _scheduler
System schedule, which determines what apps and functions run when.
Definition FlightExecutive.h:144
warpos::Scheduler & schedule()
Handle to the current system schedule.
Definition FlightExecutive.h:67
warpos::App ** getRegistry()
Get pointer to app registry, used for testing.
Definition FlightExecutive.h:137
log_level_e logLevel()
Get the log level set for the executive.
Definition FlightExecutive.h:117
uint16 _registered_app_idx
Index of last registered app.
Definition FlightExecutive.h:147
virtual ~FlightExecutive()
void logLevel(log_level_e log_level)
Set the executive log level.
Definition FlightExecutive.h:120
FlightExecutive(warpos::Setup &setup, warpos::Scheduler &schedule, bool delay_parent_assignment=false)
Only valid FlightExecutive constructor.
Definition FlightExecutive.cpp:22
warpos::Setup & _setup
System setup, which implicitly contains OS and Platform.
Definition FlightExecutive.h:141
int16 startup()
Initialize the FlightExecutive and all elements therein.
Definition FlightExecutive.cpp:86
log_level_e _exc_log_level
Definition FlightExecutive.h:161
int16 sendStoreTlm(const cmd_tlm_base &pkt, uint8 instance=0)
Send packet to telemetry and storage managers for send/store.
Definition FlightExecutive.cpp:77
warpos::CommandManager _command_manager
The command manager for the flight executive.
Definition FlightExecutive.h:158
int16 getAppPointer(uint16 apid, uint8 instance, warpos::App *&app_ptr)
Get pointer to a registered app based on its apid and instance number.
Definition FlightExecutive.cpp:130
int16 step(const clockwerk::Time &step_val)
Step the FlightExecutive forward by a single step.
Definition FlightExecutive.cpp:94
const FlightExecutive & operator=(const FlightExecutive &original)
warpos::StorageManager _storage_manager
The storage manager for the flight executive.
Definition FlightExecutive.h:155
warpos::Setup & setup()
Handle to the current system setup.
Definition FlightExecutive.h:63
App * _registered_apps[MAXIMUM_FLIGHT_EXECUTIVE_CHILDREN]
Buffer of pointers to registered apps.
Definition FlightExecutive.h:149
warpos::CommandManager & commandManager()
Handle to the command manager.
Definition FlightExecutive.h:87
warpos::StorageManager & storageManager()
Handle to the storage manager.
Definition FlightExecutive.h:83
warpos::Platform & platform()
Handle to the current system platform.
Definition FlightExecutive.h:75
Holds all os-specific interfaces.
Definition OS.h:51
Base class implementation of the scheduler.
Definition Scheduler.h:42
Holds the setup configuration for Flight Executive.
Definition Setup.h:39
App which manages all storage output from the flight system.
Definition StorageManager.h:51
App which manages all telemetry output from the flight system.
Definition TelemetryManager.h:84
log_level_e
Log level enumerations.
Definition flighterrors.h:159
@ LOG_INFO
Definition flighterrors.h:163
Definition DeadReckon.cpp:20
Base struct in definition of command and telemetry packets.
Definition Telemetry.h:48