Hi,
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/module.mk
- 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/config_px4fmu-v2_APM.mk
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.
Grtz,
Jon