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