One, Two, Three Failsafes...
Per channel reactions to a failsafe condition. |
- receiver failsafe then the receiver does not receive a signal or is unable to decode it,
- battery failsafe of the transmitter,
- Naza-M failsafe, that can be triggered either explicitly or if for a certain time some channel values do not change and may indicate a signal problem. This fallback is required as the original simple DJI receiver has no failsafe detection of its own.
R7008SB Failsafe
Like many non-dead simple receivers, when the Futaba R7008SB doesn't receive any decodable radio signals anymore, the channel values it outputs take on a predefined failsafe behavior. The exact behaviour can be controlled for each channel individually:
- simply hold the last known good value for a channel, as is signaled by the setting [HOLD] in the «F/S» column,
- or output a predefined value instead, then you set [F/S] in column «F/S» and the specific failsafe value in the last row labelled «POS».
The behavior as described in this section is simply termed failsafe in Futaba parlance.
T14SG (Battery) Failsafe
So there is yet another type of failsafe that is termed the battery failsafe. In the various setup pages of the T14SG you will come across this specific type of failsafe in form of its abbreviated form: «B.F/S». So far, I haven't figured out how it could fit into the overall scheme. Thus, I'm not using (or rather programming for) it. However, if someone knows better, please speak up.
Naza-M Failsafe
Explicit failsafe using channel U (channel 7/AUX3). |
As it seems, the Naza-M maps the S.BUS(2) failsafe indication to its U channel. As you can easily see for yourself in the Naza-M assistent software, when your trigger an S.BUS(2) failsafe condition by switching off your transmitter, the U channel will take on a particular failsafe value, regardless of the failsafe value your programmed for channel 7 of the R7008SB.
In the Naza-M assistent software, you can monitor channel U on page Basic, tab RC. Channel U is controling the flight mode. As you will see here, it has the well-known three switch positions. The zones in between are labelled failsafe: these zones are fixed and cannot be reconfigured.
Hold or F/S ... Emacs or Vi?(*)
That leaves us with the basic question: what failsafe strategy is better for my Phantom if it happen to met a failsafe condition? Hold or use predefined values deemed to be safe? I'm afraid that there's no conclusive answer to this question, as it may heavily depend not only on the current flight situation. Sometimes, hold may be better, in other cases, safe values may have saved the day. You bet.
For this reason, you have to decide for yourself which strategy you will program the T14SG with for your Phantom or other RC model. I'm only describing one possible answer that I currently use and how to program the T14SG in this case.
Programming the Transmitter for Naza-M Failsafe
In this section, I'm now describing how to program trigger the explicit failsafe of the Naza-M even without S.BUS(2) support. This mainly dates from my first upgrade phase where I had to wire up all channels individually due to lack of S.BUS2 support in the Naza-M. With S.BUS2 support now in and working fine, you may want to skip this programming completely. However I leave this topic in, just to be failsafe...
My strategy for an explicit failsafe is simple and as follows:
- we trigger an expliziter Failsafe using channel 7, that is, the AUX3 channel that ends up as channel U on the Naza-M flight controller. It normally controls the flight mode but has additional value ranges that are always assigned to failsafe mode. So we program the receiver to output a fixed channel value in case of failsafe that corresponds with one of the failsafe regions that the Naza-M defines. The Naza-M will immediately enter failsafe when we output such a channel value.
- we hold all other channel values, in particular, channels 1 through 4.
A somehow annoying idiosynchrasy of the T14SG user interface is that you cannot simply enter a particular failsafe value. Even if you happen to know the proper value, you are not allowed to simply enter it. Compare this with the end point setting, so why are you allowed to set it there and are not forced to teach it?
This basically forces us to program channel 7 in a way that outputs the required channel value for a failsafe and then teach this as the failsafe value to use for this channel. Simple things made complex. That's seemingly what some model enthusiasts thrills...
Note: For S.BUS(2) operation the failsafe setting of channel 7 doesn't seem to matter. Regardless of what we program here, the Naza-M chip seems to internally overwrite the U channel value with a predefined failsafe channel value whenever it encounters the S.BUS(2) failsafe bit being flagged. In principle, you can thus completely skip this programming if you just want automatic failsafe. In case you want to also manually trigger failsafe operation, please read on.
We dedicate mixer 2 to failsafe. |
Failsafe mixer 2. |
Mixer function for realizing channel U failsafe values. |
- -100% at -100%, yet this achieves only +55%. Roger? Ah yes, there's that endpoint setting on AUX3 that we once did, are you remembering it?
- -5% at +100%, this then gives us -50%.
- a Y offset of +45% moves the overall mixer function to the region where we require the output values to be.
The reciever failsafe triggers the Naza-M failsafe. |
Don't forget to flip switch SG back to off to leave failsafe mode. Done. What a mess.
Final Note
Deactivating (or inhibiting) the failsafe mixer 2. |
Post Scriptum
Only after documenting this way to program an explicit failsafe I realized that there is a shorter path to just teaching channel 7 AUX3 a particular failsafe value: just wire up channel 7 to one of the volume knows for a moment. In the failsafe configuration then turn the know and (re)teach its position until you are satisfied. And until the Naza-M assistant shows that the Naza-M interprets channel 7 AUX to be in failsafe position.
(*) A quick explanation to those who don't understand the joke: Emacs and Vi are two text editors preferred by some programmers. The pseudo-reglious war sparked in a self-deprecating manner is now considered part of the human heritage.