#ifndef COMMON_CONFIG_COMMONOBJECTS_H_
#define COMMON_CONFIG_COMMONOBJECTS_H_

#include <cstdint>

namespace objects {
enum commonObjects: uint32_t {
	/* First Byte 0x50-0x52 reserved for PUS Services **/
    CCSDS_PACKET_DISTRIBUTOR = 0x50000100,
    PUS_PACKET_DISTRIBUTOR = 0x50000200,
    UDP_BRIDGE = 0x50000300,
    UDP_POLLING_TASK = 0x50000400,
    FILE_SYSTEM_HANDLER = 0x50000500,

    /* 0x43 ('C') for Controllers */
    THERMAL_CONTROLLER = 0x43400001,
    ACS_CONTROLLER = 0x43100002,
    CORE_CONTROLLER = 0x43000003,

    /* 0x44 ('D') for device handlers */
    P60DOCK_HANDLER = 0x44250000,
    PDU1_HANDLER = 0x44250001,
    PDU2_HANDLER = 0x44250002,
    ACU_HANDLER = 0x44250003,
    TMP1075_HANDLER_1 = 0x44420004,
    TMP1075_HANDLER_2 = 0x44420005,
    MGM_0_LIS3_HANDLER = 0x44120006,
    MGM_1_RM3100_HANDLER = 0x44120107,
    MGM_2_LIS3_HANDLER = 0x44120208,
    MGM_3_RM3100_HANDLER = 0x44120309,
    GYRO_0_ADIS_HANDLER = 0x44120010,
    GYRO_1_L3G_HANDLER = 0x44120111,
    GYRO_2_ADIS_HANDLER = 0x44120212,
    GYRO_3_L3G_HANDLER = 0x44120313,

    IMTQ_HANDLER = 0x44140014,
    PLOC_MPSOC_HANDLER = 0x44330015,
    PLOC_SUPERVISOR_HANDLER = 0x44330016,

    /**
     * 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.
     */
    RTD_IC3 = 0x44420016,
    RTD_IC4 = 0x44420017,
    RTD_IC5 = 0x44420018,
    RTD_IC6 = 0x44420019,
    RTD_IC7 = 0x44420020,
    RTD_IC8 = 0x44420021,
    RTD_IC9 = 0x44420022,
    RTD_IC10 = 0x44420023,
    RTD_IC11 = 0x44420024,
    RTD_IC12 = 0x44420025,
    RTD_IC13 = 0x44420026,
    RTD_IC14 = 0x44420027,
    RTD_IC15 = 0x44420028,
    RTD_IC16 = 0x44420029,
    RTD_IC17 = 0x44420030,
    RTD_IC18 = 0x44420031,

    SUS_1 = 0x44120032,
    SUS_2 = 0x44120033,
    SUS_3 = 0x44120034,
    SUS_4 = 0x44120035,
    SUS_5 = 0x44120036,
    SUS_6 = 0x44120037,
    SUS_7 = 0x44120038,
    SUS_8 = 0x44120039,
    SUS_9 = 0x44120040,
    SUS_10 = 0x44120041,
    SUS_11 = 0x44120042,
    SUS_12 = 0x44120043,
    SUS_13 = 0x44120044,

    GPS0_HANDLER = 0x44130045,
    GPS1_HANDLER = 0x44130146,

    RW1 = 0x44120001,
    RW2 = 0x44120002,
    RW3 = 0x44120003,
    RW4 = 0x44120004,

    START_TRACKER = 0x44130001
};
}


#endif /* COMMON_CONFIG_COMMONOBJECTS_H_ */