nrf52833 is treated the same as if it only has one GPIO port, whereas nrf52833 has two, PO and P1, same as nrf52840. The difference is: 33 has p1.00 - p1.09 and 40 has p1.00 - p1.15.
nrf52833
nrf52840
const version: enum {
nrf51,
nrf5283x,
nrf52840,
} = switch (compatibility.chip) {
.nrf51 => .nrf51,
.nrf52, .nrf52833 => .nrf5283x,
.nrf52840 => .nrf52840,
else => compatibility.unsupported_chip("GPIO"),
};
in this enum above, which is littered across microzig files this line: .nrf52, .nrf52833 => .nrf5283x, is incorrect and I have had to change the enum to reflect this as shown below:
const version: enum {
nrf51,
nrf5283x,
nrf52840,
} = switch (compatibility.chip) {
.nrf51 => .nrf51,
.nrf52 => .nrf5283x,
.nrf52840, .nrf52833 => .nrf52840,
else => compatibility.unsupported_chip("GPIO"),
};
nrf52833 is treated the same as if it only has one GPIO port, whereas nrf52833 has two, PO and P1, same as nrf52840. The difference is: 33 has p1.00 - p1.09 and 40 has p1.00 - p1.15.
nrf52833
nrf52840
const version: enum {
nrf51,
nrf5283x,
nrf52840,
} = switch (compatibility.chip) {
.nrf51 => .nrf51,
.nrf52, .nrf52833 => .nrf5283x,
.nrf52840 => .nrf52840,
else => compatibility.unsupported_chip("GPIO"),
};
in this enum above, which is littered across microzig files this line: .nrf52, .nrf52833 => .nrf5283x, is incorrect and I have had to change the enum to reflect this as shown below:
const version: enum {
nrf51,
nrf5283x,
nrf52840,
} = switch (compatibility.chip) {
.nrf51 => .nrf51,
.nrf52 => .nrf5283x,
.nrf52840, .nrf52833 => .nrf52840,
else => compatibility.unsupported_chip("GPIO"),
};