riffelj

Active Member
I've got the GrandRapids EIS 4000 (the little text based one, NOT the full glass one) and really like it. It provides real insight into what's going on up front. However I'm trying to balance my fuel injector nozzles - and the GR EIS approach to logging is giving me a challenge.

Apparently the GR will deliver data thru the built in serial port. Trouble is, that means I've got to get a USB/Serial adapter (new laptops don't have serial ports anymore), plug it into a laptop, and strap the stuff into the seat when I go flying. So far I haven't resorted to all of that fuss. Instead I just try to manually log the data as I fly - which is clumsy at best.

Anyone found a better solution for getting the GR to deliver it's log ... like via a PDA or something? I sure would like to get a better set of data that what I've been getting by manually logging the stuff.
"Jerry"
RV7A
 
There are devices that just do that.. typically the size of a pack of cigarettes... and they hook up to the serial port and just record whatever is coming through.. I don't have any brand names off of top of my head.. but a little internet search should turn something up..
 
Check out this option:

http://www.eismate.com/

Lets you log data to a Palm Pilot. I've used it and it worked fine; I was able to import the files into Excel for analysis. I had some difficulty with the temperature reading for OAT (read 50? too high) but I think the last version fixed this.
 
One solution would be to permanently wire in a bluetooth serial port adapter to the EIS then use an application on your phone or PC to capture the data.

I have an S60 nokia cell phone on which I was able to install Python. A short very basic script simply logs NMEA data from a bluetooth GPS saving to the phone's memory card.

It works well for the GPS (@ 5Hz update rate) and could be adapted to record the EIS data. I'm happy to share the code.

Doug Gray
 
Allan - I use the EIS mate but you also need to buy a Palm Tungsten T2 and buy or make a data/charging cable. It's nice because it does have some displays for the engine data, but it's not very readable in sunlight and the screen is small.

There is also this software http://iflyez.com/EFISRecorder.shtml that I've downloaded but not tried yet.


Doug - that would be a great way to do it. I'll like to have the code and any other info you have.
 
The Python code I use is listed below - it very simply takes everything received from the bluetooth serial device and appends it to the file 'dump_log_file.txt' - creating it first if it does not exist. You can rename this file at the end of a flight to create separate files.

The GPS NMEA data stream is ascii text.

I believe the script will capture the binary data from an EIS but the file would need to be interpreted to extract useful data.

Python would be available free for just about any 'programmable' phone or other handheld device these days - Google might help to track a download down. There are pleanty of devotees of Python who are eager to see it available on every platform.

I have only tried this on the Nokia S60 phone - so it may not work out of the box on other systems without some changes - for example the e32 and appuifw modules may be S60 specific.

One point to note is the gps_addr string is the hardware id of the bluetooth interface device and is unique to each device. The advantage of this is that the script will connect to this device immediately and unambiguously if you happen to be in a sea of bluetooth. (Have you ever tried scanning for bluetooth devices when you are stuck in traffic?)

The disadvantage is that this code must be discovered and inserted into the script. I simply use my laptop and scan for the devices available.

If someone is interested further in decoding the file or perhaps modifying the script to generate more meaningful ascii text from the EIS data stream I have some Python code to do that as well. Send me a PM.

Doug Gray


Code:
import socket
import appuifw
import e32

gps_addr = "00:0B:0D:86:2B:B9"  # 5Hz GPS

sock=socket.socket(socket.AF_BT, socket.SOCK_STREAM)
target=(gps_addr,1) # serial connection to GPS
sock.connect(target)

print 'Connected to the GPS'

log_fh = open('e:\\Python\\dump_log_file.txt','a')

going = 1
lock = e32.Ao_lock()

def exit_key_pressed():
        """Function called when the user requests exit"""
        global going
        going = 0
        appuifw.app.exit_key_handler = None
        lock.signal()


appuifw.app.exit_key_handler = exit_key_pressed

while going:
        data = sock.recv(1024);
        if not data: break
        log_fh.write(data)

print 'exiting'
sock.close()
log_fh.close()