I'm stumped by the compiler error "error: array must be initialized with a brace-enclosed initializer". None of the other examples of this problem seem to related to this. I haven't touched C in about 14 years, so I think the term "rust" is a bit generous. I'm sure I've just missed something silly.
typedef uint8_t DeviceAddress[8]; DeviceAddress Probe01 = { 0x28, 0xFF, 0x87, 0x5A, 0x91, 0x15, 0x04, 0xE0 }; DeviceAddress Probe02 = { 0x28, 0xFF, 0x97, 0x5E, 0x91, 0x15, 0x04, 0x92 }; DeviceAddress Probe03 = { 0x28, 0xFF, 0xCD, 0x81, 0x91, 0x15, 0x01, 0x1E }; DeviceAddress Probe04 = { 0x28, 0xFF, 0xA6, 0x69, 0x91, 0x15, 0x04, 0x15 }; DeviceAddress Probe05 = { 0x28, 0xFF, 0xD8, 0x7E, 0x91, 0x15, 0x04, 0x64 }; struct DeviceInfo { DeviceAddress addr; const char * name; }; struct DeviceInfo devices[5] = { {.addr = Probe01, .name = "Pump1"}, {.addr = Probe02, .name = "Pump2"}, {.addr = Probe03, .name = "Pump3"}, {.addr = Probe04, .name = "Pump4"}, {.addr = Probe05, .name = "Pump5"} };
.addr = Probe01is not valid.Probe01etc. to exist as separate arrays besides thedevicestable or did you just declare them as helpers to make the table tidier?