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!

EEHack 4.0 Released!

The new version of EEHack is (probably) stable enough to use!

Download it here!

It records, modifies, tunes, analyzes, graphs, and flashes your LT1 in almost every conceivable way to help you nail the perfect tune more quickly.

This thing is now a monster with many tens of thousands of lines of code, and exponentially more features than any LT1 datalogging utility on the market, for free.

I worked hard on this one.  Just a small sample of stuff I’ve done (there’s TONS more, see changelog and features & screenshots):

  • An appearance makeover
  • A proper windows installer with all new libraries included
  • Flash write improvements and enhancements, better recovery modes, will salvage a ‘bad flash’ most of the time!
  • Passive datalogging improving patch insertion enables AFR display and faster data rate
  • Tons and tons of bug fixes and performance improvements
  • Automatic transmission functions
  • New and improved analyzers
  • Presets for graph combos
  • Major wideband improvements
  • Display percentages and optionally round them off for easy readability
  • More actuators (fans, air, ac, etc)
  • Cylinder drop test should work well now
  • Graph CL/WOT enable/disable as a transparent overlay

Enjoy!!

This thing clobbers commercial LT1 dataloggers now, if you use the ‘donate’ button in the about tab and throw me a few bucks, I’d appreciate it a lot!

 

Donations

I’d like to take a moment and thank everyone that’s recently pitched in a few bucks to my paypal beer/carparts fund, and mostly from the gearhead-efi crew.  Some donations have been especially generous.

I know that none of us LT1 folks are rich, especially after dumping so much into keeping these beat up old sports cars running.  Every time I get an email that someone has thrown me a tip, big or small, it makes my day.

I’ve never really directly asked for anything for my time and efforts (…outside of putting a big ‘donate to beer fund’ button in the about tab of eehack, which will be in the next version…)

The timing has been really great, my wife has been out of work for some time now, so my car budget is shot, and my clutch throw-out bearing is starting to sound like it’s possessed by demons.  Now I can afford a proper replacement.

Your donations have really demonstrated to me that:

  • I did the right thing investing a lot of my free time into this project
  • Taking the high road with “Free and open source” is the right way to go
  • People actually do still tune LT1s!
  • People find the tools useful and appreciate it, instead of seeing them as just a novelty

Just a few more things to tidy up, and 4.0 should be released soon!

Comparsion of $EE Dataloggers

TTS Datamaster

  • Retails for approx $120
  • Logs all useful engine data
  • Logs all useful transmission data
  • Custom RAW parameter definition, for widebands etc
  • Simple ‘running average’ BLM histogram analyzer
  • Clears DTC codes
  • Retrieves VIN number
  • Saves CSV logs (configurable)
  • Simple 4 channel data graph (Small)

Scan9495

  • Free!
  • Logs all useful engine data
  • Logs all useful transmission data
  • Reads and clears ABS and SIR codes
  • Records and exports log files
  • Test IAC, idle target, A/C, AIR, ABS, other actuator tests
  • Advanced electrical faults readout
  • Simple 4 channel data graph (Large)
  • Retrieves VIN, CAL ID, lots of other info

TunerPro RT

  • Free! (With nag screen, and registration reccommended)
  • Difficult configuration for beginners (highly customizable)
  • Integrated data tracing and bin editing (display parameters over tuning tables)
  • Can read ANY data (depends on ADX)
  • Can display ANY data (requires manual dashboard config)
  • Multiple graphing (requires manual configuration)
  • Running average history table analysis (no record filtering capability)
  • Can tweak ANY engine parameter available in the mode 4 message (like eehack), but only to fixed pre-defined values in ADX, and new commands clear all previous ones. Requires datasheets and manual configuration.
  • Wideband input no problem (requires raw configuration, knowledge of datastream, and some math)

EEHack (4.0+)

  • Free!  (And open source) (beer money appreciated)
  • Displays only engine parameters useful for tuning, “Fast” mode with increased acq rate available
  • Modify timing advance in real-time, either manually or automatically with 3×3 map/rpm “AutoSpark” table, with 5 degree safety switch, visual knock warning, and knock reactive routine.
  • Set forced AFR target
  • Set arbitrary idle target or iac steps
  • Force on/off closed loop, BLM learn, Fans, gear select, TCC on/off, etc.
  • Force TCC and gear selection
  • Disable arbitrary injectors per-cylinder to test cylinder strength
  • Wideband input two-point arbitrary configuration, presets, and optional smoothing
  • Open loop AFR target display (requires patch)
  • Onboard notepad with limited parameter snapshotting
  • Full-time data recorder with optional log stacking. If you’re connected, you’re logging.
  • Raw or CSV data output format.
  • Read BLM cell memory block directly from ECM
  • Custom command insertion with automatic checksum and length calculation, single-shot or loop mode
  • Two large synchronized anti-aliased graphs with closed loop and WOT status transparent overlays, with one-click presets for common data sets
  • Very fast static parametric ‘one-click’ fuel and knock analyzer suite:
    • Global coolant or timestamp restrictions
    • Cellular BLM/INT trims or wideband REAL average in both VE MAP/RPM and MAF AFGS scope
    • Power enrichment analysis in rpm vs map
    • o2 performance analyzer
    • Seperate idle trim bank display
    • BLM population and range analysis
  • Reads and sets arbitrary VIN to any 17 digit string and CAL ID
  • Flash READ with or without RAM section
  • Flash WRITE with optional T/E side selection, bin compare feature with auto-save, 0xFF compression, aggressive failure recovery, and passive datalog-enhancing patch insertion