Autor |
Nachricht |
coyote01 Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
10-09-2012, 21:03 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Hello,
How to read the time from frame 0x65D?
Link to log from Seat Leon 1P, model year 2007:
https://docs.google.com/spreadsheet/ccc?key=0Am_AZ0nI0nKLdGRYWHUteGdXU3JPYVluWEthSy1ZdUE |
|
Nach oben |
|
|
Dieselfahrer CAN-Profi
CAN Hacker seit: 28.07.2011 Beiträge: 79 Karma: +6 / -0
CAN Support
|
10-09-2012, 21:32 Titel: Re: How to decode instrument clusters time from frame 0x65D? |
|
|
Zitat: | How to read the time from frame 0x65D? |
Encoding should be like this:
BO_ 1629
SG_ aging_Counter : 0|8@1+ (1,0) [0|254] ""
SG_ Odometer : 8|20@1+ (1,0) [0|1048575] "Unit_KiloMeter"
SG_ Year : 28|7@1+ (1,2000) [2000|2127] "Unit_Year"
SG_ Month : 35|4@1+ (1,0) [1|12] "Unit_Month"
SG_ Day : 39|5@1+ (1,0) [0|31] "Unit_Day"
SG_ Hour : 44|5@1+ (1,0) [0|23] "Unit_Hours"
SG_ Minute : 49|6@1+ (1,0) [0|59] "Unit_Minut"
SG_ Second : 55|6@1+ (1,0) [0|59] "Unit_Secon"
SG_ alt_Odo : 62|1@1+ (1,0) [0|1] ""
SG_ alt_Time : 63|1@1+ (1,0) [0|1] |
|
Nach oben |
|
|
coyote01 Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
10-09-2012, 23:42 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Thanks for reply!
But, I don't understand this notation
For example, notation:
SG_ Hour : 44|5@1+ (1,0)
means:
44|5 --> 44 is 'start bit'* offset? 5 is bits length?
@1+ --> I don't know what it means
(1,0) --> 1 is value by which we are dividing result value? 0 is value which we are adding to the result
0|23] --> 0 is minimum value and 23 is maximum value
* - first from bits creating the value
Zuletzt bearbeitet am 10-09-2012, 23:43, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
|
Dieselfahrer CAN-Profi
CAN Hacker seit: 28.07.2011 Beiträge: 79 Karma: +6 / -0
CAN Support
|
11-09-2012, 10:49 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Zitat: | For example, notation:
Zitat: | SG_ Hour : 44|5@1+ (1,0) [0|23] "Unit_Hours" |
means:
44|5 --> 44 is "start bit" offset? 5 is bits length? |
Yes. Simply take all bits as numbered from 0 to (max.) 63 - among other things this keeps you from arguing whether the first byte is byte0 or byte1 (Bosch has been a bit strange on this) and makes things easier if you have signals overlapping several bytes - like in this message.
Zitat: | @1+ --> I don't know what it means |
Me too. I guess this was taken from some symbol file and I think I have never seen anything different from @1+
Wild guess: This is something about LSB/MSB first.
Right. |
|
Nach oben |
|
|
coyote01 Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
11-09-2012, 20:04 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Thanks for the clarification, but this pattern does not match the data read by me
An attempt to read the number of seconds:
http://jsbin.com/ohevez/3/edit |
|
Nach oben |
|
|
Thomas Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
15-09-2012, 18:25 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Hello,
the bit order seems to be different from what one would expect:
A7|A6|A5|A4|A3|A2|A1|A0
O7|O6|O5|O4|O3|O2|O1|O0
O15|O14|O13|O12|O11|O10|O9|O8
Y3|Y2|Y1|Y0|O19|O18|O17|O16
D0|MO3|MO2|MO1|MO0|Y6|Y5|Y4
H3|H2|H1|H0|D4|D3|D2|D1
S0|M5|M4|M3|M2|M1|M0|H4
x|x|x|S5|S4|S3|S2|S1
A7-A0: aging counter
O19-O0: odometer
Y6-Y0: year
MO3-MO0: month
D4-D0: day
H4-H0: hour
M5-M0: minute
S5-S0: second
Look at:
http://jsbin.com/ohevez/8/edit |
|
Nach oben |
|
|
coyote01 Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
15-09-2012, 20:29 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
Thank you very much Thomas! |
|
Nach oben |
|
|
muurman
CAN Hacker seit: 24.07.2016 Beiträge: 14 Karma: +4 / -1
Kostenloser Account, kein CAN Entwicklungs-Support
|
13-08-2016, 21:05 Titel: How to decode instrument clusters time from frame 0x65D? |
|
|
my arduino code:
bitWrite(uur,4,bitRead(rxBuf[6],0));
bitWrite(uur,3,bitRead(rxBuf[5],7));
bitWrite(uur,2,bitRead(rxBuf[5],6));
bitWrite(uur,1,bitRead(rxBuf[5],5));
bitWrite(uur,0,bitRead(rxBuf[5],4));
bitWrite(minuut,5,bitRead(rxBuf[6],6));
bitWrite(minuut,4,bitRead(rxBuf[6],5));
bitWrite(minuut,3,bitRead(rxBuf[6],4));
bitWrite(minuut,2,bitRead(rxBuf[6],3));
bitWrite(minuut,1,bitRead(rxBuf[6],2));
bitWrite(minuut,0,bitRead(rxBuf[6],1));
bitWrite(seconde,5,bitRead(rxBuf[7],4));
bitWrite(seconde,4,bitRead(rxBuf[7],3));
bitWrite(seconde,3,bitRead(rxBuf[7],2));
bitWrite(seconde,2,bitRead(rxBuf[7],1));
bitWrite(seconde,1,bitRead(rxBuf[7],0));
bitWrite(seconde,0,bitRead(rxBuf[6],7)); |
|
Nach oben |
|
|
|