switching mission object ids to FSFW_CLASSLESS_ENUM

This commit is contained in:
Ulrich Mohr 2022-08-25 15:13:15 +02:00
parent 4a147a442c
commit 3c762e7437
3 changed files with 127 additions and 117 deletions

View File

@ -161,8 +161,17 @@ void initmission::initMission() {
sif::info << "Looping.." << std::endl; sif::info << "Looping.." << std::endl;
for (auto iter : *objectList) { for (auto iter : *objectList) {
//SystemObjects objectId(iter.first); const char * name = "UNKNOWN";
printf("Object \"%s\" (0x%08x)\n", "TODO", iter.first); objects::commonObjects commonObjectId(iter.first);
if (commonObjectId.isValid()){
name = commonObjectId.getDescription();
}
objects::systemObjects systemObject(iter.first);
if( systemObject.isValid()){
name = systemObject.getDescription();
}
printf("Object \"%s\" (0x%08x)\n", name, iter.first);
HasActionsIF* actionIf = dynamic_cast<HasActionsIF*>(iter.second); HasActionsIF* actionIf = dynamic_cast<HasActionsIF*>(iter.second);
if (actionIf != nullptr) { if (actionIf != nullptr) {

View File

@ -3,83 +3,85 @@
#include <cstdint> #include <cstdint>
#include <fsfw/introspection/ClasslessEnum.h>
namespace objects { namespace objects {
enum commonObjects : uint32_t { FSFW_CLASSLESS_ENUM(commonObjects, uint32_t,
/* First Byte 0x50-0x52 reserved for PUS Services **/ /* First Byte 0x50-0x52 reserved for PUS Services **/
CCSDS_PACKET_DISTRIBUTOR = 0x50000100, ((CCSDS_PACKET_DISTRIBUTOR, 0x50000100, "CCSDS_PACKET_DISTRIBUTOR"))
PUS_PACKET_DISTRIBUTOR = 0x50000200, ((PUS_PACKET_DISTRIBUTOR, 0x50000200, "PUS_PACKET_DISTRIBUTOR"))
TMTC_BRIDGE = 0x50000300, ((TMTC_BRIDGE, 0x50000300, "TMTC_BRIDGE"))
TMTC_POLLING_TASK = 0x50000400, ((TMTC_POLLING_TASK, 0x50000400, "TMTC_POLLING_TASK"))
FILE_SYSTEM_HANDLER = 0x50000500, ((FILE_SYSTEM_HANDLER, 0x50000500, "FILE_SYSTEM_HANDLER"))
SDC_MANAGER = 0x50000550, ((SDC_MANAGER, 0x50000550, "SDC_MANAGER"))
PTME = 0x50000600, ((PTME, 0x50000600, "PTME"))
PDEC_HANDLER = 0x50000700, ((PDEC_HANDLER, 0x50000700, "PDEC_HANDLER"))
CCSDS_HANDLER = 0x50000800, ((CCSDS_HANDLER, 0x50000800, "CCSDS_HANDLER"))
/* 0x43 ('C') for Controllers */ /* 0x43 ('C') for Controllers */
THERMAL_CONTROLLER = 0x43400001, ((THERMAL_CONTROLLER, 0x43400001, "THERMAL_CONTROLLER"))
ACS_CONTROLLER = 0x43000002, ((ACS_CONTROLLER, 0x43000002, "ACS_CONTROLLER"))
CORE_CONTROLLER = 0x43000003, ((CORE_CONTROLLER, 0x43000003, "CORE_CONTROLLER"))
/* 0x44 ('D') for device handlers */ /* 0x44 ('D') for device handlers */
MGM_0_LIS3_HANDLER = 0x44120006, ((MGM_0_LIS3_HANDLER, 0x44120006, "MGM_0_LIS3_HANDLER"))
MGM_1_RM3100_HANDLER = 0x44120107, ((MGM_1_RM3100_HANDLER, 0x44120107, "MGM_1_RM3100_HANDLER"))
MGM_2_LIS3_HANDLER = 0x44120208, ((MGM_2_LIS3_HANDLER, 0x44120208, "MGM_2_LIS3_HANDLER"))
MGM_3_RM3100_HANDLER = 0x44120309, ((MGM_3_RM3100_HANDLER, 0x44120309, "MGM_3_RM3100_HANDLER"))
GYRO_0_ADIS_HANDLER = 0x44120010, ((GYRO_0_ADIS_HANDLER, 0x44120010, "GYRO_0_ADIS_HANDLER"))
GYRO_1_L3G_HANDLER = 0x44120111, ((GYRO_1_L3G_HANDLER, 0x44120111, "GYRO_1_L3G_HANDLER"))
GYRO_2_ADIS_HANDLER = 0x44120212, ((GYRO_2_ADIS_HANDLER, 0x44120212, "GYRO_2_ADIS_HANDLER"))
GYRO_3_L3G_HANDLER = 0x44120313, ((GYRO_3_L3G_HANDLER, 0x44120313, "GYRO_3_L3G_HANDLER"))
RW1 = 0x44120047, ((RW1, 0x44120047, "RW1"))
RW2 = 0x44120148, ((RW2, 0x44120148, "RW2"))
RW3 = 0x44120249, ((RW3, 0x44120249, "RW3"))
RW4 = 0x44120350, ((RW4, 0x44120350, "RW4"))
STAR_TRACKER = 0x44130001, ((STAR_TRACKER, 0x44130001, "STAR_TRACKER"))
GPS_CONTROLLER = 0x44130045, ((GPS_CONTROLLER, 0x44130045, "GPS_CONTROLLER"))
IMTQ_HANDLER = 0x44140014, ((IMTQ_HANDLER, 0x44140014, "IMTQ_HANDLER"))
TMP1075_HANDLER_1 = 0x44420004, ((TMP1075_HANDLER_1, 0x44420004, "TMP1075_HANDLER_1"))
TMP1075_HANDLER_2 = 0x44420005, ((TMP1075_HANDLER_2, 0x44420005, "TMP1075_HANDLER_2"))
PCDU_HANDLER = 0x442000A1, ((PCDU_HANDLER, 0x442000A1, "PCDU_HANDLER"))
P60DOCK_HANDLER = 0x44250000, ((P60DOCK_HANDLER, 0x44250000, "P60DOCK_HANDLER"))
PDU1_HANDLER = 0x44250001, ((PDU1_HANDLER, 0x44250001, "PDU1_HANDLER"))
PDU2_HANDLER = 0x44250002, ((PDU2_HANDLER, 0x44250002, "PDU2_HANDLER"))
ACU_HANDLER = 0x44250003, ((ACU_HANDLER, 0x44250003, "ACU_HANDLER"))
BPX_BATT_HANDLER = 0x44260000, ((BPX_BATT_HANDLER, 0x44260000, "BPX_BATT_HANDLER"))
PLPCDU_HANDLER = 0x44300000, ((PLPCDU_HANDLER, 0x44300000, "PLPCDU_HANDLER"))
RAD_SENSOR = 0x443200A5, ((RAD_SENSOR, 0x443200A5, "RAD_SENSOR"))
PLOC_UPDATER = 0x44330000, ((PLOC_UPDATER, 0x44330000, "PLOC_UPDATER"))
PLOC_MEMORY_DUMPER = 0x44330001, ((PLOC_MEMORY_DUMPER, 0x44330001, "PLOC_MEMORY_DUMPER"))
STR_HELPER = 0x44330002, ((STR_HELPER, 0x44330002, "STR_HELPER"))
PLOC_MPSOC_HELPER = 0x44330003, ((PLOC_MPSOC_HELPER, 0x44330003, "PLOC_MPSOC_HELPER"))
AXI_PTME_CONFIG = 0x44330004, ((AXI_PTME_CONFIG, 0x44330004, "AXI_PTME_CONFIG"))
PTME_CONFIG = 0x44330005, ((PTME_CONFIG, 0x44330005, "PTME_CONFIG"))
PLOC_MPSOC_HANDLER = 0x44330015, ((PLOC_MPSOC_HANDLER, 0x44330015, "PLOC_MPSOC_HANDLER"))
PLOC_SUPERVISOR_HANDLER = 0x44330016, ((PLOC_SUPERVISOR_HANDLER, 0x44330016, "PLOC_SUPERVISOR_HANDLER"))
PLOC_SUPERVISOR_HELPER = 0x44330017, ((PLOC_SUPERVISOR_HELPER, 0x44330017, "PLOC_SUPERVISOR_HELPER"))
SOLAR_ARRAY_DEPL_HANDLER = 0x444100A2, ((SOLAR_ARRAY_DEPL_HANDLER, 0x444100A2, "SOLAR_ARRAY_DEPL_HANDLER"))
HEATER_HANDLER = 0x444100A4, ((HEATER_HANDLER, 0x444100A4, "HEATER_HANDLER"))
/** /**
* Not yet specified which pt1000 will measure which device/location in the satellite. * Not yet specified which pt1000 will measure which device/location in the satellite.
* Therefore object ids are named according to the IC naming of the RTDs in the schematic. * Therefore object ids are named according to the IC naming of the RTDs in the schematic.
*/ */
RTD_0_IC3_PLOC_HEATSPREADER = 0x44420016, ((RTD_0_IC3_PLOC_HEATSPREADER, 0x44420016, "RTD_0_IC3_PLOC_HEATSPREADER"))
RTD_1_IC4_PLOC_MISSIONBOARD = 0x44420017, ((RTD_1_IC4_PLOC_MISSIONBOARD, 0x44420017, "RTD_1_IC4_PLOC_MISSIONBOARD"))
RTD_2_IC5_4K_CAMERA = 0x44420018, ((RTD_2_IC5_4K_CAMERA, 0x44420018, "RTD_2_IC5_4K_CAMERA"))
RTD_3_IC6_DAC_HEATSPREADER = 0x44420019, ((RTD_3_IC6_DAC_HEATSPREADER, 0x44420019, "RTD_3_IC6_DAC_HEATSPREADER"))
RTD_4_IC7_STARTRACKER = 0x44420020, ((RTD_4_IC7_STARTRACKER, 0x44420020, "RTD_4_IC7_STARTRACKER"))
RTD_5_IC8_RW1_MX_MY = 0x44420021, ((RTD_5_IC8_RW1_MX_MY, 0x44420021, "RTD_5_IC8_RW1_MX_MY"))
RTD_6_IC9_DRO = 0x44420022, ((RTD_6_IC9_DRO, 0x44420022, "RTD_6_IC9_DRO"))
RTD_7_IC10_SCEX = 0x44420023, ((RTD_7_IC10_SCEX, 0x44420023, "RTD_7_IC10_SCEX"))
RTD_8_IC11_X8 = 0x44420024, ((RTD_8_IC11_X8, 0x44420024, "RTD_8_IC11_X8"))
RTD_9_IC12_HPA = 0x44420025, ((RTD_9_IC12_HPA, 0x44420025, "RTD_9_IC12_HPA"))
RTD_10_IC13_PL_TX = 0x44420026, ((RTD_10_IC13_PL_TX, 0x44420026, "RTD_10_IC13_PL_TX"))
RTD_11_IC14_MPA = 0x44420027, ((RTD_11_IC14_MPA, 0x44420027, "RTD_11_IC14_MPA"))
RTD_12_IC15_ACU = 0x44420028, ((RTD_12_IC15_ACU, 0x44420028, "RTD_12_IC15_ACU"))
RTD_13_IC16_PLPCDU_HEATSPREADER = 0x44420029, ((RTD_13_IC16_PLPCDU_HEATSPREADER, 0x44420029, "RTD_13_IC16_PLPCDU_HEATSPREADER"))
RTD_14_IC17_TCS_BOARD = 0x44420030, ((RTD_14_IC17_TCS_BOARD, 0x44420030, "RTD_14_IC17_TCS_BOARD"))
RTD_15_IC18_IMTQ = 0x44420031, ((RTD_15_IC18_IMTQ, 0x44420031, "RTD_15_IC18_IMTQ"))
// Name convention for SUS devices // Name convention for SUS devices
// SUS_<IDX>_<N/R>_LOC_X<F/M/B>Y<F/M/B>Z<F/M/B>_PT_<DIR><F/B> // SUS_<IDX>_<N/R>_LOC_X<F/M/B>Y<F/M/B>Z<F/M/B>_PT_<DIR><F/B>
@ -87,42 +89,42 @@ enum commonObjects : uint32_t {
// PT: Pointing // PT: Pointing
// N/R: Nominal/Redundant // N/R: Nominal/Redundant
// F/M/B: Forward/Middle/Backwards // F/M/B: Forward/Middle/Backwards
SUS_0_N_LOC_XFYFZM_PT_XF = 0x44120032, ((SUS_0_N_LOC_XFYFZM_PT_XF, 0x44120032, "SUS_0_N_LOC_XFYFZM_PT_XF"))
SUS_6_R_LOC_XFYBZM_PT_XF = 0x44120038, ((SUS_6_R_LOC_XFYBZM_PT_XF, 0x44120038, "SUS_6_R_LOC_XFYBZM_PT_XF"))
SUS_1_N_LOC_XBYFZM_PT_XB = 0x44120033, ((SUS_1_N_LOC_XBYFZM_PT_XB, 0x44120033, "SUS_1_N_LOC_XBYFZM_PT_XB"))
SUS_7_R_LOC_XBYBZM_PT_XB = 0x44120039, ((SUS_7_R_LOC_XBYBZM_PT_XB, 0x44120039, "SUS_7_R_LOC_XBYBZM_PT_XB"))
SUS_2_N_LOC_XFYBZB_PT_YB = 0x44120034, ((SUS_2_N_LOC_XFYBZB_PT_YB, 0x44120034, "SUS_2_N_LOC_XFYBZB_PT_YB"))
SUS_8_R_LOC_XBYBZB_PT_YB = 0x44120040, ((SUS_8_R_LOC_XBYBZB_PT_YB, 0x44120040, "SUS_8_R_LOC_XBYBZB_PT_YB"))
SUS_3_N_LOC_XFYBZF_PT_YF = 0x44120035, ((SUS_3_N_LOC_XFYBZF_PT_YF, 0x44120035, "SUS_3_N_LOC_XFYBZF_PT_YF"))
SUS_9_R_LOC_XBYBZB_PT_YF = 0x44120041, ((SUS_9_R_LOC_XBYBZB_PT_YF, 0x44120041, "SUS_9_R_LOC_XBYBZB_PT_YF"))
SUS_4_N_LOC_XMYFZF_PT_ZF = 0x44120036, ((SUS_4_N_LOC_XMYFZF_PT_ZF, 0x44120036, "SUS_4_N_LOC_XMYFZF_PT_ZF"))
SUS_10_N_LOC_XMYBZF_PT_ZF = 0x44120042, ((SUS_10_N_LOC_XMYBZF_PT_ZF, 0x44120042, "SUS_10_N_LOC_XMYBZF_PT_ZF"))
SUS_5_N_LOC_XFYMZB_PT_ZB = 0x44120037, ((SUS_5_N_LOC_XFYMZB_PT_ZB, 0x44120037, "SUS_5_N_LOC_XFYMZB_PT_ZB"))
SUS_11_R_LOC_XBYMZB_PT_ZB = 0x44120043, ((SUS_11_R_LOC_XBYMZB_PT_ZB, 0x44120043, "SUS_11_R_LOC_XBYMZB_PT_ZB"))
SYRLINKS_HK_HANDLER = 0x445300A3, ((SYRLINKS_HK_HANDLER, 0x445300A3, "SYRLINKS_HK_HANDLER"))
// 0x60 for other stuff // 0x60 for other stuff
HEATER_0_PLOC_PROC_BRD = 0x60000000, ((HEATER_0_PLOC_PROC_BRD, 0x60000000, "HEATER_0_PLOC_PROC_BRD"))
HEATER_1_PCDU_BRD = 0x60000001, ((HEATER_1_PCDU_BRD, 0x60000001, "HEATER_1_PCDU_BRD"))
HEATER_2_ACS_BRD = 0x60000002, ((HEATER_2_ACS_BRD, 0x60000002, "HEATER_2_ACS_BRD"))
HEATER_3_OBC_BRD = 0x60000003, ((HEATER_3_OBC_BRD, 0x60000003, "HEATER_3_OBC_BRD"))
HEATER_4_CAMERA = 0x60000004, ((HEATER_4_CAMERA, 0x60000004, "HEATER_4_CAMERA"))
HEATER_5_STR = 0x60000005, ((HEATER_5_STR, 0x60000005, "HEATER_5_STR"))
HEATER_6_DRO = 0x60000006, ((HEATER_6_DRO, 0x60000006, "HEATER_6_DRO"))
HEATER_7_HPA = 0x60000007, ((HEATER_7_HPA, 0x60000007, "HEATER_7_HPA"))
// 0x73 ('s') for assemblies and system/subsystem components // 0x73 ('s') for assemblies and system/subsystem components
ACS_BOARD_ASS = 0x73000001, ((ACS_BOARD_ASS, 0x73000001, "ACS_BOARD_ASS"))
SUS_BOARD_ASS = 0x73000002, ((SUS_BOARD_ASS, 0x73000002, "SUS_BOARD_ASS"))
TCS_BOARD_ASS = 0x73000003, ((TCS_BOARD_ASS, 0x73000003, "TCS_BOARD_ASS"))
RW_ASS = 0x73000004 ((RW_ASS, 0x73000004, "RW_ASS"))
}; )
} }
#endif /* COMMON_CONFIG_COMMONOBJECTS_H_ */ #endif /* COMMON_CONFIG_COMMONOBJECTS_H_ */

View File

@ -2,6 +2,7 @@
#define LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ #define LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_
#include <fsfw/objectmanager/frameworkObjects.h> #include <fsfw/objectmanager/frameworkObjects.h>
#include <fsfw/introspection/ClasslessEnum.h>
#include <cstdint> #include <cstdint>
@ -33,36 +34,34 @@ Fourth byte is a unique counter.
*/ */
namespace objects { namespace objects {
enum sourceObjects : uint32_t { FSFW_CLASSLESS_ENUM(systemObjects, uint32_t,
/* 0x53 reserved for FSFW */ /* 0x53 reserved for FSFW */
FW_ADDRESS_START = PUS_SERVICE_1_VERIFICATION, ((PUS_SERVICE_6, 0x51000500, "PUS_SERVICE_6"))
FW_ADDRESS_END = TIME_STAMPER,
PUS_SERVICE_6 = 0x51000500,
CCSDS_IP_CORE_BRIDGE = 0x73500000, ((CCSDS_IP_CORE_BRIDGE, 0x73500000, "CCSDS_IP_CORE_BRIDGE"))
TM_FUNNEL = 0x73000100, ((TM_FUNNEL, 0x73000100, "TM_FUNNEL"))
/* 0x49 ('I') for Communication Interfaces **/ /* 0x49 ('I') for Communication Interfaces **/
ARDUINO_COM_IF = 0x49000000, ((ARDUINO_COM_IF, 0x49000000, "ARDUINO_COM_IF"))
CSP_COM_IF = 0x49050001, ((CSP_COM_IF, 0x49050001, "CSP_COM_IF"))
I2C_COM_IF = 0x49040002, ((I2C_COM_IF, 0x49040002, "I2C_COM_IF"))
UART_COM_IF = 0x49030003, ((UART_COM_IF, 0x49030003, "UART_COM_IF"))
SPI_MAIN_COM_IF = 0x49020004, ((SPI_MAIN_COM_IF, 0x49020004, "SPI_MAIN_COM_IF"))
GPIO_IF = 0x49010005, ((GPIO_IF, 0x49010005, "GPIO_IF"))
SPI_RW_COM_IF = 0x49020005, ((SPI_RW_COM_IF, 0x49020005, "SPI_RW_COM_IF"))
SPI_RTD_COM_IF = 0x49020006, ((SPI_RTD_COM_IF, 0x49020006, "SPI_RTD_COM_IF"))
/* 0x54 ('T') for test handlers */ /* 0x54 ('T') for test handlers */
TEST_TASK = 0x54694269, ((TEST_TASK, 0x54694269, "TEST_TASK"))
LIBGPIOD_TEST = 0x54123456, ((LIBGPIOD_TEST, 0x54123456, "LIBGPIOD_TEST"))
SPI_TEST = 0x54000010, ((SPI_TEST, 0x54000010, "SPI_TEST"))
UART_TEST = 0x54000020, ((UART_TEST, 0x54000020, "UART_TEST"))
I2C_TEST = 0x54000030, ((I2C_TEST, 0x54000030, "I2C_TEST"))
DUMMY_INTERFACE = 0x5400CAFE, ((DUMMY_INTERFACE, 0x5400CAFE, "DUMMY_INTERFACE"))
DUMMY_HANDLER = 0x5400AFFE, ((DUMMY_HANDLER, 0x5400AFFE, "DUMMY_HANDLER"))
P60DOCK_TEST_TASK = 0x00005060, ((P60DOCK_TEST_TASK, 0x00005060, "P60DOCK_TEST_TASK"))
DUMMY_COM_IF = 0x54000040 ((DUMMY_COM_IF, 0x54000040, "DUMMY_COM_IF"))
}; )
} }
#endif /* LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ */ #endif /* LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ */