2022-11-15, 02:43 AM
Figured out a little more by RTFM.
When I started asking questions is the previous thread (Announcing the release of I2C 3.2.0) i asked why I was getting null values.
Answering my own question:
Bus voltage, power and shunt voltage default to 0 (null) because the Calibration register defaults to 0 on powerup. These outputs will not output meaningful information until settings have been written to the Calibration register. (per Texas Instrument documentation)
Also, the INA219 doesn't know that Adafruit installed a 0.1 resister on the circuit board. So the shunt current value output is meaningless.
Another consideration:
If you are running any of the various INA219 SignalK plugins and are using the same I2C address in Open Plotter there isn't anything to prevent SignalK and OpenPlotter competing with each other to change the calibration register. Actually, there isn't anything to prevent the various SignalK plugins from competing with each other. This is one reason I would prefer to use OpenPlotter I2C because all of the addresses are managed in one place.
I learned this when I was trying various SignalK INA2i9 plugins and forgot to disable one before enabling the other.
I think most of the software (at least with my limited understanding of the code) uses the Adafruit drivers that reset the calibration register just before reading the data. I haven't figured out what effect this reset has on the internal resolution/averaging of the shunt voltage and bus voltage. Maybe, I should stop RTFM.
When I started asking questions is the previous thread (Announcing the release of I2C 3.2.0) i asked why I was getting null values.
Answering my own question:
Bus voltage, power and shunt voltage default to 0 (null) because the Calibration register defaults to 0 on powerup. These outputs will not output meaningful information until settings have been written to the Calibration register. (per Texas Instrument documentation)
Also, the INA219 doesn't know that Adafruit installed a 0.1 resister on the circuit board. So the shunt current value output is meaningless.
Another consideration:
If you are running any of the various INA219 SignalK plugins and are using the same I2C address in Open Plotter there isn't anything to prevent SignalK and OpenPlotter competing with each other to change the calibration register. Actually, there isn't anything to prevent the various SignalK plugins from competing with each other. This is one reason I would prefer to use OpenPlotter I2C because all of the addresses are managed in one place.
I learned this when I was trying various SignalK INA2i9 plugins and forgot to disable one before enabling the other.
I think most of the software (at least with my limited understanding of the code) uses the Adafruit drivers that reset the calibration register just before reading the data. I haven't figured out what effect this reset has on the internal resolution/averaging of the shunt voltage and bus voltage. Maybe, I should stop RTFM.