Friday, July 21, 2017

Almost Done with DEFIS Altitude Tape

I should have Google'd XEFIS before I settled on the name. It turns out that an EFIS project named XEFIS already existed as an EFIS for a remote controlled plane.

New name time: DEFIS. It stands for DIY (Do It Yourself) EFIS.

I spent a few hours today developing a reusable tape gauge with the altimeter as the first candidate. This recording shows my progress:


The movement is simply a back and forth animation of the telemetry (airspeed, bank, pitch, and altitude). I use this to test the range and behavior of the gauges as I develop them.

The video recording is jumpy but the DEFIS program is actually very smooth. The airspeed tape on the left was my original prototype for a tape gauge and is not very reusable. The altimeter tape on the write is a refactored version that can serve both the airspeed and altimeter or any other vertical or horizontal tape gauge.

I also remotely connected DEFIS to Flight Gear Flight Simulator using an existing Java Telnet client. The data query rate was slow so the instruments were very jumpy. Also, the pitch data from FGFS was inverted, so I added a negate() to the property binding. I will need to think about what makes sense when it comes to pitch positive and negative pitch angles. In addition, the slow data rate leads me to believe I need to put some smoothing animation between values.

Further integration with FGFS will require me to create a listener socket and add a protocol to deliver data. This should be faster than the telnet client, but I'm not hoping for much. I believe FGFS (or any flight simulator) will be beneficial to the development and adoption of DEFIS as it brings it one step closer to real world behavior and performance. Eventually, a physical DEFIS console based on a Raspberry Pi with a touchscreen will integrate with the flight simulator.

Further thoughts on the flight simulator could include recording the simulator output and feeding it into DEFIS during development and test. This would nicely eliminate the simulator need altogether.

The DEFIS project is located at https://github.com/mtyler68/defis