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?
This is really more a development question so it belongs on the drones-discuss@googlegroups.com email list instead of here. Could you repost there? thanks!
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:
We added the driver in:
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