Drivers for I2C board for firing analogue sonars


We are trying to write our own drivers for an i2c board used for individually timed firing of analogue sonars.
We kept the architecture very close to the one for the rangefinder through i2c.
We have already written the following pieces:

  • PX4Firmware/src/drivers/pcf8575/pcf8575.cpp
  • PX4Firmware/src/drivers/pcf8575/
  • PX4Firmware/src/drivers/drv_ioexpander.h
  • ardupilot/libraries/AP_IOexpander.h
  • ardupilot/libraries/AP_IOexpanderPX4.cpp
  • ardupilot/libraries/AP_IOexpanderPX4.h
  • ardupilot/libraries/IOexpander.cpp
  • ardupilot/libraries/IOexpander.h
  • ardupilot/libraries/IOexpander_backend.h
  • ardupilot/libraries/IOexpander_backend.cpp

We added the driver in:

  • ardupilot/mk/PX4/

Everything is compiling and the pixhawk boots. But still there are no values coming true. Not even a zero.
Are we missing a piece?

We think there should be (somewhere) defined how the pixhawk knows what driver to use when you attach an extra element through i2c. But how and where does this happen?

We appreciate any help.



The best place for this question is here:!forum/drones-discuss