pca9685_pwm_out: add parameter PCA9685_RATE to set update frequency

This commit is contained in:
Christian Rauch 2023-08-07 01:39:17 +02:00 committed by Daniel Agar
parent dce7149363
commit e9fbb9a3ab
2 changed files with 25 additions and 0 deletions

View File

@ -133,6 +133,15 @@ int PCA9685Wrapper::init()
return ret;
}
param_t param_h = param_find("PCA9685_RATE");
if (param_h != PARAM_INVALID) {
param_get(param_h, &_targetFreq);
} else {
PX4_DEBUG("PARAM_INVALID: PCA9685_RATE");
}
this->ChangeWorkQueue(px4::device_bus_to_wq(pca9685->get_device_id()));
PX4_INFO("running on I2C bus %d address 0x%.2x", pca9685->get_device_bus(), pca9685->get_device_address());

View File

@ -9,3 +9,19 @@ actuator_output:
max: { min: 1600, max: 2200, default: 2000 }
failsafe: { min: 800, max: 2200 }
num_channels: 16
parameters:
- group: PCA9685
definitions:
PCA9685_RATE:
description:
short: PWM frequency for PCA9685
long: |
Update rate at which the PWM signal is sent to the ESC.
type: float
decimal: 1
increment: 0.1
default: 50
min: 50
max: 450
unit: Hz
reboot_required: true