Developer
The latest ArduPilot Fail Safe firmware V1.6 includes a state of the art system to detected if we have glitches or bad signal, triggering the RTL and avoiding undesired "Remote Resets".How it works?Well, the first part is just a low pass filter that works only when switching to autopilot, this prevent undesired toggles to autopilot mode when the signals becomes "noisy" and also avoiding undesired resets (the system mistakenly thinks you are toggling the switch).The second parts is a "Valid Pulse Width Checker", this is a very simple code that will increment a counter every good pulse received, if the system receive 75 valid frames (by default) it will thrust the commands we send through the remote control, otherwise will trigger RTL, and reinforces the prevention of undesired "Remote Resets" caused by noise.Of course the latest code could be found in the same place as always, here.The Attiny has been tested only on ground with my 72mhz Futaba and two different receivers, after confirmation i will remove the beta tag, and i will try convince Nathan to flash it on the SparkFun boards, in the meantime you can try it with your AVR programmer. ;-)Whats next?Well right now I'm working on the new ArduPilot firmware code name "Hybrid", will support NMEA, SIRF , uBlox UBX and VENUS 10HZ GPS protocols, on the same code, and you can switch between them by just changing a single variable, bad news, only works on 328. =P
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Can anyone tell me if this AVR programmer would work for flashing the Atiny on ArduPilot to Firmware V1.6?
  • Thanks Jordi, I'll test your suggestion.
  • Developer
    Saiful,

    JR = Spektrum, The JR has the same problem as Spektrum (Is the same company i guess). Because is 100000x more secure than any Multiplex, Futaba radio, even if you switch off the radio the JR receiver will still pulsing the servos in neutral mode so the Fail Safe detector will never kick in. Maybe it has the option for signal lost like Spektrum to define the fail mode servo position and you can set it to switch the RTL mode.
  • anyone from europe? maybe...
  • 3D Robotics
    I'm afraid every Rx is different and you'll have to experiment with one that works for you. We're in the US and aren't able to test 35mhz gear.
  • Yes, just the signal lost function doesn't work ... but the code work well for three position switch. Is there any change for the code?
  • 3D Robotics
    It doesn't work at all, or it's just the signal loss function that doesn't work?
  • Have anyone successes using this v1.6 code with 35mhz radio? It don't work for me :( I'm using JR 9xII 35mhz.
  • Jordi, I tried your 1.6 with my AT 168 and AT328 brds. Did not work. I had to go back to 1.5. I noticed the Arduino is always in the manual mode, I can never select RTL or waypoints unless I use 1.5. Any suggestions?
  • Andrew: that's perfect idea that should work!
    I already know that Spektrum transmitter is by default configured to have throttle lever at bottom producing signal at ~10% of PWM range (1000ms ... 2000ms), and ESC treats it as no juice for motor. So doing transmitter/receiver binding with extra trim of throttle at ~0% should make it possible to distinguish RC failsafe mode. No more hacks with monitoring other channels.
    Thanks for tip.
This reply was deleted.