My overall goal is to use more types of smart batteries with PX4 than what is listed in the batt_smbus documentation. I realize the driver was written specifically for the BQ40Z50, but am I wrong in assuming that any device which properly communicates over SMbus could be used?
I am using an Arduino Uno to emulate a smart battery over I2C. I have confirmed the emulation is correct by using another Arduino acting as an SMbus host. During testing I had a bi-directional level shifter in the middle to bring SCL and SDA down to 3.3v to act like host Arduino is the Pixhawk.
When I connect the Arduino to the Pixhawk 4 on the I2C A port and run batt_smbus start from nsh, there is no battery found. Further, there is no activity at all (verified by oscilloscope) on the I2C A port when I execute batt_smbus start. I know the A port works because I have captured some I2C message being sent upon boot, but never after.
How can I force the smart battery driver to use the I2C A port, or will it never work with what I am trying to accomplish?