Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: dword value translate into real

  1. #1
    Junior Member
    Join Date
    Jan 2012
    Posts
    16

    Default dword value translate into real

    Hello guys,
    I would like to convert a dword that this case is a block as below:
    In EFI Live to send to ECU f4 57 01 00 b4 receives 63 bytes below:
    f4 57 01 00 b4 f4 95 01 0b 85 00 00 00 89 00 24
    00 25 00 29 00 00 00 70 58 80 00 80 04 59 48 00
    31 35 5a cf e7 00 00 8a 27 00 43 00 3a 80 50 00
    68 08 48 04 24 07 01 02 5f 80 e0 00 a1 2c 30 88
    bd c1 02 34 09 47 02 d6

    Ignoring that in response to the request back ECU f4 57 01 00 b4 we f4 95 01, the rest of the data is from my ECU parameters:
    0b 85 00 00 00 89 00 24
    00 25 00 29 00 00 00 70 58 80 00 80 04 59 48 00
    31 35 5a cf e7 00 00 8a 27 00 43 00 3a 80 50 00
    68 08 48 04 24 07 01 02 5f 80 e0 00 a1 2c 30 88
    bd c1 02 34 09 47 02

    Ja paper could convert nearly all of that data set, e.g. the bytes 00 00 00 represent the code errors of the sensors, the next byte 89 is the engine temperature and byte 24 is the TPS volts...

    But the first two bytes as 0B and 85 is a dword that rode in EFI Live and gave the final digits of my ECU is 2949, but on paper I can not convert this value ...

    Can anyone here help me identify or translate as dword 0B 85 in 2949?

    My intention is to develop its own software monitoring and lack only unravel this puzzle for me to start developing.

    I count on the help of the guys in this forum

    Looking forward.

  2. #2
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,128

    Default

    To decode a WORD value (16 bits), you need to set Start="the second byte - i.e. the byte position of the 85 in the reply" and Bits=16.
    Use a factor of 1 and an offset of 0.

    To display it as a hex number (i.e. 0B85) check the "Hex" checkbox.
    To display it as a decimal number (i.e. 2949) uncheck the "Hex" checkbox.

    Regads
    Paul
    Before asking for help, please read this.

  3. #3
    Junior Member
    Join Date
    Jan 2012
    Posts
    16

    Default

    Paul, EFI has me the result of 2949, because the option is desmacada hex and offset is 0.

    Now as I can get value in 2949 making this conversion in pencil, this is what I understand as this will help me to further refine my EFI and also help me with the work of the college is to develop a monitoring system sensors of the vehicle, understand ...

    Can you help me with this?

    Thanks!

  4. #4
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,128

    Default

    Quote Originally Posted by todiboa View Post
    Paul, EFI has me the result of 2949, because the option is desmacada hex and offset is 0.

    Now as I can get value in 2949 making this conversion in pencil, this is what I understand as this will help me to further refine my EFI and also help me with the work of the college is to develop a monitoring system sensors of the vehicle, understand ...

    Can you help me with this?

    Thanks!
    I'm not sure what you are asking for.

    Are you asking how to make the EFILive software display the hex bytes 0x0B85 as the decimal value 2949 or do you want it to display as the hex value 0x0B85?
    Or
    Are you asking how to convert all the other data bytes into their decimal values?
    Or
    Are you asking if anyone has information on the data stream format that matches your ECU with an EEPROM ID of 0x0B85?

    Regards
    Paul
    Before asking for help, please read this.

  5. #5
    Junior Member
    Join Date
    Jan 2012
    Posts
    16

    Default

    Paul is well, I already get that EFI 0b turn 85 in 2949, but what I want now and out of EFI.

    What I want to know is how the EFI could translate 0b85 in 2949, because if you look at the ASCII table 0B is 11 in decimal and 85 is 133.

    On the efficiency factor and offset left by 1 to 0 and EFI 0b85 translated in 2949, now look at the ascii table not of this result.

    I want to convert 0b85 in 2949 is at hand, understand?

    Sorry my english, but I'm Brazilian and do not speak English, I used the google translator to get me to communicate with you.

    Would like to explain what I got?

    Looking forward!
    Last edited by todiboa; January 13th, 2013 at 12:29 PM.

  6. #6
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,128

    Default

    0x0B85 is a hexadecimal number. Hexadecimal numbers are base 16. To convert base 16 numbers into base 10 numbers (i.e. decimal) you do this:

    0*16*16*16
    +
    B*16*16
    +
    8*16
    +
    5

    Where
    A=10, B=11, C=12, D=13, E=14 and F=15.

    So you end up with:

    0*16*16*16=0
    +
    B (which is 11) * 16*16 = 2816
    +
    8*16 = 128
    +
    5

    0+2816+128+5 = 2949

    Regards
    Paul
    Before asking for help, please read this.

  7. #7
    Junior Member
    Join Date
    Jan 2012
    Posts
    16

    Default

    Thanks Paul, you saved me ...

    Thank you, thank you so much!

    This helped me understand how and EFI is working, thanks!


    Hugs!

  8. #8
    Joe (Moderator) joecar's Avatar
    Join Date
    Apr 2003
    Posts
    27,807

    Default

    Type either of these at Google:

    0xb85 to decimal

    2949 to hex

  9. #9
    Junior Member
    Join Date
    Jan 2012
    Posts
    16

    Default

    Staff can someone help me convert the decimal 31 in ignition advance?

  10. #10
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,128

    Default

    Quote Originally Posted by todiboa View Post
    Staff can someone help me convert the decimal 31 in ignition advance?
    I'd need to know which data stream definition you are using.

    The data streams are defined in *.ds files available here:
    ftp://ftp.diy-efi.org/pub/gmecm/
    Download the file ALDLstuff.zip
    There is a word doc in that zip file that shows you the correct *.ds file for your application, based on engine size, 8th digit of VIN, year etc.

    The correct data stream file will show you the translation for all the parameters. For example in A278.ds the spark advance is defined as:

    33 SCVSATDC SPARK ADVANCE MSB
    34 SCVSATDC+1 SPARK ADVANCE LSB
    DEGREES = value * 90/256 (SIGNED)

    That means it needs to be defined in EFILive like this:
    Click image for larger version. 

Name:	spark_278.png 
Views:	304 
Size:	73.7 KB 
ID:	14407
    In the EFILive definition gm278.xml, the spark is incorrectly defined as unsigned. I just noticed that while creating this reply. The example image above has the signed check box checked correctly.

    MSB is the most significant byte and LSB is the least significant byte.
    i.e. if the MSB was 0x00 and the LSB was 0x47, the 16 bit hex value would be 0x0047 which converts to decimal 71.
    For data stream definition A278.ds, to convert the raw value 71 to spark advance you need to multiply by 90 and divide by 256
    so spark advance is 71*90/256 = 24.96 degrees.

    Note: the spark advance may be (and probably will be) computed differently for different data streams. That's why I'd need to know which data stream you are using before I can explain how it is done for your particular application.

    Regards
    Paul
    Before asking for help, please read this.

Page 1 of 3 123 LastLast

Similar Threads

  1. Real lean at WOT or WB ?
    By maudyZ28 in forum Gen III V8 Specific
    Replies: 2
    Last Post: September 10th, 2012, 07:30 AM
  2. Real Time
    By BadLSX in forum Gen III V8 Specific
    Replies: 11
    Last Post: June 7th, 2012, 02:16 PM
  3. real time VE
    By myws6formula in forum RoadRunner Real-Time PCM Emulator
    Replies: 0
    Last Post: April 14th, 2012, 01:48 PM
  4. Real lean then real rich when zipping the throttle...
    By LS1_Dragster in forum General (Petrol, Gas, Ethanol)
    Replies: 11
    Last Post: March 11th, 2011, 08:23 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •