Prior to onshot being added to the system. The -r of the
"rate" command would not invoke the ioctl PWM_SERVO_SET_UPDATE_RATE
when -r was not provided on the command line. This may have been a
feature or a bug.
When onshot was added to the pwm command a bug was intorduced
that precluded the ioctl PWM_SERVO_SET_UPDATE_RATE from being
called on -r 0.
This commit fixes that issue, and preserves the "prio to oneshot"
behavior of the "rate" command when -r is not specified.
change fmu to task
increase fmu_servo task priority to max and enable true oneshot
use lowest FMU priority which minimizes jitter
constrain oneshot updates to control group 0 events
* UAVCAN ESC output: removing ESC output channels from published message that are always zero. This allows the UAVCAN stack to always transfer only the minimum number of output values, avoiding redundant zeroes and the associated increase in bus load and CPU time
* Added a separate mixer file for CAN quadrotor
* Sampling profiler improvements
* PMSP: Output more endpoints
* Matrix update
* libc usage workaround
* Removed UAVCAN perfcounters
* Matrix submodule update
* UAVCAN ESC output: removing ESC output channels from published message that are always zero. This allows the UAVCAN stack to always transfer only the minimum number of output values, avoiding redundant zeroes and the associated increase in bus load and CPU time
* Added a separate mixer file for CAN quadrotor
* Sampling profiler improvements
* PMSP: Output more endpoints
* Matrix update
* libc usage workaround
* Removed UAVCAN perfcounters
param_t is only used as an offset and we have <1000 params, so an uint16_t
is enough.
This saves roughly 1KB of RAM. We only do that on NuttX because normal
integers have better performance in general.
Previously on amd64, this was even 64bits because it was an uintptr_t.
Code was conditionaly included based on #define PX4IO_DEVICE_PATH
in drivers/drv_gpio.h depanedent on board #ifdef CONFIG_ARCH_BOARDxxxx
Now that dependancy comes from board_common.h as BOARD_USES_PX4IO defined
when a board config provides PX4IO_SERIAL_DEVICE.
A board_config may define BOARD_HAS_MTD_PARTITION_OVERRIDE to
uses it's own number of partitions and names.
If a BOARD_HAS_MTD_PARTITION_OVERRIDE is not defined
the hardcoded original values of fs/mtd_params &
/fs/mtd_waypoints are used.
on an mtd device.