Jul 20, 2014, 10:15 PM
Joined Feb 2008
It has been almost a year for this project to evolve into beeing worthy another release. I did a lot of work on the communication to an iDev, it works without any problems here now. I tried to integrate Parrots GPS capabilities, but had no success understanding what they are doing. This led to integrating the FlightRecorder as a possible source for GPS data, but doing the handling of the data in the pilot companion program.
- SETUP mode shows switch- and mode-selection in sketch. Example: 1sM2 means one switch Mode 2.
- Dropped MERX Macro, mechanism uses fixed 0.5 second timeout. The trigger of the mechanism will not initiate an auto land directly; it rather signals the companion program that RX/TX got disconnected. Added disconnect action deferral time to configuration parameters. The disconnect action is done by the companion program now, this way the auto land can be done even if the Arduino/MiruPCB gets physically disconnected from the drone.
The default disconnect action is to land the drone after the timeout set in the configuration parameters. The disconnect timeout is cancelled should a reconnection occur within the timeout period.
- Improved Arduino link failure check, this would NOT have been an issue if the mod would always be properly secured. The new 6 position connector with 5 pins making the connection is definitely not enough to hold the whole assembly from a mechanical standpoint!
An Arduino/MiruPCB link failure is considered catastrophic and the drone is instructed to land immediately, there is no recovery from that!
- Changed default climb speed in Standard configuration from 1500 -> 2000 mm/s.
- Dropped supports for drone firmware 1.7.4 and below, those are the pre session concept versions.
- Reworked my work around Parrots session concept. The connection to an iDev is much better now. Extended iDev communication failure timeout to 30 seconds, sometimes FreeFlight just goes to lunch when it starts up.
- If you use the GSWO output (GSWO_ENA >= 0), there is a new macro GSWO_SRC which allows to choose between the GEAR channel status and BEEP. BEEP is a new signal intended to drive a buzzer on the GSWO output. Keep in mind, this output comes directly out of the processor, it uses 5V signaling and can source/sink 20mA without major problems. Don’t kill the output, when in doubt use a transistor/FET to switch the load.
- The new BEEP signal is designed to give audible feedback to the user. If the pilot is used as companion program it will beep once when it receives GPS data for the first time, 2 or 3 beeps when the GPS changes fix status. The pilot will also beep 3 times when it thinks it arrived at the target position.
- Stick-o-magic of throttle stick has been extended. Stick right still sets/resets an EMERGENCY, but stick left action depends on throttle position:
left-up causes 5 BEEPs, if you connect a buzzer you have a ‘find me’ alarm
left-mid issues a flat trim to the drone (like before, except it will not set home)
left-down: tells the pilot, if running, to set the home position if the GPS is ok
Pilot companion program changes:
- Added LAUNCH point, it is set on launch if the GPS is working. The “Return to Home” function (RTH) is called “Return to Launch” (RTL) now. The HOME point is set by the user (throttle stick down-left) and provides a fallback position in case the launch point can’t be set at launch. FYI: The HOME point is not committed to permanent storage and does not survive a reboot of the system!
- Pilot is monitoring iDev more closely; a start/land from FreeFlight is recognized by the pilot program and simulated in the NavData forwarded to FreeFlight. You should tell FreeFlight to take-off, which the drone will not do but FreeFlight will think it did. This way FreeFlight will communicate waypoints you set. If you have an onboard GPS you can switch to the Navigation screen in FreeFlight and set a waypoint by touching the map and pressing ‘GO’. Opposed to the way FreeFlight behaves, this will only set the waypoint! You have to switch to FM3 for the pilot to engage and take the drone there. The pilot will consume the waypoint once instructed to use it; the next switch to FM3 will be a RTL unless you manage to set another waypoint.
This feature is limited by the reach of Wi-Fi since the iDev needs to be able to communicate with the drone to set the waypoint. A waypoint can be set outside of Wi-Fi range; it has to be at least 10 Meters away from the current position, but must be within an 1100 Meter radius of the launch/home point. If the current position or launch/home point is unknown (bad GPS data) the waypoint cannot be set.
- The pilot programs disconnect action might be different from the default auto land. If the GPS is working, the launch/home point is set and the drone is further away than 10 Meters from it, the pilot will take the drone up for 3 seconds at half power and then attempt a RTL. On a reconnect the pilot is aborted and the mod goes back to following the instructions from the TX. Don’t put your TX on LAND if you see it happening, if RX/TX reconnect and the flight mode is LAND the drone will land, no matter what you do. If the pilot succeeds in reaching the launch/home point before a reconnect occurs, it will lower the altitude gently until an altitude of 2,5 Meters is reached and then lands the drone.
- When the pilot is in command of the drone the ‘running lights’ blink with a one second period.
- Added pickup of FlightRecorder GPS data from NavData TAG 27.
- Pilot program fills TAG 27 if there is no FlightRecorder present and the Arduino/MiruPCB sends GPS data. This way the iDev navigational maps will work for you.
Have fun and let me know of any problems!