EcuFlash Discussion about EcuFlash.

LINK ECU Binary Protocol

Thread Tools
 
Search this Thread
 
Old 10-15-2014, 12:32 PM
  #1  
Newb
Thread Starter
 
97NA's Avatar
 
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, 309 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: 704
Total Cats: 21
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
 
97NA's Avatar
 
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
 
AlwaysBroken's Avatar
 
Join Date: Jun 2015
Location: TAMPA, FL
Posts: 817
Total Cats: 20
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
 
AlwaysBroken's Avatar
 
Join Date: Jun 2015
Location: TAMPA, FL
Posts: 817
Total Cats: 20
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
19
01-08-2021 11:24 AM
zephyrusaurai
Meet and Greet
2
09-28-2015 10:59 PM
viriiguy
General Miata Chat
5
09-28-2015 07:39 PM



Quick Reply: LINK ECU Binary Protocol



All times are GMT -4. The time now is 02:17 AM.