Now packaging Linux64 build

With the direction that Windows is moving in, I believe that Linux is the future for many oldschool ECM tuners.

One cool thing about EEHack is that it runs almost effortlessly in Linux, being written in QT.  One of our more advanced users and beta testers, Brian, uses Linux almost exclusively with each new release and has reported no major issues.

The major hitch in that plan is that EEHack requires QT 5.6 due to some issues with serial ports in older versions, which is a brand new thing, and most distributions don’t package it yet.

So, to assist users in installing EEHack on their 64-bit linux systems without having to compile or install or whatever, I’ve decided to provide a generic package for Linux users.  Sorry, 32-bit guys, providing two packages is too much work.

It requires no installation, no root access, and should simply ‘unpack and run’.

Give it a shot and let me know how it goes!

Download “EEHack Linux64” eehack4.5.1-linux64.tar.bz2 – Downloaded 61 times – 19 MB

EEHack 4.5 Beta

Working on a new version, it’s almost ready…..

The biggest changes are multi-message support and a less rigid data model for parameters.

In short, eehack can now extract more data.

LOTS MORE DATA.

I’d come to realize that eehack was fairly limited in that respect.  I’d tried to focus on parameters only useful for average tuners so you weren’t overwhelmed with a bunch of bells and whistles, and so I wasn’t overwhelmed trying to maintain such a large dataset, meaning EEHack suffered in its ability to diagnose problems, or deal with unique situations.

Now, instead of just few dozen parameters available in a fixed dashboard, we have dynamically generated tabs full of clean, extensible data!

ss444

… I kept the ol’ dashboard alive, though.

Even though over 1,000 hand written parameters are in there (yes, I spent a long time on this definition file), there’s a simple view filter so you don’t have to scroll through a whole bunch of data to find what you’re looking for.

I kept the definition fairly simple for people that want to try modifying parameters themselves, your favorite spreadsheet software should do the trick.  People wanted three decimal places for the MAF AFGS.  Fine, add it yourself.  Add decimal places, change names, whatever you like, eehack will mostly cooperate with you.

EEHack now reads everything from onboard electrical diagnostic chip output to the corvette-only transitional OBD-II junk.

The other big news is thanks to kur4o’s hacking of the e-side, we can leverage this new expandable device and message independent data model in combination with the passive patching during flash system to get a new message from the e-side (the e-side usually doesn’t like talking).

… Don’t understand what this means?

Basically, not only does EEHack now rip the existing datastream apart, it also has all sorts of parameters available from the ‘other motherboard’ that weren’t even possible to access before.  There’s cool stuff over there.  Things like individual spark constructs, VE lookup results.. we’re working on more.

Unfortunately, the move to multi-messages means your old logs wont load, but the good news is the new log format is much more compact and awesome, it is half the size, and stores vin, calibration id, patch version, and much more.

Give it a shot if you’re brave… and please help me test all these new features.  Official release will be soon.

(download removed)

Hacking up EEHack, Preview 4.4+

Just a preview of what I’m working on with the next EEHack.  This is really fresh code, but if you’d like to try it, it seems pretty stable!  http://fbodytech.com/eehack-2/beta/

Threading

EEHack has always been a single-threaded program, meaning events happen in a strict sequence. This is easy to program, but can perform in a sub-optimal way in some situations, and really makes timing of operations a bitch.

The new version of EEHack has a well-isolated and almost completely non-blocking datastream interaction thread, meaning even slow computers should get exceptionally fast and consistent logging speeds, and there’s less of a chance of anything getting in the way of things like flash writes or timing advange modifications.

User Interface

EEHack was written around a single gigantic window class from hell, making it nearly impossible to grow any further without serious rework.

The new version of EEHack was rewritten with modularity in mind, with seperate modules like ‘datalogging’ and ‘controlling’ and ‘flashing’ that have no direct interactions with each other, but share a common datastream and datalog set.

Log Management

Older versions of EEHack dealt with multiple logs by simply appending one to the other.  This worked very well for feeding the analyzer large amounts of data, but made multiple logs hard to work with.  The new version will have a log selection interface to deal with this issue.

Lessons learned..

Even if you think a program will never grow, write it from the ground up like it will.

Look how much work it took after-the-fact to implement threading, log management, and ui segmentation!!!

https://github.com/resfilter/eehack/commit/ebae2cec682f16f4629e504fb2460eb79ca97f05

https://github.com/resfilter/eehack/commit/5b7ec2f6ef575baa47128e5a4881e094156bc409

FTDI Serial Latency, and Threaded EEHack

I’ve found that lowering the latency on an FTDI serial device to 1 or 2 milliseconds gives improved performance for datalogging and other communications, at least at the 8192 baud rates we work with.

ftdi_latency

Give it a shot!

The next version of EEHack, which uses a threads, message queues, and switchboards instead of simple order-of-operations and timers, approaches 17 samples per second in ‘patched’ mode on several test systems with the reduced latency.. which is probably about the maximum you’ll ever see on this old ECM.

EEHack 4.1 Released

EEHack’s 4.1 release is now out!

For those of you running 4.0, hopefully the automatic version notification worked, and this notice won’t even be necessary…

Highlights include improvements to the graphing module, the knock analyzer module, and some minor tune-ups to flash write timing to decrease the chance that errors will occur.

This release is also important as I’ve changed the way font sizes are displayed.  Some users with modern high dpi displays with enlarged fonts found the program unusable.  This should help a lot.

See the full list of changes, or go download it!