David Sidrane
3702140e24
PWMOut:Arm once all channels are initalized.
2021-05-05 20:48:06 +02:00
David Sidrane
3d166d3279
PWM:Add Channel mask to up_pwm_servo_arm & up_pwm_servo_deinit
2021-05-05 20:48:06 +02:00
David Sidrane
dd4ffb3c0c
PWMOut:Fix pwm status
2021-05-05 20:48:06 +02:00
David Sidrane
44cdc52ef8
PWMOut:Use rates from single instance & init all instances channels
2021-05-05 20:48:06 +02:00
CUAVcaijie
b898aabfed
Fix the repeated configuration of PWM rate after initialization
2021-04-28 00:22:07 +02:00
Lorenz Meier
bf09089a26
PWM out: Collect settings for all outputs
...
There are settings that have to be the same for a split output across multiple instances, like for example the PWM mask and rate configurations. This change collects them for all outputs of the same underlying driver structure and applies the complete set.
2021-04-13 18:39:27 +02:00
Daniel Agar
aa22407d87
drivers/pwm_out: only print rates if changed
2021-04-13 09:55:21 +02:00
Lorenz Meier
3a004ffd68
PWM Out: Simplify startup logic
...
The simpler logic is more robust towards future refactoring.
2021-04-12 19:11:22 -04:00
Beat Küng
faaee0f077
fix pwm_out: avoid race condition when setting mode
...
Bootup failed in some cases with:
ERROR [mixer] can't reset mixers on /dev/pwm_output1
The reason was the mode change was not applied yet.
2021-04-12 18:39:51 +02:00
Daniel Agar
b2faea7f43
pwm_out: check PWM_OUT_MAX_INSTANCES with conditional
...
- PWM_OUT_MAX_INSTANCES is a constant (static constexpr) not available to the preprocessor
2021-03-23 22:13:18 -04:00
Daniel Agar
9b1cf98474
drivers/pwm_out: fix launch for non-multi case
...
- skip _objects[1] access if only 1 possible instance
- command line request new mode via atomic
2021-03-23 10:40:22 -04:00
Lorenz Meier
6e9f745809
PWM out: Robustify initialization
...
This ensures that all PWM outputs get correctly inialized on targets that only support one.
2021-03-21 00:21:10 +01:00
Lorenz Meier
d35ce21594
PWM out: Ensure correct loading on single-bank targets
2021-03-17 22:03:18 +01:00
Lorenz Meier
9490c64ad4
PWM out: provide running state
...
Important to know if the app is running.
2021-03-17 22:03:18 +01:00
Daniel Agar
e7722b11eb
pwm_out multi-instance support
...
PX4 uses banks of 8 outputs as a logical structure. Boards that have
more outputs than 8 get multiple instances. This is an arbitrary choice
that helps with overall structure and enables the mixing of different
device classes (like FMU, IO or UAVCAN).
2021-03-17 22:03:18 +01:00
Daniel Agar
15e76ad993
PWM12 mode for pwm_out and dshot
2021-02-12 09:19:18 -05:00
Daniel Agar
9f00fd2796
move PWM params to lib
2021-02-09 08:57:00 +01:00
Daniel Agar
d1a3590aac
PWM: transition PWM_{MIN,MAX,DISARMED,RATE} -> PWM_MAIN
2021-02-01 08:53:33 +01:00
Daniel Agar
318c7e83b3
support up to PWM 14
...
- generate PWM_MAIN 1-14
- generate PWM_AUX 1-8
- generate PWM_EXTRA 1-8
- px4io and pwm_out directly read configuration parameters
- only available and active physical outputs are actually shown for configuration
- overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
Daniel Agar
439c573242
delete unused PWM_SERVO_SET_TRIM_PWM
2021-01-25 10:55:57 -05:00
Daniel Agar
2ff69a4456
delete unused PWM_SERVO_SET_COUNT
2021-01-25 10:55:57 -05:00
Daniel Agar
967d35a6b6
rate limit most parameter_update subscriptions
...
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
- limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Beat Küng
002e671d3f
fix pwm_out,dshot: set _num_outputs to 5 for mode_pwm5
2020-08-04 13:37:40 +02:00
Beat Küng
78e918ff3a
fix pwm_out: respect _num_outputs for calling up_pwm_servo_set()
...
_num_outputs is set according to the mode_pwmX call, which is required
for camera triggering.
This fixes camera triggering via PWM, as it avoids overwriting the channel.
2020-08-04 13:37:40 +02:00
Daniel Agar
aa7735c1c0
pwm_out: limit actuator control callbacks to primary groups
...
- add backup schedule at minimum PWM rate
- fixes #15043
2020-07-23 09:45:04 -04:00
Beat Küng
bb36b4a63f
{dshot,pwm_out}: allow mode_pwm4 for boards with 5 outputs
...
Required on durandal if camera triggering is enabled.
2020-06-23 09:32:13 -04:00
Daniel Agar
6d846143dc
pwm_out: update pwm outputs up to twice as fast as actual pwm frequency
...
- this is done to minimize real end-to-end latency
- actual pulse width only updated for next period regardless of output module
- add cycle interval perf counter
2020-05-07 13:18:09 -04:00
Daniel Agar
6dfe12d122
Revert "drivers/pwm_out: cleanup for multi-platform use" ( #14812 )
...
This reverts commit 0c8dcf94bc .
2020-05-02 23:42:51 -04:00
Daniel Agar
0c8dcf94bc
drivers/pwm_out: cleanup for multi-platform use
2020-05-01 20:53:35 -04:00
Daniel Agar
2e2b9a97d3
pwm_out: delete fake() test command
...
- we have better motor test facilities these days
2020-03-31 19:12:31 -04:00
Daniel Agar
ca81175b07
rename drivers/px4fmu -> drivers/pwm_out
...
- split out header
2020-03-31 19:12:31 -04:00
Hidenori
506d1855ff
rename files and add navio target
2016-07-01 23:08:17 +02:00
Miguel Arroyo
b871b322d2
Using Actuator Control Group 0 & Checkstyle fixes
2016-07-01 23:08:17 +02:00
Hidenori
76ee17e532
RC input and PWM output for Navio2
2016-07-01 23:08:17 +02:00