from gomspace.gomspace_common import TableEntry


class PDUConfigTable:
    out_en_0 = TableEntry(bytearray([0x00, 0x48]), TableEntry.uint8_size)
    out_en_1 = TableEntry(bytearray([0x00, 0x49]), TableEntry.uint8_size)
    out_en_2 = TableEntry(bytearray([0x00, 0x4A]), TableEntry.uint8_size)
    out_en_3 = TableEntry(bytearray([0x00, 0x4B]), TableEntry.uint8_size)
    out_en_4 = TableEntry(bytearray([0x00, 0x4C]), TableEntry.uint8_size)
    out_en_5 = TableEntry(bytearray([0x00, 0x4D]), TableEntry.uint8_size)
    out_en_6 = TableEntry(bytearray([0x00, 0x4E]), TableEntry.uint8_size)
    out_en_7 = TableEntry(bytearray([0x00, 0x4F]), TableEntry.uint8_size)
    out_en_8 = TableEntry(bytearray([0x00, 0x50]), TableEntry.uint8_size)
    # When channel consumes more than cur_lu_lim, channel is turned of immediately
    cur_lu_lim_0 = TableEntry(bytearray([0x00, 0xB8]), TableEntry.uint16_size)


class PDUHkTable:
    temperature = TableEntry(bytearray([0x00, 0x28]), TableEntry.uint16_size)
    # Ground WDT value (remaining seconds until reboot)
    wdt_gnd_left = TableEntry(bytearray([0x00, 0x80]), TableEntry.uint32_size)