#ifndef LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ #define LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ #include #include #include "eive/objects.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 { enum sourceObjects : uint32_t { /* 0x53 reserved for FSFW */ FW_ADDRESS_START = PUS_SERVICE_1_VERIFICATION, FW_ADDRESS_END = TIME_STAMPER, PUS_SERVICE_6 = 0x51000500, CCSDS_IP_CORE_BRIDGE = 0x73500000, TM_FUNNEL = 0x73000100, /* 0x49 ('I') for Communication Interfaces **/ ARDUINO_COM_IF = 0x49000000, CSP_COM_IF = 0x49050001, I2C_COM_IF = 0x49040002, UART_COM_IF = 0x49030003, SPI_MAIN_COM_IF = 0x49020004, GPIO_IF = 0x49010005, SCEX_UART_READER = 0x49010006, /* Custom device handler */ SPI_RW_COM_IF = 0x49020005, SPI_RTD_COM_IF = 0x49020006, /* 0x54 ('T') for test handlers */ TEST_TASK = 0x54694269, LIBGPIOD_TEST = 0x54123456, SPI_TEST = 0x54000010, UART_TEST = 0x54000020, I2C_TEST = 0x54000030, DUMMY_INTERFACE = 0x5400CAFE, DUMMY_HANDLER = 0x5400AFFE, P60DOCK_TEST_TASK = 0x00005060, DUMMY_COM_IF = 0x54000040 }; } #endif /* LINUX_FSFWCONFIG_OBJECTS_SYSTEMOBJECTLIST_H_ */