Skip to content

Conversation

@IamPete1
Copy link
Member

This removes the basic fail-safe mixing support from the IOMCU. This functionality allowed the pilot to fly the vehicle in manual mode if the main flight controller failed. This required that any key outputs be directly connected on the main output functions. And the pilot be able to fly in manual and quick enough to realize what had happen and take over.

This functionality was very unlikely to save a real vehicle, and we now have watchdog on both the main and IOMCU. Especially with vehicles getting more complex, this does not work with CAN servos for example, does not work with RC input connected to direct to main flight controller serial port. It was forward flight functionality only, no VTOL, does not work with vehicle such as tailsitters and tiltrotors using the motor1..12 output functions in forward fight.

Without this functionality the servos connected to the IOMCU will go to there set failsafe position, trim for servos and min for motors. (Unless advance fail safe has overridden with fly into the ground settings).

@IamPete1 IamPete1 added the Plane label Aug 13, 2022
@IamPete1
Copy link
Member Author

IamPete1 commented Aug 13, 2022

Durandal:

Binary Name      Text [B]          Data [B]     BSS (B)       Total Flash Change [B] (%)      Flash Free After PR (B)
---------------  ----------------  -----------  ------------  ----------------------------  -------------------------
antennatracker   -536 (-0.0396%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0395%)                                  610068
arducopter-heli  -536 (-0.0300%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0299%)                                  175252
ardurover        -536 (-0.0334%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0333%)                                  359236
arducopter       -536 (-0.0301%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0300%)                                  182460
ardusub          -536 (-0.0342%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0342%)                                  398304
blimp            -536 (-0.0413%)   0 (0.0000%)  0 (0.0000%)   -536 (-0.0413%)                                  667928
arduplane        -1156 (-0.0655%)  0 (0.0000%)  4 (+0.0015%)  -1156 (-0.0654%)                                 200364

Pixhawk1 1M:

Binary Name      Text [B]          Data [B]     BSS (B)      Total Flash Change [B] (%)      Flash Free After PR (B)
---------------  ----------------  -----------  -----------  ----------------------------  -------------------------
antennatracker   -480 (-0.0639%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0638%)                                  280792
arducopter-heli  -480 (-0.0474%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0473%)                                   18700
ardurover        -480 (-0.0522%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0522%)                                  113092
arducopter       -480 (-0.0479%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0479%)                                   30724
ardusub          -480 (-0.0522%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0521%)                                  111888
blimp            -480 (-0.0677%)   0 (0.0000%)  0 (0.0000%)  -480 (-0.0677%)                                  323268
arduplane        -1064 (-0.1032%)  0 (0.0000%)  0 (0.0000%)  -1064 (-0.1031%)                                   1404

@tridge
Copy link
Contributor

tridge commented Aug 13, 2022

I'd like to discuss more with @priseborough and @WickedShell, but at the moment I'm leaning towards keeping this failsafe support. I know it doesn't work for many vehicle types (eg. CAN servos, or servos on AUX outputs), but it does give some extra safety when flying a test branch.

@IamPete1
Copy link
Member Author

I do tend to agree until we actually need the space/memory for something else, this was more to quantify the cost somewhat. However I will also point out that this triples the free flash on Pixhawk1-1M.

I would say it works for very few vehicle types and even fewer pilots. I certainly could not realize what had happened and effectively take over in manual before crashing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants