Can't start PX4 PCA9685 Driver
-
Hey hope yall are well,
I am trying to interface a PCA9685 onto J19 of the VOXL2 (and ultimately the VOXL 2 Mini). I have connected the chip to QUP0 (Magnetometer I2C) and am trying to start the px4 driver for the PCA9685 found here: https://github.com/modalai/px4-firmware/tree/main/src/drivers/pca9685_pwm_out
I have started PX4 outside of daemon mode and am running the command: px4-qshell pca9685_pwm_out start -a 0x40 -b $ (have tried multiple busses). Everytime I get the error in qshell: Command pca9685_pwm_out not found. I can't seem to find the documentation on how to load this driver onto the VOXL2. Any support would be helpful. I am running on the newest SDK.
-
@cbay That driver is not part of the build nor has it ever been tested on VOXL 2. You would have to add it to the build (e.g. in https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2-slpi/default.px4board)
-
@Eric-Katzfey Sounds good, any tips or steps on how to add to the build and to upload to the board?
-
@cbay Most of the way through the build process, was able to sort it out including the necessary edits to the PCA driver. Issue I am running into is both the dev and master branches of voxl-px4 require a newer version of libfc-sensor (1.0.9 and 1.0.10 respectively) then what is included in 1.6.2 of the SDK.
I am not sure how to upgrade this library
-
@cbay Checked out a older tag on voxl-px4 and was able to build and install.
When I run the driver I get an error revolving around its Freq, I understand you dont work with the driver so I doubt yall will have info about it.
What I am looking for is how to get the necessary Px4 parameters to show up, as they dont seem to be included properly
-
@cbay https://github.com/modalai/px4-firmware/blob/main/src/drivers/pca9685_pwm_out/module.yaml here is where I think the params are
-
@cbay , you can run
voxl-px4in foreground mode :voxl-px4 -d, -d to disable the daemon mode (which is used in systemd service mode).Then you will get the px4 console. You can use the console to add new params and save them
Alex
-
@Alex-Kushleyev My issue is the params arent loaded from the YAML file of the driver, so I can't set and save them. I get errors whenever I try to run param set.
Any help on making sure this drivers module.yaml file gets loaded properly
-
@cbay , I am not an expert at this, but i think it is probably related to a additional .c param file, which our custom drivers use, for example : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/actuators/voxl_esc/voxl_esc_params.c
You may need to add one.
Alex
-
if you need the latest packages (libfc-sensor), you can find them here : http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/
-
@Alex-Kushleyev Found the reason why it was skipping. In /px4-firmware/src/lib/parameters/CMakeLists.txt there is a line that skips all modules that match 'pwm_out'. I was able to disable that for PCA9685. Once I disabled the module.yaml file being skipped it worked. No need for the .c file (which makes sense, that is just the old way to do the .yaml)