EcuFlash Discussion about EcuFlash.
Sponsored by:
Sponsored by:

LINK ECU Binary Protocol

 
Old 10-15-2014, 12:32 PM
  #1  
Newb
Thread Starter
 
Join Date: Sep 2013
Posts: 3
Total Cats: 0
Lightbulb LINK ECU Binary Protocol

Hello, I am trying to understand the binary protocol of the link ecu so I can finish implementing it in an android app. I was curious if anyone had any experience with the binary protocol or could understand how to calculate the RPM from the 4th & 5th bytes of the sample? I will be releasing this open source if anyone still uses the FM Link ECU

I found a text file included with the data log lab software, it is what I am using to decipher it.

Any help would be much appreciated!
Attached Files
File Type: txt
2COMMS Updated.TXT (13.3 KB, 166 views)
97NA is offline  
Old 10-15-2014, 12:44 PM
  #2  
Senior Member
iTrader: (7)
 
RedCarmel's Avatar
 
Join Date: Oct 2011
Location: Horse and Buggy, PA
Posts: 689
Total Cats: 18
Default

My best guess would be to PM Ken Hill on this forum and ask. He helped develop the FM link.
RedCarmel is offline  
Old 10-15-2014, 12:53 PM
  #3  
Newb
Thread Starter
 
Join Date: Sep 2013
Posts: 3
Total Cats: 0
Default

Alright I will try and message him. Thank you!

My post count is too low :[ - I will leave a visitor message.

Last edited by 97NA; 10-15-2014 at 12:55 PM. Reason: Not enough posts!
97NA is offline  
Old 06-15-2015, 07:02 PM
  #4  
Senior Member
 
Join Date: Jun 2015
Location: TAMPA, FL
Posts: 787
Total Cats: 18
Default

I wrote a windows app that handled the link serial protocol just fine, but that was like 8 years ago and I am not sure what I did with the source code (was many hard drives ago). If I track it down, I'll be sure to try and help.

IIRC, I did bitwise operations to get out the time value and then divided a constant by the time to get the RPM value. Or something like that.
AlwaysBroken is offline  
Old 06-15-2015, 11:08 PM
  #5  
Senior Member
 
Join Date: Jun 2015
Location: TAMPA, FL
Posts: 787
Total Cats: 18
Default

Found this. Apologies if the code is ****, I wrote it a million years ago in a language I've since forgotten:

this.rpm = calculateRPM(bytearray[3], bytearray[4]);
private int calculateRPM(byte high, byte low)
{
int rpm = 0;
try
{
int increments_per_minute = 1875000; //(usec * 32 per minute)
int high_byte = (int)high;
int low_byte = (int)low;
int time = (high_byte << 5) + (low_byte >> 2);
rpm = increments_per_minute / time;
}
catch { }
return rpm;
}
AlwaysBroken is offline  
 
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
bigmackloud
Miata parts for sale/trade
16
03-03-2019 03:41 PM
zephyrusaurai
Meet and Greet
2
09-28-2015 10:59 PM
viriiguy
General Miata Chat
5
09-28-2015 07:39 PM


Thread Tools
Search this Thread
Quick Reply: LINK ECU Binary Protocol


Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service

© 2019 MH Sub I, LLC dba Internet Brands

We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.