-
- Downloads
[HIL] Updated the framework structure
In general the framework now is a lot more versatile since the application specific structures are passed as templates. [HIL] - HIL accepts a pointer to the HILTransceiver and HILPhasesManager objects and manages their insertion, start and stop just by interacting with the HIL instance. - HIL now exposes a method to wait until the simulation started (first packet from simulator is received). - HIL now is an Active Object. The run method implements the periodic setting of the ActuatorData through an updateActuatorData function passed in the constructor. [HILTransceiver] - HILTransceiver now is templated on the flightPhases flags, SimulatorData and ActuatorData - HILTransceiver now extends a base class to perform type erasure and get more easily the class from ModuleManager - HILTransceiver now has an internal variable to store the number of lost updates - HILTransceiver now has a PrintLogger - HILTransceiver::getSensorData now returns a constant pointer since the values of the sensorData struct shouldn't be changed outside of this class [HILPhasesManager] - HILPhasesManager now is templated on the flightPhases flags, SimulatorData and ActuatorData - HILPhasesManager now extends a base class to perform type erasure and get more easily the class from ModuleManager - HILPhasesManager is now a virtual class. Every simulation should create its own HILPhasesManager implementing the methods processFlags, printOutcomes, handleEvent, updateSimulatorFlags [HILSensor] - HILSensor now is templated on HILSensorData (the structure the sensor outputs), SimulatorSensorData (the structure the simulator sends), N_DATA (the number of samples the simulator sends). - As a constructor parameter, a pointer to a SimulatorSensorData - Using the PrintLogger - Every particular HILSensor implements his SimulatorData structure (e.g. AccelerometerSimulatorData), which is templated on the N_DATA parameter [HILSimulationConfig] - Implemented an example of implementation of the HIL components - Created a types to simplify usage of the HIL framework
Showing
- CMakeLists.txt 0 additions, 1 deletionCMakeLists.txt
- src/shared/hil/Events.h 0 additions, 293 deletionssrc/shared/hil/Events.h
- src/shared/hil/HIL.h 80 additions, 20 deletionssrc/shared/hil/HIL.h
- src/shared/hil/HILConfig.h 0 additions, 51 deletionssrc/shared/hil/HILConfig.h
- src/shared/hil/HILFlightPhasesManager.cpp 0 additions, 296 deletionssrc/shared/hil/HILFlightPhasesManager.cpp
- src/shared/hil/HILPhasesManager.h 77 additions, 54 deletionssrc/shared/hil/HILPhasesManager.h
- src/shared/hil/HILTransceiver.cpp 0 additions, 157 deletionssrc/shared/hil/HILTransceiver.cpp
- src/shared/hil/HILTransceiver.h 164 additions, 30 deletionssrc/shared/hil/HILTransceiver.h
- src/shared/sensors/HILSensors/HILAccelerometer.h 28 additions, 15 deletionssrc/shared/sensors/HILSensors/HILAccelerometer.h
- src/shared/sensors/HILSensors/HILBarometer.h 21 additions, 12 deletionssrc/shared/sensors/HILSensors/HILBarometer.h
- src/shared/sensors/HILSensors/HILGps.h 40 additions, 22 deletionssrc/shared/sensors/HILSensors/HILGps.h
- src/shared/sensors/HILSensors/HILGyroscope.h 26 additions, 14 deletionssrc/shared/sensors/HILSensors/HILGyroscope.h
- src/shared/sensors/HILSensors/HILMagnetometer.h 28 additions, 15 deletionssrc/shared/sensors/HILSensors/HILMagnetometer.h
- src/shared/sensors/HILSensors/HILPitot.h 21 additions, 12 deletionssrc/shared/sensors/HILSensors/HILPitot.h
- src/shared/sensors/HILSensors/HILSensor.h 18 additions, 22 deletionssrc/shared/sensors/HILSensors/HILSensor.h
- src/shared/sensors/HILSensors/HILTemperature.h 22 additions, 11 deletionssrc/shared/sensors/HILSensors/HILTemperature.h
- src/tests/hil/HILSimulationConfig.h 392 additions, 199 deletionssrc/tests/hil/HILSimulationConfig.h
- src/tests/hil/test-hil.cpp 53 additions, 40 deletionssrc/tests/hil/test-hil.cpp
Loading
Please register or sign in to comment