ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
11k stars 17.54k forks source link

Copter: show flight mode via LEDs #1124

Closed robcazzaro closed 10 years ago

robcazzaro commented 10 years ago

I'd like to be able to see what flight mode my quad is in, by looking at some LEDs (either a binary code or using an RGB led). Driving the LEDs and building the visual indicator is easy to do (I have enough experience there), or commercial solutions are available

I would like to be able to have the flight mode number shown as a binary number on any of the A4-A8 pins (or higher). In order to show 6 modes, 3 bits are needed. One of the outputs can be A7, given that "armed" can be represented by the navigation LEDs (all LEDs off, no armed, LEDs on in any combination, armed). I'd be happy to give up A4 as well, since showing the status of CH7 is not that critical to me. And A8 seems to be unused, so that could be the third bit

I know I could use UserHooks to add code to implement that, but I really I'm not confident enough to change the firmware.

I'm hoping that enough users could benefit from it that it can be implemented in the main code

I know I could also use something like http://store.jdrones.com/jD_IOBoard_p/jdioboard11.htm to do something similar. But it's another board to fit on the quad, and I don't need all those features, just a visual indication of the flight mode I'm in.

Is there already a way to show the flight mode status using LEDs? (outside of the standard 4 LEDs, which I'm already using but only show armed, GPS, ch7 and "beeper")

rmackay9 commented 10 years ago

@robcazzaro, re your last question, no there's no way to show the flight mode status using the LEDs currently. Txs for the enhancement request.

robcazzaro commented 10 years ago

Good to know I didn't miss an existing function. I'll go the IOBoard route for now, and keep my eyes out for a possible future addition to the codebase

And thanks for listening to suggestions :)

squilter commented 10 years ago

@robcazzaro I think that adding even more status indicators makes flying overly complicated. IRIS has an external led that gives status messages, as well as 4 LEDs to determine its orientation. I still need my cheat sheet to figure out what the status messages mean.

If you want to know what mode you are in without looking down, you can use DroidPlanner and enable TTS. It'll read any mode changes out loud.

robcazzaro commented 10 years ago

There are a lot of ways to know what mode you are in. None as simple as a LED, though :-) Your solution assumes I have an Android device capable of USG to go and telemetry

I'm thinking of a simple indicator: flip a switch, see a red led, I know I'm in loiter mode. Flip another, see white, I'm in a mission. Flip another, see green, I know it's coming home (RTL). I'm looking at the quad when flying, not at the radio, and I have flipped the wrong switch by mistake (6 possibilities, lots can go wrong). Sure, you can make it too complicated and need a decoder ring :-) but there is value in visual confirmation. I can't really argue it's a must have feature, but the current LED output is less than optimal, with some redundant info (I know my quad is armed, because the propellers spin), so I'd like to think it's possible to use those outputs to generate more info

rmackay9 commented 10 years ago

Note that AC3.2 adds support for FRSky telemetry (Pixhawk only) which allows displaying the flight mode on the transmitter. http://copter.ardupilot.com/wiki/common-frsky-telemetry/

robcazzaro commented 10 years ago

Ooooh, I missed that. Really cool. Well, I guess it's time to close this then :-) between the native FrSky telemetry, existing DroidPlanner telemetry and the possible use of the Jdrones board for LEDs, I have troubles justifying this...

Now we just need to wait for 3.2 to ship, possibly before rc20 :) (sorry couldn't resist: I actually love to see how much work is going into making 3.2 release-quality, and how the team is not cutting corners)

thanks, Rob