Alex Klimaj
4d1c65d722
boards: new ARK FPV FC ( #23830 )
...
* add new payload power switch (RC_MAP_PAY_SW)
2024-10-30 11:35:35 -04:00
Hamish Willee
da8827883f
Use target camera in image capture start/stop messages ( #23115 )
...
* Use target camera in image capture start/stop messages
* Add support for MAV_CMD_SET_CAMERA_SOURCE
* Add target ID for NAV_CMD_SET_CAMERA_MODE
* Run make format
2024-10-09 21:10:08 +13:00
Matthias Grob
e4d25df58a
Consistently use "stick gesture" for "rc stick gesture"
2024-09-05 18:06:29 +02:00
Silvan Fuhrer
d967cdbb48
Manual control: rename SOURCE_RC_STICK_GESTURE to SOURCE_MANUAL_CONTROL_GESTURE
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2024-09-05 18:06:29 +02:00
Matthias Grob
ef0926d64b
Commander: add position slow mode
2023-12-08 21:17:59 +01:00
Matthias Grob
78987f6016
ManualControl: introduce stick gesture for killing
2023-11-17 09:53:56 +01:00
Beat Küng
fb7e973dfd
commander: allow external modes to be assigned to RC
...
Stores a hash of the mode name so that the same mode is always assigned
to the same index independent from registration order.
2023-11-15 13:18:58 +01:00
Matthias Grob
83b832fdce
ManualControl: fix case where mode switches unintentionally in air
...
Case: A vehicle is already operating but has no stick input or another
source than RC. When RC stick input is switched to either because it gets
first time available or as a fallback to joystick then the mode was
immediately changed to the switch position. This can lead to loss of
control e.g. when the vehicle is flying far away and the
mode switch of the RC is in some fully manual piloted mode.
I added tests to cover the cases where RC mode initialization is expected
and also unexpceted because the vehicle is already armed.
2023-07-13 12:00:35 +02:00
Matthias Grob
2235c40e28
ManualControl: add functional test for switch behavior
...
Using the established interface processInput() function.
2023-07-13 12:00:35 +02:00
Matthias Grob
877f37d79e
ManualControlSelector: add parentheses in condition for clarity
2023-07-13 12:00:35 +02:00
Matthias Grob
b19b0d0163
ManualControl: separate switches logic function + reset fix
...
Fix the previous switches initialized flag getting reset when no RC was
present or in use. This was found during functional testing.
2023-07-13 12:00:35 +02:00
Matthias Grob
3b2b60adde
ManualControl: put input processing in separate testable function
2023-07-13 12:00:35 +02:00
Matthias Grob
8dc73c4621
ManualControl: correct manual control input subscription name
2023-07-13 12:00:35 +02:00
Matthias Grob
258fc786dc
ManualControl: put parameter update into separate function
2023-07-13 12:00:35 +02:00
Matthias Grob
17535c288c
ManualControl: correct CMake module definition
...
modules__ instead of module__ prefix
The module depends on the hysteresis library and probably because
it compiles with the still prevalent global includes the dependency
is not declared.
2023-07-13 12:00:35 +02:00
Matthias Grob
c903288f4c
ManualControlSelectorTest: adapt to using input validity flag
2023-05-23 17:24:17 +02:00
Matthias Grob
7b6f45079b
ManualControl: use input validity flag to check for RC calibration
2023-05-23 17:24:17 +02:00
Matthias Grob
331cb21dee
manual_control_setpoint: change stick axes naming
...
In review it was requested to have a different name for
manual_control_setpoint.z because of the adjusted range.
I started to investigate what naming is most intuitive and found
that most people recognize the stick axes as roll, pitch, yaw, throttle.
It comes at no surprise because other autopilots
and APIs seem to share this convention.
While changing the code I realized that even within the code base
the axes are usually assigned to a variable with that name or
have comments next to the assignment clarifying the axes
using these names.
2022-11-28 19:25:55 +01:00
Matthias Grob
83246c84cf
Switch manual_control_setpoint.z scaling from [0,1] to [-1,1]
...
To be consistent with all other axes of stick input and avoid future
rescaling confusion.
Note: for the MAVLink message 69 MANUAL_CONTROL it's using the full range
according to the message specs now [-1000,1000].
2022-11-28 19:25:55 +01:00
Beat Küng
455b885f86
commander: use new failsafe state machine and add user intention class
2022-10-11 22:31:20 -04:00
Matthias Grob
9b2166de72
manual_control_params: configure arm gesture doesn't require reboot
...
I added wrong documentation here.
2022-06-08 05:12:05 -04:00
Daniel Agar
c40631c136
commander: handle RC loss timeout if manual_control_setpoint stops publishing ( #19680 )
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2022-05-20 19:37:30 -04:00
Daniel Agar
c772e5230f
commander: remove compile time dependencies on non-commander parameters
...
- this allows builds with mavlink fully disabled
- move commander MAN_ARM_GESTURE, RC_MAP_ARM_SW, MC_AIRMODE checks to manual_control
2022-05-11 10:14:23 -04:00
Julian Oes
9fe7a40673
manual_control: enable sending camera commands
2022-01-10 23:04:10 -05:00
Matthias Grob
897775f38d
ManualControlSelector: Allow disabling stick input
2021-12-10 09:11:08 -05:00
Matthias Grob
300e439144
ManualControlSelector: Enable original PX4 default behavior until QGC catches up
2021-12-10 09:11:08 -05:00
Matthias Grob
572890f8c0
ManualControl: add parameter to disable arm/disarm stick gesture
2021-11-23 16:03:46 +01:00
Matthias Grob
468022abba
ManualControl: correct arm hysteresis parameter name
2021-11-23 16:03:46 +01:00
Matthias Grob
c84b1c6566
ManualControl: ignore unassigned mode slots
...
They were resulting in a message
"Switching to Unkown is currently not available".
2021-11-23 16:03:46 +01:00
Matthias Grob
4aa0756d08
ManualControlSelector: correct parameter for any source according to documentation
2021-11-09 16:05:25 +01:00
Matthias Grob
fabf865411
Use backwards compatible manual_control_setpoint instead of manual_control_input
2021-11-09 16:05:25 +01:00
Matthias Grob
423aadcc4f
ManualControl: fix RC override
2021-11-09 16:05:25 +01:00
Matthias Grob
9f17f3b0f3
ManualControl: correct source for RC mode switches without mode slot
2021-11-09 16:05:25 +01:00
Matthias Grob
2b29df06fd
ManualControl: avoid scheduling based on unchosen input
2021-11-09 16:05:25 +01:00
Matthias Grob
48869ed03e
ManualControl: Simplify check if switches updated
2021-11-09 16:05:25 +01:00
Matthias Grob
820ba07d4b
Fix landing gear processing
2021-11-09 16:05:25 +01:00
Matthias Grob
af54ac7cdb
ManualControl: remove unused variables and renaming
2021-11-09 16:05:25 +01:00
Matthias Grob
e73e6a490d
ManualControl: separate function for stick arming
2021-11-09 16:05:25 +01:00
Matthias Grob
a349dae760
Use action_request to command RC VTOL transitions
2021-11-09 16:05:25 +01:00
Matthias Grob
956997eb1e
Replace arm_request and mode_request with combined action_request
...
Which saves flash space, log size and is extensible to handle e.g.
the VTOL transition and future actions.
2021-11-09 16:05:25 +01:00
Matthias Grob
052e29267d
Use mode_request for RC mode switching
2021-11-09 16:05:25 +01:00
Matthias Grob
f8e4846851
Use arm_request for manual killing
2021-11-09 16:05:25 +01:00
Matthias Grob
af607e3040
Use separate arm_request instead of vehicle_command for RC arming
2021-11-09 16:05:25 +01:00
Matthias Grob
c4473bdab7
ManualControl: clean up arm/disarm gesture
2021-11-09 16:05:25 +01:00
Matthias Grob
48ed350b25
ManualControlSelector: simplification refactoring
...
- clang tidy did't like {bool} == true in a condition
- setpoint_from_input() got small enough ot just put in line
2021-11-09 16:05:25 +01:00
Matthias Grob
cc2ec09659
ManualControl: fix arm button logic during testing
...
The latching logic has to be different than for the arm switch
this difference got lost in the rewrite of the old obfuscated
arming trigger logic.
2021-11-09 16:05:25 +01:00
Matthias Grob
0901b73f50
ManualControlSelector: rename functions and validate chosen inputs all the time
2021-11-09 16:05:25 +01:00
Matthias Grob
28a29ad050
ManualControlSelector: revamp logic to switch when configuration is changed
2021-11-09 16:05:25 +01:00
Matthias Grob
396bab52ad
ManualControlSelector: refactor selection to chose based on a single condition
2021-11-09 16:05:25 +01:00
Matthias Grob
1bd786c71a
ManualControlSelector: don't invalidate existing setpoint with other invalid input
2021-11-09 16:05:25 +01:00