Matthias Grob
c8286d4bba
Remove COM_RC_ARM_HYST
...
I've never anyone seen change that value and break the familiar user experience.
2025-11-26 09:58:19 -09:00
Matthias Grob
a0810462fd
ManulControlSelector: initialize disabled such that it's obvious if paramter is not loaded correctly
2025-10-01 18:31:12 +02:00
Matthias Grob
661b0655dc
ManualControlSelector: unify validity conditions into one place
2025-10-01 18:31:12 +02:00
Matthias Grob
365525269e
ManualControlSelector: simplify prioritization logic
2025-10-01 18:31:12 +02:00
Matthias Grob
f1f3c81566
Update COM_RC_IN_MODE enum naming
2025-10-01 18:31:12 +02:00
Tobias Büchli
2c062a45ba
feat: expand to 4 modes with more priority options
2025-10-01 18:31:12 +02:00
Tobias Büchli
25c66a7ee5
feat: extend COM_RC_IN_MODE 5 and 6 to source ID ascending and descending priority modes
2025-10-01 18:31:12 +02:00
Silvan Fuhrer
d2e4d85bce
Add Altitude Cruise mode
...
-add new NAVIGATION_STATE_ALTITUDE_VOYAGER
-this mode does require manual control to enter
-but you can disable the manual control loss failsafe to continue
flying in case of manual control loss
-for MC: in throttle and yaw are controlled like in Altitude mode,
the tilt is controlled via integrated rate input (similar to Acro,
but with tilt limit)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2025-09-18 15:50:10 +02:00
Matthias Grob
2bf9fce577
Sticks: globalize MPC_HOLD_DZ to MAN_DEADZONE
2025-09-18 15:50:10 +02:00
Matthias Grob
887ca6d497
ManualControlSelector: address invalid prioritized input and don't check if sample is from the future
2025-07-31 11:34:53 +02:00
Matthias Grob
461433d7f6
ManualControlSelector: is InputValid refactor with switch case for code readability
2025-07-31 11:34:53 +02:00
Matthias Grob
a09352c079
ManualControl: add option to prioritize RC or MAVLink but with fallback
2025-07-31 11:34:53 +02:00
Matthias Grob
b876aa5b45
ManualControlSelector: robust timeout check
2025-07-31 11:34:53 +02:00
Matthias Grob
200be07021
action_request: rename ACTION_TERMINATE to ACTION_TERMINATION for clarity
2025-07-25 13:01:25 -06:00
Matthias Grob
52e8a0a0db
Add RC termination switch
2025-07-23 11:13:11 +02:00
Beat Küng
9472b4b1f7
refactor: remove '#define MODULE_NAME' from tests
...
And use target_compile_definitions() instead
2025-07-11 10:39:28 +02:00
Matthias Grob
daa491dc19
rc_update: make payload power switch an optional 3-way switch
...
to support 3 different power states for the payload.
2025-06-30 16:50:28 +02:00
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 and Matthias Grob
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