#ifndef LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ #define LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ #include #include #include #include "commonObjects.h" // The objects will be instantiated in the ID order // For naming scheme see flight manual /* https://egit.irs.uni-stuttgart.de/redmine/projects/eive-flight-manual/wiki/EIVE_Project_IDs Second byte first four bits is the subsystem: OBDH 0x0 ACS 0x1 EPS 0x2 PL 0x3 TCS 0x4 COM 0x5 Second byte last four bits is the bus: None 0x0 GPIO 0x1 SPI 0x2 UART 0x3 I2C 0x4 CAN 0x5 Third byte is an assembly counter if there are multiple redundant devices. Fourth byte is a unique counter. */ namespace objects { FSFW_CLASSLESS_ENUM(systemObjects, uint32_t, /* 0x53 reserved for FSFW */ ((PUS_SERVICE_6, 0x51000500, "PUS_SERVICE_6")) ((CCSDS_IP_CORE_BRIDGE, 0x73500000, "CCSDS_IP_CORE_BRIDGE")) ((TM_FUNNEL, 0x73000100, "TM_FUNNEL")) /* 0x49 ('I') for Communication Interfaces **/ ((ARDUINO_COM_IF, 0x49000000, "ARDUINO_COM_IF")) ((CSP_COM_IF, 0x49050001, "CSP_COM_IF")) ((I2C_COM_IF, 0x49040002, "I2C_COM_IF")) ((UART_COM_IF, 0x49030003, "UART_COM_IF")) ((SPI_MAIN_COM_IF, 0x49020004, "SPI_MAIN_COM_IF")) ((GPIO_IF, 0x49010005, "GPIO_IF")) ((SPI_RW_COM_IF, 0x49020005, "SPI_RW_COM_IF")) ((SPI_RTD_COM_IF, 0x49020006, "SPI_RTD_COM_IF")) /* 0x54 ('T') for test handlers */ ((TEST_TASK, 0x54694269, "TEST_TASK")) ((LIBGPIOD_TEST, 0x54123456, "LIBGPIOD_TEST")) ((SPI_TEST, 0x54000010, "SPI_TEST")) ((UART_TEST, 0x54000020, "UART_TEST")) ((I2C_TEST, 0x54000030, "I2C_TEST")) ((DUMMY_INTERFACE, 0x5400CAFE, "DUMMY_INTERFACE")) ((DUMMY_HANDLER, 0x5400AFFE, "DUMMY_HANDLER")) ((P60DOCK_TEST_TASK, 0x00005060, "P60DOCK_TEST_TASK")) ((DUMMY_COM_IF, 0x54000040, "DUMMY_COM_IF")) ) } #endif /* LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ */