How to enable more than 3x i2C temperature sensors?

Howdy all, we’re trying to enable 5 temperature sensors on our aircraft but are having issues beyond 3.

According to the wiki 9 temp sensors are supported (we have built our firmware with temp logging enabled for the MCP9600 amplifiers) but in our aircraft config there are only 3 temperature sensor params available.

The 3 temp sensors have been configured and are working correctly (shown as ‘battery_tempN’), but without the option to enable TEMP4 & TEMP5, I don’t know how we can get the other sensors to read data.

Has anyone else experienced this and/or know of a fix?

Screenshot 2024-07-29 150609

Images for reference, showing how the parameters for only TEMP1, TEMP2, TEMP3 are present.

How to get params for TEMP 4-9?

While the wiki says (and the backend likely does support) 9 instances, the source code limits it to 3:

I can only find one hwdef that actually further limits the number and none that expand to the full wiki-stated limit of 9.

I have asked for clarification on Discord, but I suspect the answer is that you’ll need to set up a dev environment and build your own firmware with that macro definition increased to the number of instances you desire.

The custom firmware server does not allow for that degree of granularity, unfortunately.

1 Like