From 4b4cfc09c5e2dccc3563e66808a970197b5d7958 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 2 Aug 2021 11:43:49 +0200 Subject: [PATCH] update fsfwgen --- .gitignore | 14 +- generators/.run/events.run.xml | 24 +++ generators/bsp_q7s_events.csv | 192 ++++++++++---------- generators/definitions.py | 5 + generators/events/event_parser.py | 81 +++++---- generators/events/translateEvents.cpp | 2 +- generators/events/translateEvents.h | 2 +- generators/fsfwgen | 2 +- generators/fsfwgen.py | 33 ++++ linux/fsfwconfig/events/translateEvents.cpp | 2 +- linux/fsfwconfig/events/translateEvents.h | 2 +- 11 files changed, 209 insertions(+), 150 deletions(-) create mode 100644 generators/.run/events.run.xml create mode 100755 generators/fsfwgen.py diff --git a/.gitignore b/.gitignore index 564a96fd..c51106ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,15 @@ /build* -Debug -Debug* -Release -Release* - +# Eclipse .settings .metadata .project .cproject -__pycache__ - -.idea - !misc/eclipse/**/.cproject !misc/eclipse/**/.project +# Python +__pycache__ +.idea + generators/*.db diff --git a/generators/.run/events.run.xml b/generators/.run/events.run.xml new file mode 100644 index 00000000..18f71033 --- /dev/null +++ b/generators/.run/events.run.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/generators/bsp_q7s_events.csv b/generators/bsp_q7s_events.csv index d19a79a3..4635788b 100644 --- a/generators/bsp_q7s_events.csv +++ b/generators/bsp_q7s_events.csv @@ -1,96 +1,96 @@ -2200;STORE_SEND_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2201;STORE_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2202;STORE_SEND_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2203;STORE_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2204;UNEXPECTED_MSG;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2205;STORING_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2206;TM_DUMP_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2207;STORE_INIT_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2208;STORE_INIT_EMPTY;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2209;STORE_CONTENT_CORRUPTED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2210;STORE_INITIALIZE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2211;INIT_DONE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2212;DUMP_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2213;DELETION_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2214;DELETION_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2215;AUTO_CATALOGS_SENDING_FAILED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h -2600;GET_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h -2601;STORE_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h -2800;DEVICE_BUILDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2801;DEVICE_SENDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2802;DEVICE_REQUESTING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2803;DEVICE_READING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2805;DEVICE_MISSED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2806;DEVICE_UNKNOWN_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2807;DEVICE_UNREQUESTED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2808;INVALID_DEVICE_COMMAND;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2809;MONITORING_LIMIT_EXCEEDED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -2810;MONITORING_AMBIGUOUS;HIGH; ;../../fsfw/devicehandlers/DeviceHandlerIF.h -4201;FUSE_CURRENT_HIGH;LOW; ;../../fsfw/power/Fuse.h -4202;FUSE_WENT_OFF;LOW; ;../../fsfw/power/Fuse.h -4204;POWER_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/power/Fuse.h -4205;POWER_BELOW_LOW_LIMIT;LOW; ;../../fsfw/power/Fuse.h -4300;SWITCH_WENT_OFF;LOW; ;../../fsfw/power/PowerSwitchIF.h -5000;HEATER_ON;INFO; ;../../fsfw/thermal/Heater.h -5001;HEATER_OFF;INFO; ;../../fsfw/thermal/Heater.h -5002;HEATER_TIMEOUT;LOW; ;../../fsfw/thermal/Heater.h -5003;HEATER_STAYED_ON;LOW; ;../../fsfw/thermal/Heater.h -5004;HEATER_STAYED_OFF;LOW; ;../../fsfw/thermal/Heater.h -5200;TEMP_SENSOR_HIGH;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h -5201;TEMP_SENSOR_LOW;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h -5202;TEMP_SENSOR_GRADIENT;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h -5901;COMPONENT_TEMP_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h -5902;COMPONENT_TEMP_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h -5903;COMPONENT_TEMP_OOL_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h -5904;COMPONENT_TEMP_OOL_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h -5905;TEMP_NOT_IN_OP_RANGE;LOW; ;../../fsfw/thermal/ThermalComponentIF.h -7101;FDIR_CHANGED_STATE;INFO; ;../../fsfw/fdir/FailureIsolationBase.h -7102;FDIR_STARTS_RECOVERY;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h -7103;FDIR_TURNS_OFF_DEVICE;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h -7201;MONITOR_CHANGED_STATE;LOW; ;../../fsfw/monitoring/MonitoringIF.h -7202;VALUE_BELOW_LOW_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h -7203;VALUE_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h -7204;VALUE_OUT_OF_RANGE;LOW; ;../../fsfw/monitoring/MonitoringIF.h -7301;SWITCHING_TM_FAILED;LOW; ;../../fsfw/datapool/HkSwitchHelper.h -7400;CHANGING_MODE;INFO; ;../../fsfw/modes/HasModesIF.h -7401;MODE_INFO;INFO; ;../../fsfw/modes/HasModesIF.h -7402;FALLBACK_FAILED;HIGH; ;../../fsfw/modes/HasModesIF.h -7403;MODE_TRANSITION_FAILED;LOW; ;../../fsfw/modes/HasModesIF.h -7404;CANT_KEEP_MODE;HIGH; ;../../fsfw/modes/HasModesIF.h -7405;OBJECT_IN_INVALID_MODE;LOW; ;../../fsfw/modes/HasModesIF.h -7406;FORCING_MODE;MEDIUM; ;../../fsfw/modes/HasModesIF.h -7407;MODE_CMD_REJECTED;LOW; ;../../fsfw/modes/HasModesIF.h -7506;HEALTH_INFO;INFO; ;../../fsfw/health/HasHealthIF.h -7507;CHILD_CHANGED_HEALTH;INFO; ;../../fsfw/health/HasHealthIF.h -7508;CHILD_PROBLEMS;LOW; ;../../fsfw/health/HasHealthIF.h -7509;OVERWRITING_HEALTH;LOW; ;../../fsfw/health/HasHealthIF.h -7510;TRYING_RECOVERY;MEDIUM; ;../../fsfw/health/HasHealthIF.h -7511;RECOVERY_STEP;MEDIUM; ;../../fsfw/health/HasHealthIF.h -7512;RECOVERY_DONE;MEDIUM; ;../../fsfw/health/HasHealthIF.h -7900;RF_AVAILABLE;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h -7901;RF_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h -7902;BIT_LOCK;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h -7903;BIT_LOCK_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h -7905;FRAME_PROCESSING_FAILED;LOW; ;../../fsfw/datalinklayer/DataLinkLayer.h -8900;CLOCK_SET;INFO; ;../../fsfw/pus/Service9TimeManagement.h -8901;CLOCK_SET_FAILURE;LOW; ;../../fsfw/pus/Service9TimeManagement.h -9700;TEST;INFO; ;../../fsfw/pus/Service17Test.h -10600;CHANGE_OF_SETUP_PARAMETER;LOW; ;../../mission/devices/MGMHandlerLIS3MDL.h -11101;MEMORY_READ_RPT_CRC_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h -11102;ACK_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h -11103;EXE_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h -11104;CRC_FAILURE_EVENT;LOW; ;../../mission/devices/PlocMPSoCHandler.h -11201;SELF_TEST_I2C_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11202;SELF_TEST_SPI_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11203;SELF_TEST_ADC_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11204;SELF_TEST_PWM_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11205;SELF_TEST_TC_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11206;SELF_TEST_MTM_RANGE_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11207;SELF_TEST_COIL_CURRENT_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h -11208;INVALID_ERROR_BYTE;LOW; ;../../mission/devices/IMTQHandler.h -11301;ERROR_STATE;HIGH; ;../../mission/devices/RwHandler.h -11501;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h -11502;SUPV_ACK_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h -11503;SUPV_EXE_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h -11504;SUPV_CRC_FAILURE_EVENT;LOW; ;../../mission/devices/PlocSupervisorHandler.h +2200;STORE_SEND_WRITE_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2201;STORE_WRITE_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2202;STORE_SEND_READ_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2203;STORE_READ_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2204;UNEXPECTED_MSG;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2205;STORING_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2206;TM_DUMP_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2207;STORE_INIT_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2208;STORE_INIT_EMPTY;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2209;STORE_CONTENT_CORRUPTED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2210;STORE_INITIALIZE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2211;INIT_DONE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2212;DUMP_FINISHED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2213;DELETION_FINISHED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2214;DELETION_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2215;AUTO_CATALOGS_SENDING_FAILED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2600;GET_DATA_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2601;STORE_DATA_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2800;DEVICE_BUILDING_COMMAND_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2801;DEVICE_SENDING_COMMAND_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2802;DEVICE_REQUESTING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2803;DEVICE_READING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2805;DEVICE_MISSED_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2806;DEVICE_UNKNOWN_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2807;DEVICE_UNREQUESTED_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2808;INVALID_DEVICE_COMMAND;LOW;Indicates a SW bug in child class.;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2809;MONITORING_LIMIT_EXCEEDED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2810;MONITORING_AMBIGUOUS;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +4201;FUSE_CURRENT_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h +4202;FUSE_WENT_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h +4204;POWER_ABOVE_HIGH_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h +4205;POWER_BELOW_LOW_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h +4300;SWITCH_WENT_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h +5000;HEATER_ON;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h +5001;HEATER_OFF;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h +5002;HEATER_TIMEOUT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h +5003;HEATER_STAYED_ON;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h +5004;HEATER_STAYED_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h +5200;TEMP_SENSOR_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5201;TEMP_SENSOR_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5202;TEMP_SENSOR_GRADIENT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5901;COMPONENT_TEMP_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h +5902;COMPONENT_TEMP_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h +5903;COMPONENT_TEMP_OOL_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h +5904;COMPONENT_TEMP_OOL_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h +5905;TEMP_NOT_IN_OP_RANGE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h +7101;FDIR_CHANGED_STATE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h +7102;FDIR_STARTS_RECOVERY;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h +7103;FDIR_TURNS_OFF_DEVICE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h +7201;MONITOR_CHANGED_STATE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h +7202;VALUE_BELOW_LOW_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h +7203;VALUE_ABOVE_HIGH_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h +7204;VALUE_OUT_OF_RANGE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h +7301;SWITCHING_TM_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/HkSwitchHelper.h +7400;CHANGING_MODE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7401;MODE_INFO;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7402;FALLBACK_FAILED;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7403;MODE_TRANSITION_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7404;CANT_KEEP_MODE;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7405;OBJECT_IN_INVALID_MODE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7406;FORCING_MODE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7407;MODE_CMD_REJECTED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h +7506;HEALTH_INFO;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7507;CHILD_CHANGED_HEALTH;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7508;CHILD_PROBLEMS;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7509;OVERWRITING_HEALTH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7510;TRYING_RECOVERY;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7511;RECOVERY_STEP;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7512;RECOVERY_DONE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h +7900;RF_AVAILABLE;INFO;A RF available signal was detected. P1: raw RFA state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7901;RF_LOST;INFO;A previously found RF available signal was lost. P1: raw RFA state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7902;BIT_LOCK;INFO;A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7903;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7905;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +8900;CLOCK_SET;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h +8901;CLOCK_SET_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h +9700;TEST;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service17Test.h +10600;CHANGE_OF_SETUP_PARAMETER;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/MGMHandlerLIS3MDL.h +11101;MEMORY_READ_RPT_CRC_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h +11102;ACK_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h +11103;EXE_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h +11104;CRC_FAILURE_EVENT;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h +11201;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11202;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11203;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11204;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11205;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11206;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11207;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11208;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h +11301;ERROR_STATE;HIGH;Reaction wheel signals an error state;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h +11501;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervrisor crc failure in telemetry packet;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h +11502;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h +11503;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h +11504;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h diff --git a/generators/definitions.py b/generators/definitions.py index 42cf4f7b..528c3019 100644 --- a/generators/definitions.py +++ b/generators/definitions.py @@ -1,5 +1,10 @@ +import os import enum +from pathlib import Path +PATH_VAR_ROOT = Path(os.path.abspath(os.curdir)) +ROOT_DIR = PATH_VAR_ROOT.absolute() +OBSW_ROOT_DIR = PATH_VAR_ROOT.parent.absolute() DATABASE_NAME = "eive_mod.db" diff --git a/generators/events/event_parser.py b/generators/events/event_parser.py index 565f2240..56cc076f 100644 --- a/generators/events/event_parser.py +++ b/generators/events/event_parser.py @@ -1,23 +1,18 @@ -#! /usr/bin/python3 -""" -@file event_parser.py -@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat. -@details +"""Part of the Mission Operation Database Exporter for the EVIE project. Event exporter. - -To use MySQLdb, run pip install mysqlclient or install in IDE. -On Windows, Build Tools installation might be necessary -@data 21.11.2019 """ import datetime +import time -from fsfwgen.events.event_parser import handle_csv_export, handle_cpp_export, SubsystemDefinitionParser, EventParser +from fsfwgen.events.event_parser import handle_csv_export, handle_cpp_export, \ + SubsystemDefinitionParser, EventParser from fsfwgen.parserbase.file_list_parser import FileListParser from fsfwgen.utility.printer import PrettyPrinter from fsfwgen.utility.file_management import copy_file, move_file +from fsfwgen.core import get_console_logger +from definitions import BspType, ROOT_DIR, OBSW_ROOT_DIR -from definitions import BspType - +LOGGER = get_console_logger() DATE_TODAY = datetime.datetime.now() DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") @@ -30,56 +25,67 @@ MOVE_CSV_FILE = True PARSE_HOST_BSP = True -CPP_FILENAME = "translateEvents.cpp" -CPP_H_FILENAME = "translateEvents.h" +CPP_FILENAME = f'{__package__}/translateEvents.cpp' +CPP_H_FILENAME = f'{__package__}/translateEvents.h' BSP_SELECT = BspType.BSP_Q7S BSP_DIR_NAME = BSP_SELECT.value CSV_FILENAME = f"{BSP_SELECT.value}_events.csv" -CSV_MOVE_DESTINATION = "../" +CSV_MOVE_DESTINATION = f'{ROOT_DIR}' if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD: - FSFW_CONFIG_ROOT = f"../../linux/fsfwconfig" + FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/linux/fsfwconfig" else: - FSFW_CONFIG_ROOT = f"../../{BSP_DIR_NAME}/fsfwconfig" + FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/{BSP_DIR_NAME}/fsfwconfig" CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/events/" FILE_SEPARATOR = ";" SUBSYSTEM_DEFINITION_DESTINATIONS = [ f"{FSFW_CONFIG_ROOT}/events/subsystemIdRanges.h", - "../../fsfw/events/fwSubsystemIdRanges.h", - f"../../common/config/commonSubsystemIds.h" + f"{OBSW_ROOT_DIR}/fsfw/src/fsfw/events/fwSubsystemIdRanges.h", + f"{OBSW_ROOT_DIR}/common/config/commonSubsystemIds.h" +] +HEADER_DEFINITION_DESTINATIONS = [ + f"{OBSW_ROOT_DIR}/mission/", f"{OBSW_ROOT_DIR}/fsfw/", f"{FSFW_CONFIG_ROOT}", + f"{OBSW_ROOT_DIR}/test/" ] -HEADER_DEFINITION_DESTINATIONS = ["../../mission/", "../../fsfw/", f"{FSFW_CONFIG_ROOT}", "../../test/"] -def main(): - print("EventParser: Parsing events: ") - event_list = parse_events() - if GENERATE_CSV: - handle_csv_export(file_name=CSV_FILENAME, event_list=event_list, file_separator=FILE_SEPARATOR) - if MOVE_CSV_FILE: - move_file(file_name=CSV_FILENAME, destination=CSV_MOVE_DESTINATION) - if GENERATE_CPP: +def parse_events( + generate_csv: bool = True, generate_cpp: bool = True, print_events: bool = True +): + LOGGER.info("EventParser: Parsing events: ") + # Small delay for clean printout + time.sleep(0.01) + event_list = generate_event_list() + if print_events: + PrettyPrinter.pprint(event_list) + # Delay for clean printout + time.sleep(0.1) + # xml_test() + if generate_csv: + handle_csv_export( + file_name=CSV_FILENAME, event_list=event_list, file_separator=FILE_SEPARATOR + ) + if generate_cpp: handle_cpp_export( event_list=event_list, date_string=DATE_STRING_FULL, file_name=CPP_FILENAME, generate_header=GENERATE_CPP_H, header_file_name=CPP_H_FILENAME ) if COPY_CPP_FILE: - print(f"EventParser: Copying file to {CPP_COPY_DESTINATION}") + LOGGER.info(f'EventParser: Copying file to {CPP_COPY_DESTINATION}') copy_file(CPP_FILENAME, CPP_COPY_DESTINATION) copy_file(CPP_H_FILENAME, CPP_COPY_DESTINATION) - print("") -def parse_events(): +def generate_event_list() -> list: subsystem_parser = SubsystemDefinitionParser(SUBSYSTEM_DEFINITION_DESTINATIONS) subsystem_table = subsystem_parser.parse_files() - print(f"Found {len(subsystem_table)} subsystem definitions.") + LOGGER.info(f'Found {len(subsystem_table)} subsystem definitions.') PrettyPrinter.pprint(subsystem_table) event_header_parser = FileListParser(HEADER_DEFINITION_DESTINATIONS) event_headers = event_header_parser.parse_header_files( @@ -90,11 +96,6 @@ def parse_events(): event_parser = EventParser(event_headers, subsystem_table) event_parser.set_moving_window_mode(moving_window_size=7) event_table = event_parser.parse_files() - list_items = sorted(event_table.items()) - print(f"Found {len(list_items)} entries:") - PrettyPrinter.pprint(list_items) - return list_items - - -if __name__ == "__main__": - main() + event_list = sorted(event_table.items()) + LOGGER.info(f'Found {len(event_list)} entries') + return event_list diff --git a/generators/events/translateEvents.cpp b/generators/events/translateEvents.cpp index 20521618..0df84ad2 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 96 translations. * @details - * Generated on: 2021-07-12 15:20:38 + * Generated on: 2021-08-02 11:41:47 */ #include "translateEvents.h" diff --git a/generators/events/translateEvents.h b/generators/events/translateEvents.h index 9034dcf2..bdabb21b 100644 --- a/generators/events/translateEvents.h +++ b/generators/events/translateEvents.h @@ -1,7 +1,7 @@ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ -#include +#include "fsfw/events/Event.h" const char * translateEvents(Event event); diff --git a/generators/fsfwgen b/generators/fsfwgen index 78e890f9..8e805d24 160000 --- a/generators/fsfwgen +++ b/generators/fsfwgen @@ -1 +1 @@ -Subproject commit 78e890f947f55a9417d390fea8d9bd5684d11730 +Subproject commit 8e805d24088707ad7bc49fda5f1dc5edfa1154b0 diff --git a/generators/fsfwgen.py b/generators/fsfwgen.py new file mode 100755 index 00000000..61a71925 --- /dev/null +++ b/generators/fsfwgen.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +import time + +from objects.objects import parse_objects +from events.event_parser import parse_events +from returnvalues.returnvalues_parser import parse_returnvalues +from fsfwgen.core import return_generic_args_parser, init_printout, get_console_logger, ParserTypes + + +LOGGER = get_console_logger() + + +def main(): + init_printout() + parser = return_generic_args_parser() + args = parser.parse_args() + if args.type == 'objects': + LOGGER.info(f'Generating objects data..') + time.sleep(0.05) + parse_objects() + elif args.type == 'events': + LOGGER.info(f'Generating event data') + time.sleep(0.05) + parse_events() + elif args.type == 'returnvalues': + LOGGER.info('Generating returnvalue data') + time.sleep(0.05) + parse_returnvalues() + pass + + +if __name__ == "__main__": + main() diff --git a/linux/fsfwconfig/events/translateEvents.cpp b/linux/fsfwconfig/events/translateEvents.cpp index 20521618..0df84ad2 100644 --- a/linux/fsfwconfig/events/translateEvents.cpp +++ b/linux/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 96 translations. * @details - * Generated on: 2021-07-12 15:20:38 + * Generated on: 2021-08-02 11:41:47 */ #include "translateEvents.h" diff --git a/linux/fsfwconfig/events/translateEvents.h b/linux/fsfwconfig/events/translateEvents.h index 9034dcf2..bdabb21b 100644 --- a/linux/fsfwconfig/events/translateEvents.h +++ b/linux/fsfwconfig/events/translateEvents.h @@ -1,7 +1,7 @@ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ -#include +#include "fsfw/events/Event.h" const char * translateEvents(Event event);