How do you tell the software that a particular board is in slot A or slot B?
Hell Peter,
in software you define it by using suffix _a
or _b
in the CMakeLists.txt, see
Then in your code for example for X0 in slot B, you have to use _b
:
static const struct device *dev = DEVICE_DT_GET(DT_NODELABEL(ctr_x0_b));
A/B slot selection is important because X modules have different I2C address (if they use I2C) is slot B, usually readdressed by a solder bridge (ADR
on silkscreen, see X0). Also CHESTER SDK is using 4 GPIO signals for each X module and this suffix tells driver which wires use.
I2C addresses for slot A/B are explained also in this table. See also the I2C scan command to help troubleshoot if you have configured the model in your slot correctly.
I see this is not explained in the documentation, I will add it soon there.
Hub.Martin, thank you for this detailed description. Iwllgo thought it later today and will probably comment some more. I was having a problem with the ADC in slot B and have now solved the issue ( I will post that later also).