diff --git a/bsp_hosted/fsfwconfig/events/translateEvents.cpp b/bsp_hosted/fsfwconfig/events/translateEvents.cpp index cf088ad..6e6ef9d 100644 --- a/bsp_hosted/fsfwconfig/events/translateEvents.cpp +++ b/bsp_hosted/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 78 translations. * @details - * Generated on: 2021-06-21 16:09:15 + * Generated on: 2022-05-20 09:11:07 */ #include "translateEvents.h" @@ -59,7 +59,6 @@ const char *MONITOR_CHANGED_STATE_STRING = "MONITOR_CHANGED_STATE"; const char *VALUE_BELOW_LOW_LIMIT_STRING = "VALUE_BELOW_LOW_LIMIT"; const char *VALUE_ABOVE_HIGH_LIMIT_STRING = "VALUE_ABOVE_HIGH_LIMIT"; const char *VALUE_OUT_OF_RANGE_STRING = "VALUE_OUT_OF_RANGE"; -const char *SWITCHING_TM_FAILED_STRING = "SWITCHING_TM_FAILED"; const char *CHANGING_MODE_STRING = "CHANGING_MODE"; const char *MODE_INFO_STRING = "MODE_INFO"; const char *FALLBACK_FAILED_STRING = "FALLBACK_FAILED"; @@ -83,9 +82,10 @@ const char *FRAME_PROCESSING_FAILED_STRING = "FRAME_PROCESSING_FAILED"; const char *CLOCK_SET_STRING = "CLOCK_SET"; const char *CLOCK_SET_FAILURE_STRING = "CLOCK_SET_FAILURE"; const char *TEST_STRING = "TEST"; +const char *CHANGE_OF_SETUP_PARAMETER_STRING = "CHANGE_OF_SETUP_PARAMETER"; const char *translateEvents(Event event) { - switch ((event & 0xffff)) { + switch ((event & 0xFFFF)) { case (2200): return STORE_SEND_WRITE_FAILED_STRING; case (2201): @@ -194,8 +194,6 @@ const char *translateEvents(Event event) { return VALUE_ABOVE_HIGH_LIMIT_STRING; case (7204): return VALUE_OUT_OF_RANGE_STRING; - case (7301): - return SWITCHING_TM_FAILED_STRING; case (7400): return CHANGING_MODE_STRING; case (7401): @@ -242,6 +240,8 @@ const char *translateEvents(Event event) { return CLOCK_SET_FAILURE_STRING; case (9700): return TEST_STRING; + case (10600): + return CHANGE_OF_SETUP_PARAMETER_STRING; default: return "UNKNOWN_EVENT"; } diff --git a/bsp_hosted/fsfwconfig/events/translateEvents.h b/bsp_hosted/fsfwconfig/events/translateEvents.h index a42d9b5..9955431 100644 --- a/bsp_hosted/fsfwconfig/events/translateEvents.h +++ b/bsp_hosted/fsfwconfig/events/translateEvents.h @@ -1,8 +1,8 @@ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ -#include +#include "fsfw/events/Event.h" -const char* translateEvents(Event event); +const char *translateEvents(Event event); #endif /* FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ */ diff --git a/generators/.gitignore b/generators/.gitignore new file mode 100644 index 0000000..900eac3 --- /dev/null +++ b/generators/.gitignore @@ -0,0 +1,2 @@ +/.idea/* +!/.idea/runConfigurations diff --git a/generators/.run/events.run.xml b/generators/.run/events.run.xml new file mode 100644 index 0000000..6bc73c9 --- /dev/null +++ b/generators/.run/events.run.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/generators/packetcontent/__init__.py b/generators/archive/__init__.py similarity index 100% rename from generators/packetcontent/__init__.py rename to generators/archive/__init__.py diff --git a/generators/packetcontent/packet_content_parser.py b/generators/archive/packet_content_parser.py similarity index 100% rename from generators/packetcontent/packet_content_parser.py rename to generators/archive/packet_content_parser.py diff --git a/generators/bsp_hosted_events.csv b/generators/bsp_hosted_events.csv index c49b0ab..50b84af 100644 --- a/generators/bsp_hosted_events.csv +++ b/generators/bsp_hosted_events.csv @@ -1,78 +1,78 @@ -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;Indicates a SW bug in child class.;../../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;A RF available signal was detected. P1: raw RFA state, P2: 0;../../fsfw/datalinklayer/DataLinkLayer.h -7901;RF_LOST;INFO;A previously found RF available signal was lost. P1: raw RFA state, P2: 0;../../fsfw/datalinklayer/DataLinkLayer.h -7902;BIT_LOCK;INFO;A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0;../../fsfw/datalinklayer/DataLinkLayer.h -7903;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;../../fsfw/datalinklayer/DataLinkLayer.h -7905;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;../../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 +2200;0x0898;STORE_SEND_WRITE_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2201;0x0899;STORE_WRITE_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2202;0x089a;STORE_SEND_READ_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2203;0x089b;STORE_READ_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2204;0x089c;UNEXPECTED_MSG;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2205;0x089d;STORING_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2206;0x089e;TM_DUMP_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2207;0x089f;STORE_INIT_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2208;0x08a0;STORE_INIT_EMPTY;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2209;0x08a1;STORE_CONTENT_CORRUPTED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2210;0x08a2;STORE_INITIALIZE;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2211;0x08a3;INIT_DONE;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2212;0x08a4;DUMP_FINISHED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2213;0x08a5;DELETION_FINISHED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2214;0x08a6;DELETION_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2215;0x08a7;AUTO_CATALOGS_SENDING_FAILED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2600;0x0a28;GET_DATA_FAILED;LOW;;fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2601;0x0a29;STORE_DATA_FAILED;LOW;;fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2800;0x0af0;DEVICE_BUILDING_COMMAND_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2801;0x0af1;DEVICE_SENDING_COMMAND_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2802;0x0af2;DEVICE_REQUESTING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2803;0x0af3;DEVICE_READING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2804;0x0af4;DEVICE_INTERPRETING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2805;0x0af5;DEVICE_MISSED_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2806;0x0af6;DEVICE_UNKNOWN_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2807;0x0af7;DEVICE_UNREQUESTED_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2808;0x0af8;INVALID_DEVICE_COMMAND;LOW;Indicates a SW bug in child class.;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2809;0x0af9;MONITORING_LIMIT_EXCEEDED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2810;0x0afa;MONITORING_AMBIGUOUS;HIGH;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +4201;0x1069;FUSE_CURRENT_HIGH;LOW;;fsfw/src/fsfw/power/Fuse.h +4202;0x106a;FUSE_WENT_OFF;LOW;;fsfw/src/fsfw/power/Fuse.h +4204;0x106c;POWER_ABOVE_HIGH_LIMIT;LOW;;fsfw/src/fsfw/power/Fuse.h +4205;0x106d;POWER_BELOW_LOW_LIMIT;LOW;;fsfw/src/fsfw/power/Fuse.h +4300;0x10cc;SWITCH_WENT_OFF;LOW;;fsfw/src/fsfw/power/PowerSwitchIF.h +5000;0x1388;HEATER_ON;INFO;;fsfw/src/fsfw/thermal/Heater.h +5001;0x1389;HEATER_OFF;INFO;;fsfw/src/fsfw/thermal/Heater.h +5002;0x138a;HEATER_TIMEOUT;LOW;;fsfw/src/fsfw/thermal/Heater.h +5003;0x138b;HEATER_STAYED_ON;LOW;;fsfw/src/fsfw/thermal/Heater.h +5004;0x138c;HEATER_STAYED_OFF;LOW;;fsfw/src/fsfw/thermal/Heater.h +5200;0x1450;TEMP_SENSOR_HIGH;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5201;0x1451;TEMP_SENSOR_LOW;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5202;0x1452;TEMP_SENSOR_GRADIENT;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5901;0x170d;COMPONENT_TEMP_LOW;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5902;0x170e;COMPONENT_TEMP_HIGH;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5903;0x170f;COMPONENT_TEMP_OOL_LOW;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5904;0x1710;COMPONENT_TEMP_OOL_HIGH;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5905;0x1711;TEMP_NOT_IN_OP_RANGE;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +7101;0x1bbd;FDIR_CHANGED_STATE;INFO;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7102;0x1bbe;FDIR_STARTS_RECOVERY;MEDIUM;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7103;0x1bbf;FDIR_TURNS_OFF_DEVICE;MEDIUM;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7201;0x1c21;MONITOR_CHANGED_STATE;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7202;0x1c22;VALUE_BELOW_LOW_LIMIT;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7203;0x1c23;VALUE_ABOVE_HIGH_LIMIT;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7204;0x1c24;VALUE_OUT_OF_RANGE;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7400;0x1ce8;CHANGING_MODE;INFO;;fsfw/src/fsfw/modes/HasModesIF.h +7401;0x1ce9;MODE_INFO;INFO;;fsfw/src/fsfw/modes/HasModesIF.h +7402;0x1cea;FALLBACK_FAILED;HIGH;;fsfw/src/fsfw/modes/HasModesIF.h +7403;0x1ceb;MODE_TRANSITION_FAILED;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7404;0x1cec;CANT_KEEP_MODE;HIGH;;fsfw/src/fsfw/modes/HasModesIF.h +7405;0x1ced;OBJECT_IN_INVALID_MODE;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7406;0x1cee;FORCING_MODE;MEDIUM;;fsfw/src/fsfw/modes/HasModesIF.h +7407;0x1cef;MODE_CMD_REJECTED;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7506;0x1d52;HEALTH_INFO;INFO;;fsfw/src/fsfw/health/HasHealthIF.h +7507;0x1d53;CHILD_CHANGED_HEALTH;INFO;;fsfw/src/fsfw/health/HasHealthIF.h +7508;0x1d54;CHILD_PROBLEMS;LOW;;fsfw/src/fsfw/health/HasHealthIF.h +7509;0x1d55;OVERWRITING_HEALTH;LOW;;fsfw/src/fsfw/health/HasHealthIF.h +7510;0x1d56;TRYING_RECOVERY;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7511;0x1d57;RECOVERY_STEP;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7512;0x1d58;RECOVERY_DONE;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7900;0x1edc;RF_AVAILABLE;INFO;A RF available signal was detected. P1: raw RFA state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7901;0x1edd;RF_LOST;INFO;A previously found RF available signal was lost. P1: raw RFA state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7902;0x1ede;BIT_LOCK;INFO;A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7903;0x1edf;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7905;0x1ee1;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +8900;0x22c4;CLOCK_SET;INFO;;fsfw/src/fsfw/pus/Service9TimeManagement.h +8901;0x22c5;CLOCK_SET_FAILURE;LOW;;fsfw/src/fsfw/pus/Service9TimeManagement.h +9700;0x25e4;TEST;INFO;;fsfw/src/fsfw/pus/Service17Test.h +10600;0x2968;CHANGE_OF_SETUP_PARAMETER;LOW;;fsfw/hal/src/fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h diff --git a/generators/definitions.py b/generators/definitions.py index fe16513..eabccc8 100644 --- a/generators/definitions.py +++ b/generators/definitions.py @@ -1,18 +1,20 @@ +import os import enum - -DATABASE_NAME = "fsfw_mod.db" +from pathlib import Path -class BspSelect(enum.Enum): - BSP_HOSTED = enum.auto() - BSP_LINUX = enum.auto() - BSP_STM32_FREERTOS = enum.auto() - BSP_STM32_RTEMS = enum.auto() +def determine_obsw_root_path() -> str: + for _ in range(5): + if os.path.exists("CMakeLists.txt"): + return os.path.abspath(os.curdir) + else: + os.chdir("..") -BspFolderDict = { - BspSelect.BSP_HOSTED.value: "bsp_hosted", - BspSelect.BSP_LINUX.value: "bsp_linux", - BspSelect.BSP_STM32_FREERTOS.value: "bsp_stm32_freertos", - BspSelect.BSP_STM32_RTEMS.value: "bsp_stm32_rtems", -} +PATH_VAR_ROOT = os.path.dirname(os.path.realpath(__file__)) +ROOT_DIR = PATH_VAR_ROOT +OBSW_ROOT_DIR = Path(determine_obsw_root_path()) +COMMON_SUBMODULE_NAME = "example_common" +EXAMPLE_COMMON_DIR = f"{OBSW_ROOT_DIR}/{COMMON_SUBMODULE_NAME}" +DATABASE_NAME = "eive_mod.db" +BSP_HOSTED = "bsp_hosted" diff --git a/generators/events/event_parser.py b/generators/events/event_parser.py index 743a9b1..cd803d8 100644 --- a/generators/events/event_parser.py +++ b/generators/events/event_parser.py @@ -1,26 +1,23 @@ -#! /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 FSFW 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 +import os -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.utility.file_management import copy_file +from fsfwgen.core import get_console_logger +from definitions import BSP_HOSTED, ROOT_DIR, OBSW_ROOT_DIR, EXAMPLE_COMMON_DIR -from definitions import BspSelect, BspFolderDict - -# TODO: Ask from user or store in json file? -BSP_SELECT = BspSelect.BSP_HOSTED.value -BSP_FOLDER = BspFolderDict[BSP_SELECT] +LOGGER = get_console_logger() DATE_TODAY = datetime.datetime.now() DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") @@ -33,49 +30,68 @@ MOVE_CSV_FILE = True PARSE_HOST_BSP = True -CSV_FILENAME = f"{BSP_FOLDER}_events.csv" -CSV_MOVE_DESTINATION = "../" +# Store these files relative to the events folder +CPP_FILENAME = f"{os.path.dirname(os.path.realpath(__file__))}/translateEvents.cpp" +CPP_H_FILENAME = f"{os.path.dirname(os.path.realpath(__file__))}/translateEvents.h" -CPP_FILENAME = "translateEvents.cpp" -CPP_H_FILENAME = "translateEvents.h" - -CPP_COPY_DESTINATION = f"../../{BSP_FOLDER}/fsfwconfig/events/" +# Store this file in the root of the generators folder +CSV_FILENAME = f"{ROOT_DIR}/{BSP_HOSTED}_events.csv" +CSV_COPY_DEST = f"{OBSW_ROOT_DIR}/tmtc/config/events.csv" +FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/bsp_hosted/fsfwconfig" +CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/events/" FILE_SEPARATOR = ";" SUBSYSTEM_DEFINITION_DESTINATIONS = [ - f"../../{BSP_FOLDER}/fsfwconfig/events/subsystemIdRanges.h", - "../../fsfw/events/fwSubsystemIdRanges.h", - "../../example_common/config/commonSubsystemIds.h" + f"{FSFW_CONFIG_ROOT}/events/subsystemIdRanges.h", + f"{OBSW_ROOT_DIR}/fsfw/src/fsfw/events/fwSubsystemIdRanges.h", + f"{EXAMPLE_COMMON_DIR}/config/commonSubsystemIds.h", +] +HEADER_DEFINITION_DESTINATIONS = [ + f"{OBSW_ROOT_DIR}/bsp_hosted", + f"{OBSW_ROOT_DIR}/fsfw/", + f"{FSFW_CONFIG_ROOT}" ] -HEADER_DEFINITION_DESTINATIONS = ["../../example_common/", "../../fsfw/", f"../../{BSP_FOLDER}"] - -def main(): - print("EventParser: Parsing events: ") - event_list = parse_events() - if GENERATE_CSV: +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 MOVE_CSV_FILE: - move_file(file_name=CSV_FILENAME, destination=CSV_MOVE_DESTINATION) - if GENERATE_CPP: + LOGGER.info(f"Copying CSV file to {CSV_COPY_DEST}") + copy_file( + filename=CSV_FILENAME, destination=CSV_COPY_DEST, delete_existing_file=True + ) + + 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 + 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 CPP translation 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( @@ -84,13 +100,9 @@ def parse_events(): # PrettyPrinter.pprint(event_headers) # myEventList = parseHeaderFiles(subsystem_table, event_headers) event_parser = EventParser(event_headers, subsystem_table) + event_parser.obsw_root_path = OBSW_ROOT_DIR 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 4b31b0e..6e6ef9d 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 78 translations. * @details - * Generated on: 2021-06-21 16:09:15 + * Generated on: 2022-05-20 09:11:07 */ #include "translateEvents.h" @@ -59,7 +59,6 @@ const char *MONITOR_CHANGED_STATE_STRING = "MONITOR_CHANGED_STATE"; const char *VALUE_BELOW_LOW_LIMIT_STRING = "VALUE_BELOW_LOW_LIMIT"; const char *VALUE_ABOVE_HIGH_LIMIT_STRING = "VALUE_ABOVE_HIGH_LIMIT"; const char *VALUE_OUT_OF_RANGE_STRING = "VALUE_OUT_OF_RANGE"; -const char *SWITCHING_TM_FAILED_STRING = "SWITCHING_TM_FAILED"; const char *CHANGING_MODE_STRING = "CHANGING_MODE"; const char *MODE_INFO_STRING = "MODE_INFO"; const char *FALLBACK_FAILED_STRING = "FALLBACK_FAILED"; @@ -83,167 +82,168 @@ const char *FRAME_PROCESSING_FAILED_STRING = "FRAME_PROCESSING_FAILED"; const char *CLOCK_SET_STRING = "CLOCK_SET"; const char *CLOCK_SET_FAILURE_STRING = "CLOCK_SET_FAILURE"; const char *TEST_STRING = "TEST"; +const char *CHANGE_OF_SETUP_PARAMETER_STRING = "CHANGE_OF_SETUP_PARAMETER"; -const char * translateEvents(Event event) { - switch( (event & 0xffff) ) { - case(2200): - return STORE_SEND_WRITE_FAILED_STRING; - case(2201): - return STORE_WRITE_FAILED_STRING; - case(2202): - return STORE_SEND_READ_FAILED_STRING; - case(2203): - return STORE_READ_FAILED_STRING; - case(2204): - return UNEXPECTED_MSG_STRING; - case(2205): - return STORING_FAILED_STRING; - case(2206): - return TM_DUMP_FAILED_STRING; - case(2207): - return STORE_INIT_FAILED_STRING; - case(2208): - return STORE_INIT_EMPTY_STRING; - case(2209): - return STORE_CONTENT_CORRUPTED_STRING; - case(2210): - return STORE_INITIALIZE_STRING; - case(2211): - return INIT_DONE_STRING; - case(2212): - return DUMP_FINISHED_STRING; - case(2213): - return DELETION_FINISHED_STRING; - case(2214): - return DELETION_FAILED_STRING; - case(2215): - return AUTO_CATALOGS_SENDING_FAILED_STRING; - case(2600): - return GET_DATA_FAILED_STRING; - case(2601): - return STORE_DATA_FAILED_STRING; - case(2800): - return DEVICE_BUILDING_COMMAND_FAILED_STRING; - case(2801): - return DEVICE_SENDING_COMMAND_FAILED_STRING; - case(2802): - return DEVICE_REQUESTING_REPLY_FAILED_STRING; - case(2803): - return DEVICE_READING_REPLY_FAILED_STRING; - case(2804): - return DEVICE_INTERPRETING_REPLY_FAILED_STRING; - case(2805): - return DEVICE_MISSED_REPLY_STRING; - case(2806): - return DEVICE_UNKNOWN_REPLY_STRING; - case(2807): - return DEVICE_UNREQUESTED_REPLY_STRING; - case(2808): - return INVALID_DEVICE_COMMAND_STRING; - case(2809): - return MONITORING_LIMIT_EXCEEDED_STRING; - case(2810): - return MONITORING_AMBIGUOUS_STRING; - case(4201): - return FUSE_CURRENT_HIGH_STRING; - case(4202): - return FUSE_WENT_OFF_STRING; - case(4204): - return POWER_ABOVE_HIGH_LIMIT_STRING; - case(4205): - return POWER_BELOW_LOW_LIMIT_STRING; - case(4300): - return SWITCH_WENT_OFF_STRING; - case(5000): - return HEATER_ON_STRING; - case(5001): - return HEATER_OFF_STRING; - case(5002): - return HEATER_TIMEOUT_STRING; - case(5003): - return HEATER_STAYED_ON_STRING; - case(5004): - return HEATER_STAYED_OFF_STRING; - case(5200): - return TEMP_SENSOR_HIGH_STRING; - case(5201): - return TEMP_SENSOR_LOW_STRING; - case(5202): - return TEMP_SENSOR_GRADIENT_STRING; - case(5901): - return COMPONENT_TEMP_LOW_STRING; - case(5902): - return COMPONENT_TEMP_HIGH_STRING; - case(5903): - return COMPONENT_TEMP_OOL_LOW_STRING; - case(5904): - return COMPONENT_TEMP_OOL_HIGH_STRING; - case(5905): - return TEMP_NOT_IN_OP_RANGE_STRING; - case(7101): - return FDIR_CHANGED_STATE_STRING; - case(7102): - return FDIR_STARTS_RECOVERY_STRING; - case(7103): - return FDIR_TURNS_OFF_DEVICE_STRING; - case(7201): - return MONITOR_CHANGED_STATE_STRING; - case(7202): - return VALUE_BELOW_LOW_LIMIT_STRING; - case(7203): - return VALUE_ABOVE_HIGH_LIMIT_STRING; - case(7204): - return VALUE_OUT_OF_RANGE_STRING; - case(7301): - return SWITCHING_TM_FAILED_STRING; - case(7400): - return CHANGING_MODE_STRING; - case(7401): - return MODE_INFO_STRING; - case(7402): - return FALLBACK_FAILED_STRING; - case(7403): - return MODE_TRANSITION_FAILED_STRING; - case(7404): - return CANT_KEEP_MODE_STRING; - case(7405): - return OBJECT_IN_INVALID_MODE_STRING; - case(7406): - return FORCING_MODE_STRING; - case(7407): - return MODE_CMD_REJECTED_STRING; - case(7506): - return HEALTH_INFO_STRING; - case(7507): - return CHILD_CHANGED_HEALTH_STRING; - case(7508): - return CHILD_PROBLEMS_STRING; - case(7509): - return OVERWRITING_HEALTH_STRING; - case(7510): - return TRYING_RECOVERY_STRING; - case(7511): - return RECOVERY_STEP_STRING; - case(7512): - return RECOVERY_DONE_STRING; - case(7900): - return RF_AVAILABLE_STRING; - case(7901): - return RF_LOST_STRING; - case(7902): - return BIT_LOCK_STRING; - case(7903): - return BIT_LOCK_LOST_STRING; - case(7905): - return FRAME_PROCESSING_FAILED_STRING; - case(8900): - return CLOCK_SET_STRING; - case(8901): - return CLOCK_SET_FAILURE_STRING; - case(9700): - return TEST_STRING; - default: - return "UNKNOWN_EVENT"; - } - return 0; +const char *translateEvents(Event event) { + switch ((event & 0xFFFF)) { + case (2200): + return STORE_SEND_WRITE_FAILED_STRING; + case (2201): + return STORE_WRITE_FAILED_STRING; + case (2202): + return STORE_SEND_READ_FAILED_STRING; + case (2203): + return STORE_READ_FAILED_STRING; + case (2204): + return UNEXPECTED_MSG_STRING; + case (2205): + return STORING_FAILED_STRING; + case (2206): + return TM_DUMP_FAILED_STRING; + case (2207): + return STORE_INIT_FAILED_STRING; + case (2208): + return STORE_INIT_EMPTY_STRING; + case (2209): + return STORE_CONTENT_CORRUPTED_STRING; + case (2210): + return STORE_INITIALIZE_STRING; + case (2211): + return INIT_DONE_STRING; + case (2212): + return DUMP_FINISHED_STRING; + case (2213): + return DELETION_FINISHED_STRING; + case (2214): + return DELETION_FAILED_STRING; + case (2215): + return AUTO_CATALOGS_SENDING_FAILED_STRING; + case (2600): + return GET_DATA_FAILED_STRING; + case (2601): + return STORE_DATA_FAILED_STRING; + case (2800): + return DEVICE_BUILDING_COMMAND_FAILED_STRING; + case (2801): + return DEVICE_SENDING_COMMAND_FAILED_STRING; + case (2802): + return DEVICE_REQUESTING_REPLY_FAILED_STRING; + case (2803): + return DEVICE_READING_REPLY_FAILED_STRING; + case (2804): + return DEVICE_INTERPRETING_REPLY_FAILED_STRING; + case (2805): + return DEVICE_MISSED_REPLY_STRING; + case (2806): + return DEVICE_UNKNOWN_REPLY_STRING; + case (2807): + return DEVICE_UNREQUESTED_REPLY_STRING; + case (2808): + return INVALID_DEVICE_COMMAND_STRING; + case (2809): + return MONITORING_LIMIT_EXCEEDED_STRING; + case (2810): + return MONITORING_AMBIGUOUS_STRING; + case (4201): + return FUSE_CURRENT_HIGH_STRING; + case (4202): + return FUSE_WENT_OFF_STRING; + case (4204): + return POWER_ABOVE_HIGH_LIMIT_STRING; + case (4205): + return POWER_BELOW_LOW_LIMIT_STRING; + case (4300): + return SWITCH_WENT_OFF_STRING; + case (5000): + return HEATER_ON_STRING; + case (5001): + return HEATER_OFF_STRING; + case (5002): + return HEATER_TIMEOUT_STRING; + case (5003): + return HEATER_STAYED_ON_STRING; + case (5004): + return HEATER_STAYED_OFF_STRING; + case (5200): + return TEMP_SENSOR_HIGH_STRING; + case (5201): + return TEMP_SENSOR_LOW_STRING; + case (5202): + return TEMP_SENSOR_GRADIENT_STRING; + case (5901): + return COMPONENT_TEMP_LOW_STRING; + case (5902): + return COMPONENT_TEMP_HIGH_STRING; + case (5903): + return COMPONENT_TEMP_OOL_LOW_STRING; + case (5904): + return COMPONENT_TEMP_OOL_HIGH_STRING; + case (5905): + return TEMP_NOT_IN_OP_RANGE_STRING; + case (7101): + return FDIR_CHANGED_STATE_STRING; + case (7102): + return FDIR_STARTS_RECOVERY_STRING; + case (7103): + return FDIR_TURNS_OFF_DEVICE_STRING; + case (7201): + return MONITOR_CHANGED_STATE_STRING; + case (7202): + return VALUE_BELOW_LOW_LIMIT_STRING; + case (7203): + return VALUE_ABOVE_HIGH_LIMIT_STRING; + case (7204): + return VALUE_OUT_OF_RANGE_STRING; + case (7400): + return CHANGING_MODE_STRING; + case (7401): + return MODE_INFO_STRING; + case (7402): + return FALLBACK_FAILED_STRING; + case (7403): + return MODE_TRANSITION_FAILED_STRING; + case (7404): + return CANT_KEEP_MODE_STRING; + case (7405): + return OBJECT_IN_INVALID_MODE_STRING; + case (7406): + return FORCING_MODE_STRING; + case (7407): + return MODE_CMD_REJECTED_STRING; + case (7506): + return HEALTH_INFO_STRING; + case (7507): + return CHILD_CHANGED_HEALTH_STRING; + case (7508): + return CHILD_PROBLEMS_STRING; + case (7509): + return OVERWRITING_HEALTH_STRING; + case (7510): + return TRYING_RECOVERY_STRING; + case (7511): + return RECOVERY_STEP_STRING; + case (7512): + return RECOVERY_DONE_STRING; + case (7900): + return RF_AVAILABLE_STRING; + case (7901): + return RF_LOST_STRING; + case (7902): + return BIT_LOCK_STRING; + case (7903): + return BIT_LOCK_LOST_STRING; + case (7905): + return FRAME_PROCESSING_FAILED_STRING; + case (8900): + return CLOCK_SET_STRING; + case (8901): + return CLOCK_SET_FAILURE_STRING; + case (9700): + return TEST_STRING; + case (10600): + return CHANGE_OF_SETUP_PARAMETER_STRING; + default: + return "UNKNOWN_EVENT"; + } + return 0; } diff --git a/generators/events/translateEvents.h b/generators/events/translateEvents.h index 9034dcf..9955431 100644 --- a/generators/events/translateEvents.h +++ b/generators/events/translateEvents.h @@ -1,8 +1,8 @@ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ -#include +#include "fsfw/events/Event.h" -const char * translateEvents(Event event); +const char *translateEvents(Event event); #endif /* FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ */ diff --git a/generators/fsfwgen b/generators/fsfwgen index e6f5ff1..169ad98 160000 --- a/generators/fsfwgen +++ b/generators/fsfwgen @@ -1 +1 @@ -Subproject commit e6f5ff18129984b591a6a286968b1ace42c278b2 +Subproject commit 169ad98cdeebe3ccfd1b78938934496a20b6a294 diff --git a/generators/gen.py b/generators/gen.py new file mode 100755 index 0000000..2bd9acd --- /dev/null +++ b/generators/gen.py @@ -0,0 +1,42 @@ +#!/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(project_string="FSFW") + 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() + elif args.type == "all": + LOGGER.info("Generating all data") + parse_objects() + parse_events() + parse_returnvalues() + + +if __name__ == "__main__": + main() diff --git a/generators/objects/objects.py b/generators/objects/objects.py deleted file mode 100644 index b3b19ca..0000000 --- a/generators/objects/objects.py +++ /dev/null @@ -1,109 +0,0 @@ -#! /usr/bin/env python3 -""" -@file objects.py -@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat. -@details -Object 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 - -from fsfwgen.objects.objects import ObjectDefinitionParser, sql_object_exporter, write_translation_file, \ - export_object_file, write_translation_header_file -from fsfwgen.utility.printer import PrettyPrinter -from fsfwgen.utility.file_management import copy_file, move_file -from definitions import DATABASE_NAME, BspSelect, BspFolderDict - -DATE_TODAY = datetime.datetime.now() -DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") - -GENERATE_CSV = True -MOVE_CSV = True - -GENERATE_CPP = True -COPY_CPP = True - -GENERATE_HEADER = True - -PARSE_HOST_BSP = False - -EXPORT_TO_SQL = True - -BSP_SELECT = BspSelect.BSP_HOSTED.value -BSP_FOLDER = BspFolderDict[BSP_SELECT] - -CPP_COPY_DESTINATION = f"../../{BSP_FOLDER}/fsfwconfig/objects/" -CSV_MOVE_DESTINATION = "../" -CPP_FILENAME = "translateObjects.cpp" -CPP_H_FILENAME = "translateObjects.h" -CSV_OBJECT_FILENAME = f"{BSP_FOLDER}_objects.csv" -FILE_SEPARATOR = ";" - - -OBJECTS_PATH = f"../../{BSP_FOLDER}/fsfwconfig/objects/systemObjectList.h" -FRAMEWORK_OBJECTS_PATH = "../../fsfw/objectmanager/frameworkObjects.h" -COMMON_OBJECTS_PATH = "../../common/config/commonSystemObjects.h" -OBJECTS_DEFINITIONS = [OBJECTS_PATH, FRAMEWORK_OBJECTS_PATH, COMMON_OBJECTS_PATH] - -SQL_DELETE_OBJECTS_CMD = """ - DROP TABLE IF EXISTS Objects - """ - -SQL_CREATE_OBJECTS_CMD = """ - CREATE TABLE IF NOT EXISTS Objects( - id INTEGER PRIMARY KEY, - objectid TEXT, - name TEXT - ) - """ - -SQL_INSERT_INTO_OBJECTS_CMD = """ -INSERT INTO Objects(objectid, name) -VALUES(?,?) -""" - - -def main(): - print("Parsing objects: ") - list_items = parse_objects() - handle_file_export(list_items) - if EXPORT_TO_SQL: - print("ObjectParser: Exporting to SQL") - sql_object_exporter( - object_table=list_items, delete_cmd=SQL_DELETE_OBJECTS_CMD, insert_cmd=SQL_INSERT_INTO_OBJECTS_CMD, - create_cmd=SQL_CREATE_OBJECTS_CMD, db_filename=f"../{DATABASE_NAME}" - ) - - -def parse_objects(): - # fetch objects - object_parser = ObjectDefinitionParser(OBJECTS_DEFINITIONS) - subsystem_definitions = object_parser.parse_files() - # id_subsystem_definitions.update(framework_subsystem_definitions) - list_items = sorted(subsystem_definitions.items()) - PrettyPrinter.pprint(list_items) - print("ObjectParser: Number of objects: ", len(list_items)) - return list_items - - -def handle_file_export(list_items): - if GENERATE_CPP: - print("ObjectParser: Generating translation C++ file.") - write_translation_file(filename=CPP_FILENAME, list_of_entries=list_items, date_string_full=DATE_STRING_FULL) - if COPY_CPP: - print("ObjectParser: Copying object file to " + CPP_COPY_DESTINATION) - copy_file(CPP_FILENAME, CPP_COPY_DESTINATION) - if GENERATE_HEADER: - write_translation_header_file(filename=CPP_H_FILENAME) - copy_file(filename=CPP_H_FILENAME, destination=CPP_COPY_DESTINATION) - if GENERATE_CSV: - print("ObjectParser: Generating text export.") - export_object_file(filename=CSV_OBJECT_FILENAME, object_list=list_items, file_separator=FILE_SEPARATOR) - if MOVE_CSV: - move_file(file_name=CSV_OBJECT_FILENAME, destination=CSV_MOVE_DESTINATION) - - -if __name__ == "__main__": - main() diff --git a/generators/returnvalues/returnvalues_parser.py b/generators/returnvalues/returnvalues_parser.py deleted file mode 100644 index ff2f9e1..0000000 --- a/generators/returnvalues/returnvalues_parser.py +++ /dev/null @@ -1,102 +0,0 @@ -#! /usr/bin/python3 -# -*- coding: utf-8 -*- -""" -:file: returnvalues_parser.py -:brief: Part of the MOD export tools for the SOURCE project by KSat. -TODO: Integrate into Parser Structure instead of calling this file (no cpp file generated yet) -:details: -Returnvalue exporter. -To use MySQLdb, run pip install mysqlclient or install in IDE. On Windows, Build Tools installation might be necessary. -:data: 21.11.2019 -""" -from fsfwgen.parserbase.file_list_parser import FileListParser -from fsfwgen.returnvalues.returnvalues_parser import InterfaceParser, ReturnValueParser -from fsfwgen.utility.sql_writer import SqlWriter -from fsfwgen.utility.file_management import move_file - -from definitions import DATABASE_NAME, BspSelect, BspFolderDict - -EXPORT_TO_FILE = True -MOVE_CSV_FILE = True -EXPORT_TO_SQL = True -PRINT_TABLES = True - -BSP_SELECT = BspSelect.BSP_HOSTED.value -BSP_FOLDER = BspFolderDict[BSP_SELECT] - -CSV_RETVAL_FILENAME = f"{BSP_FOLDER}_returnvalues.csv" -CSV_MOVE_DESTINATION = "../" -FILE_SEPARATOR = ';' -MAX_STRING_LENGTH = 32 -INTERFACE_DEFINITION_FILES = [ - "../../fsfw/returnvalues/FwClassIds.h", - "../../example_common/config/commonClassIds.h", - f"../../{BSP_FOLDER}/fsfwconfig/returnvalues/classIds.h" -] -RETURNVALUE_DESTINATIONS = [ - "../../example_common/", "../../fsfw/", f"../../{BSP_FOLDER}" -] - -SQL_DELETE_RETURNVALUES_CMD = """ - DROP TABLE IF EXISTS Returnvalues -""" - -SQL_CREATE_RETURNVALUES_CMD = """ - CREATE TABLE IF NOT EXISTS Returnvalues ( - id INTEGER PRIMARY KEY, - code TEXT, - name TEXT, - interface TEXT, - file TEXT, - description TEXT - ) -""" - -SQL_INSERT_RETURNVALUES_CMD = """ -INSERT INTO Returnvalues(code,name,interface,file,description) -VALUES(?,?,?,?,?) -""" - - -def main(): - returnvalue_table = parse_returnvalues() - print("") - if EXPORT_TO_FILE: - ReturnValueParser.export_to_file(CSV_RETVAL_FILENAME, returnvalue_table, FILE_SEPARATOR) - if MOVE_CSV_FILE: - move_file(file_name=CSV_RETVAL_FILENAME, destination=CSV_MOVE_DESTINATION) - if EXPORT_TO_SQL: - print("ReturnvalueParser: Exporting to SQL") - sql_retval_exporter(returnvalue_table, db_filename=f"../{DATABASE_NAME}") - - -def parse_returnvalues(): - """ Core function to parse for the return values """ - interface_parser = InterfaceParser(file_list=INTERFACE_DEFINITION_FILES, print_table=PRINT_TABLES) - interfaces = interface_parser.parse_files() - header_parser = FileListParser(RETURNVALUE_DESTINATIONS) - header_list = header_parser.parse_header_files(True, "Parsing header file list: ") - print("") - returnvalue_parser = ReturnValueParser(interfaces, header_list, PRINT_TABLES) - returnvalue_parser.set_moving_window_mode(moving_window_size=7) - returnvalue_table = returnvalue_parser.parse_files(True) - print(f"ReturnvalueParser: Found {len(returnvalue_table)} returnvalues.") - return returnvalue_table - - -def sql_retval_exporter(returnvalue_table, db_filename: str): - sql_writer = SqlWriter(db_filename=db_filename) - sql_writer.open(SQL_CREATE_RETURNVALUES_CMD) - for entry in returnvalue_table.items(): - sql_writer.write_entries( - SQL_INSERT_RETURNVALUES_CMD, (entry[0], - entry[1][2], - entry[1][4], - entry[1][3], - entry[1][1])) - sql_writer.commit() - sql_writer.close() - - -if __name__ == "__main__": - main() diff --git a/tmtc/config/events.csv b/tmtc/config/events.csv new file mode 100644 index 0000000..50b84af --- /dev/null +++ b/tmtc/config/events.csv @@ -0,0 +1,78 @@ +2200;0x0898;STORE_SEND_WRITE_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2201;0x0899;STORE_WRITE_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2202;0x089a;STORE_SEND_READ_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2203;0x089b;STORE_READ_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2204;0x089c;UNEXPECTED_MSG;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2205;0x089d;STORING_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2206;0x089e;TM_DUMP_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2207;0x089f;STORE_INIT_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2208;0x08a0;STORE_INIT_EMPTY;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2209;0x08a1;STORE_CONTENT_CORRUPTED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2210;0x08a2;STORE_INITIALIZE;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2211;0x08a3;INIT_DONE;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2212;0x08a4;DUMP_FINISHED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2213;0x08a5;DELETION_FINISHED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2214;0x08a6;DELETION_FAILED;LOW;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2215;0x08a7;AUTO_CATALOGS_SENDING_FAILED;INFO;;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h +2600;0x0a28;GET_DATA_FAILED;LOW;;fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2601;0x0a29;STORE_DATA_FAILED;LOW;;fsfw/src/fsfw/storagemanager/StorageManagerIF.h +2800;0x0af0;DEVICE_BUILDING_COMMAND_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2801;0x0af1;DEVICE_SENDING_COMMAND_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2802;0x0af2;DEVICE_REQUESTING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2803;0x0af3;DEVICE_READING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2804;0x0af4;DEVICE_INTERPRETING_REPLY_FAILED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2805;0x0af5;DEVICE_MISSED_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2806;0x0af6;DEVICE_UNKNOWN_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2807;0x0af7;DEVICE_UNREQUESTED_REPLY;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2808;0x0af8;INVALID_DEVICE_COMMAND;LOW;Indicates a SW bug in child class.;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2809;0x0af9;MONITORING_LIMIT_EXCEEDED;LOW;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +2810;0x0afa;MONITORING_AMBIGUOUS;HIGH;;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h +4201;0x1069;FUSE_CURRENT_HIGH;LOW;;fsfw/src/fsfw/power/Fuse.h +4202;0x106a;FUSE_WENT_OFF;LOW;;fsfw/src/fsfw/power/Fuse.h +4204;0x106c;POWER_ABOVE_HIGH_LIMIT;LOW;;fsfw/src/fsfw/power/Fuse.h +4205;0x106d;POWER_BELOW_LOW_LIMIT;LOW;;fsfw/src/fsfw/power/Fuse.h +4300;0x10cc;SWITCH_WENT_OFF;LOW;;fsfw/src/fsfw/power/PowerSwitchIF.h +5000;0x1388;HEATER_ON;INFO;;fsfw/src/fsfw/thermal/Heater.h +5001;0x1389;HEATER_OFF;INFO;;fsfw/src/fsfw/thermal/Heater.h +5002;0x138a;HEATER_TIMEOUT;LOW;;fsfw/src/fsfw/thermal/Heater.h +5003;0x138b;HEATER_STAYED_ON;LOW;;fsfw/src/fsfw/thermal/Heater.h +5004;0x138c;HEATER_STAYED_OFF;LOW;;fsfw/src/fsfw/thermal/Heater.h +5200;0x1450;TEMP_SENSOR_HIGH;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5201;0x1451;TEMP_SENSOR_LOW;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5202;0x1452;TEMP_SENSOR_GRADIENT;LOW;;fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h +5901;0x170d;COMPONENT_TEMP_LOW;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5902;0x170e;COMPONENT_TEMP_HIGH;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5903;0x170f;COMPONENT_TEMP_OOL_LOW;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5904;0x1710;COMPONENT_TEMP_OOL_HIGH;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +5905;0x1711;TEMP_NOT_IN_OP_RANGE;LOW;;fsfw/src/fsfw/thermal/ThermalComponentIF.h +7101;0x1bbd;FDIR_CHANGED_STATE;INFO;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7102;0x1bbe;FDIR_STARTS_RECOVERY;MEDIUM;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7103;0x1bbf;FDIR_TURNS_OFF_DEVICE;MEDIUM;;fsfw/src/fsfw/fdir/FailureIsolationBase.h +7201;0x1c21;MONITOR_CHANGED_STATE;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7202;0x1c22;VALUE_BELOW_LOW_LIMIT;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7203;0x1c23;VALUE_ABOVE_HIGH_LIMIT;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7204;0x1c24;VALUE_OUT_OF_RANGE;LOW;;fsfw/src/fsfw/monitoring/MonitoringIF.h +7400;0x1ce8;CHANGING_MODE;INFO;;fsfw/src/fsfw/modes/HasModesIF.h +7401;0x1ce9;MODE_INFO;INFO;;fsfw/src/fsfw/modes/HasModesIF.h +7402;0x1cea;FALLBACK_FAILED;HIGH;;fsfw/src/fsfw/modes/HasModesIF.h +7403;0x1ceb;MODE_TRANSITION_FAILED;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7404;0x1cec;CANT_KEEP_MODE;HIGH;;fsfw/src/fsfw/modes/HasModesIF.h +7405;0x1ced;OBJECT_IN_INVALID_MODE;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7406;0x1cee;FORCING_MODE;MEDIUM;;fsfw/src/fsfw/modes/HasModesIF.h +7407;0x1cef;MODE_CMD_REJECTED;LOW;;fsfw/src/fsfw/modes/HasModesIF.h +7506;0x1d52;HEALTH_INFO;INFO;;fsfw/src/fsfw/health/HasHealthIF.h +7507;0x1d53;CHILD_CHANGED_HEALTH;INFO;;fsfw/src/fsfw/health/HasHealthIF.h +7508;0x1d54;CHILD_PROBLEMS;LOW;;fsfw/src/fsfw/health/HasHealthIF.h +7509;0x1d55;OVERWRITING_HEALTH;LOW;;fsfw/src/fsfw/health/HasHealthIF.h +7510;0x1d56;TRYING_RECOVERY;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7511;0x1d57;RECOVERY_STEP;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7512;0x1d58;RECOVERY_DONE;MEDIUM;;fsfw/src/fsfw/health/HasHealthIF.h +7900;0x1edc;RF_AVAILABLE;INFO;A RF available signal was detected. P1: raw RFA state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7901;0x1edd;RF_LOST;INFO;A previously found RF available signal was lost. P1: raw RFA state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7902;0x1ede;BIT_LOCK;INFO;A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7903;0x1edf;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +7905;0x1ee1;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h +8900;0x22c4;CLOCK_SET;INFO;;fsfw/src/fsfw/pus/Service9TimeManagement.h +8901;0x22c5;CLOCK_SET_FAILURE;LOW;;fsfw/src/fsfw/pus/Service9TimeManagement.h +9700;0x25e4;TEST;INFO;;fsfw/src/fsfw/pus/Service17Test.h +10600;0x2968;CHANGE_OF_SETUP_PARAMETER;LOW;;fsfw/hal/src/fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h