jsimonkeller
Well-known member
I am wondering about changing gears and focusing on the Status signal from ID 23(40) instead of 22(24).
I found a post from another site where the user was trying to get the HVH100 Webasto (Mine are the HVH50, 50 Plus and 70) running using PCAN-LIN and it talks about the ldf (lin description file) which is also mentioned in the PDF manual.
The LDF file contents that were posted on this site looks like this (V1 used Lin 2.0 and V1.5 used Lin 2.1):
In this post, he mentions subscriber frames at IDs 12 and 48.
I think we need to hit up more IDs for testing, but I will try these and will see about running a brute force on the rest of them.
I found a post from another site where the user was trying to get the HVH100 Webasto (Mine are the HVH50, 50 Plus and 70) running using PCAN-LIN and it talks about the ldf (lin description file) which is also mentioned in the PDF manual.
8.5 UDS-Diagnosis
The standard LIN 2.1 Diagnosis frames (see LDF file Frame
ID 0x3C / 0x3D) will be used to map Universal Diagnosis
Services / Sub-Services and Data.
The LDF file contents that were posted on this site looks like this (V1 used Lin 2.0 and V1.5 used Lin 2.1):
Code:
/* ***********************************************************************/
/* */
/* LIN DESCRIPTION FILE */
/* */
/* Date: 16.11.2017 */
/* Project: HVH100_800 */
/* Version: V1.00.00 */
/* */
/* Network: LIN */
/* Slave(s): HVH_100 Hochvolt Heizung */
/* Master: Controller HVH_Controller */
/* */
/* */
/* ***********************************************************************/
LIN_description_file;
LIN_protocol_version = "2.0";
LIN_language_version = "2.0";
LIN_speed = 19.2 kbps;
Nodes {
Master: Controller, 10 ms, 0.1 ms ;
Slaves: HVH_100 ;
}
Signals {
HVH_ErrMem_State: 2, 0, HVH_100, Controller ;
HVH_HV_Ilock_Status: 3, 7, HVH_100, Controller ;
HVH_HV_Voltage: 9, 510, HVH_100, Controller ;
HVH_HV_Voltage_Offset: 4, 14, HVH_100, Controller ;
HVH_ParameterChange: 1, 0, HVH_100, Controller ;
KL_HV_PTC_soll: 8, 254, Controller, HVH_100 ;
KL_PTC_ein: 1, 0, Controller, HVH_100 ;
PTC_HV_ERR: 2, 3, HVH_100, Controller ;
PTC_HV_Err_Heizkreis_1: 1, 0, HVH_100, Controller ;
PTC_HV_Err_Heizkreis_2: 1, 0, HVH_100, Controller ;
PTC_HV_Err_Heizkreis_3: 1, 0, HVH_100, Controller ;
PTC_HV_Err_intern: 1, 0, HVH_100, Controller ;
PTC_HV_Err_Leckagestrom: 1, 0, HVH_100, Controller ;
PTC_HV_Err_Temperaturschutz: 1, 0, HVH_100, Controller ;
PTC_HV_Err_Ueberstromabschaltung: 1, 0, HVH_100, Controller ;
PTC_HV_Heizmedium_Sensor_1: 8, 254, HVH_100, Controller ;
PTC_HV_Heizmedium_Sensor_2: 8, 254, HVH_100, Controller ;
PTC_HV_I_ist: 8, 254, HVH_100, Controller ;
PTC_HV_Status_PTC: 3, 7, HVH_100, Controller ;
PTC_ResponseError: 1, 0, HVH_100, Controller ;
PTC_Status_UBatt: 2, 3, HVH_100, Controller ;
PTC_Temp_PCB: 8, 254, HVH_100, Controller ;
PTC_TimeOut_Fehler: 1, 0, HVH_100, Controller ;
PTC_UBatt: 8, 254, HVH_100, Controller ;
}
Diagnostic_signals {
MasterReqB0: 8, 0 ;
MasterReqB1: 8, 0 ;
MasterReqB2: 8, 0 ;
MasterReqB3: 8, 0 ;
MasterReqB4: 8, 0 ;
MasterReqB5: 8, 0 ;
MasterReqB6: 8, 0 ;
MasterReqB7: 8, 0 ;
SlaveRespB0: 8, 0 ;
SlaveRespB1: 8, 0 ;
SlaveRespB2: 8, 0 ;
SlaveRespB3: 8, 0 ;
SlaveRespB4: 8, 0 ;
SlaveRespB5: 8, 0 ;
SlaveRespB6: 8, 0 ;
SlaveRespB7: 8, 0 ;
}
Frames {
HV_He_01: 28, Controller, 4 {
KL_HV_PTC_soll, 0 ;
KL_PTC_ein, 8 ;
}
HV_Hs_01: 48, HVH_100, 8 {
PTC_HV_I_ist, 0 ;
PTC_HV_ERR, 8 ;
PTC_HV_Status_PTC, 16 ;
PTC_Status_UBatt, 19 ;
PTC_ResponseError, 21 ;
PTC_TimeOut_Fehler, 22 ;
PTC_HV_Err_Heizkreis_1, 24 ;
PTC_HV_Err_Heizkreis_2, 25 ;
PTC_HV_Err_Heizkreis_3, 26 ;
PTC_HV_Err_Leckagestrom, 27 ;
PTC_HV_Err_Ueberstromabschaltung, 28 ;
PTC_HV_Err_Temperaturschutz, 29 ;
PTC_HV_Err_intern, 30 ;
PTC_UBatt, 32 ;
PTC_Temp_PCB, 40 ;
PTC_HV_Heizmedium_Sensor_1, 48 ;
PTC_HV_Heizmedium_Sensor_2, 56 ;
}
HV_Hs_02: 12, HVH_100, 8 {
HVH_HV_Voltage, 32 ;
HVH_HV_Voltage_Offset, 41 ;
HVH_HV_Ilock_Status, 45 ;
HVH_ParameterChange, 61 ;
HVH_ErrMem_State, 62 ;
}
}
Diagnostic_frames {
MasterReq: 0x3c {
MasterReqB0, 0 ;
MasterReqB1, 8 ;
MasterReqB2, 16 ;
MasterReqB3, 24 ;
MasterReqB4, 32 ;
MasterReqB5, 40 ;
MasterReqB6, 48 ;
MasterReqB7, 56 ;
}
SlaveResp: 0x3d {
SlaveRespB0, 0 ;
SlaveRespB1, 8 ;
SlaveRespB2, 16 ;
SlaveRespB3, 24 ;
SlaveRespB4, 32 ;
SlaveRespB5, 40 ;
SlaveRespB6, 48 ;
SlaveRespB7, 56 ;
}
}
Node_attributes {
HVH_100{
LIN_protocol = "2.0" ;
configured_NAD = 0x5F ;
product_id = 0x0, 0x0, 0 ;
response_error = PTC_ResponseError ;
P2_min = 10 ms ;
ST_min = 10 ms ;
configurable_frames {
HV_He_01 = 0x401C ;
HV_Hs_01 = 0x4030 ;
HV_Hs_02 = 0x400C ;
}
}
}
Schedule_tables {
ST1 {
HV_He_01 delay 20 ms ;
HV_Hs_01 delay 20 ms ;
HV_Hs_02 delay 20 ms ;
}
DiagRequest {
MasterReq delay 10 ms ;
}
DiagResponse {
SlaveResp delay 10 ms ;
}
}
Signal_encoding_types {
HVH_ErrMem_State_encoding {
logical_value, 0, "Init" ;
logical_value, 1, "Normalbetrieb" ;
logical_value, 2, "WertNachEmpfangMode04Request" ;
logical_value, 3, "WertNachInitialisierung" ;
}
HVH_HV_Ilock_Status_encoding {
logical_value, 0, "Connected" ;
logical_value, 1, "Disconnected" ;
logical_value, 2, "Fehler" ;
logical_value, 3, "unused" ;
logical_value, 4, "unused" ;
logical_value, 5, "unused" ;
logical_value, 6, "unused" ;
logical_value, 7, "Init" ;
}
HVH_HV_Voltage_encoding {
physical_value, 0, 509, 4, 0, "Unit_Volt" ;
logical_value, 510, "Init" ;
logical_value, 511, "Fehler" ;
}
HVH_HV_Voltage_Offset_encoding {
physical_value, 0, 8, 0.5, 0, "Unit_Volt" ;
logical_value, 14, "Init" ;
logical_value, 15, "Fehler" ;
}
HVH_ParameterChange_encoding {
logical_value, 0, "noParameterChange" ;
logical_value, 1, "ParameterChange" ;
}
KL_HV_PTC_soll_encoding {
physical_value, 0, 100, 1, 0, "Unit_PerCent" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
PTC_HV_ERR_encoding {
logical_value, 0, "No_Error" ;
logical_value, 1, "High_Voltage_too_low" ;
logical_value, 2, "High_Voltage_too_high" ;
logical_value, 3, "Init" ;
}
PTC_HV_Heizmedium_Sensor_1_encoding {
physical_value, 0, 220, 1, -50, "Unit_DegreCelsi" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
PTC_HV_Heizmedium_Sensor_2_encoding {
physical_value, 0, 220, 1, -50, "Unit_DegreCelsi" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
PTC_HV_I_ist_encoding {
physical_value, 0, 253, 0.25, 0, "Unit_Amper" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
PTC_HV_Status_PTC_encoding {
logical_value, 0, "PTC_OK" ;
logical_value, 1, "PTC_defekt" ;
logical_value, 2, "PTC_error" ;
logical_value, 3, "PTC_degraded_by_HW" ;
logical_value, 4, "PTC_degraded_by_SW" ;
logical_value, 5, "PTC_overheat_protection" ;
logical_value, 6, "not_defined" ;
logical_value, 7, "Init" ;
}
PTC_Status_UBatt_encoding {
logical_value, 0, "Batterie_OK" ;
logical_value, 1, "Unterspannung" ;
logical_value, 2, "Ueberspannung" ;
logical_value, 3, "Init" ;
}
PTC_Temp_PCB_encoding {
physical_value, 0, 200, 1, -50, "Unit_DegreCelsi" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
PTC_TimeOut_Fehler_encoding {
logical_value, 0, "no_timeout" ;
logical_value, 1, "timeout_detected" ;
}
PTC_UBatt_encoding {
physical_value, 0, 253, 0.1, 0, "Unit_Volt" ;
logical_value, 254, "Init" ;
logical_value, 255, "Fehler" ;
}
SC_Aus_Ein {
logical_value, 0, "Aus" ;
logical_value, 1, "Ein" ;
}
SC_inaktiv_aktiv {
logical_value, 0, "inaktiv" ;
logical_value, 1, "aktiv" ;
}
SC_normal_Fehler {
logical_value, 0, "normal" ;
logical_value, 1, "Fehler" ;
}
}
Signal_representation {
HVH_ErrMem_State_encoding: HVH_ErrMem_State ;
HVH_HV_Ilock_Status_encoding: HVH_HV_Ilock_Status ;
HVH_HV_Voltage_Offset_encoding: HVH_HV_Voltage_Offset ;
HVH_HV_Voltage_encoding: HVH_HV_Voltage ;
HVH_ParameterChange_encoding: HVH_ParameterChange ;
KL_HV_PTC_soll_encoding: KL_HV_PTC_soll ;
PTC_HV_ERR_encoding: PTC_HV_ERR ;
PTC_HV_Heizmedium_Sensor_1_encoding: PTC_HV_Heizmedium_Sensor_1 ;
PTC_HV_Heizmedium_Sensor_2_encoding: PTC_HV_Heizmedium_Sensor_2 ;
PTC_HV_I_ist_encoding: PTC_HV_I_ist ;
PTC_HV_Status_PTC_encoding: PTC_HV_Status_PTC ;
PTC_Status_UBatt_encoding: PTC_Status_UBatt ;
PTC_Temp_PCB_encoding: PTC_Temp_PCB ;
PTC_TimeOut_Fehler_encoding: PTC_TimeOut_Fehler ;
PTC_UBatt_encoding: PTC_UBatt ;
SC_Aus_Ein: KL_PTC_ein ;
SC_inaktiv_aktiv: PTC_HV_Err_Temperaturschutz, PTC_HV_Err_Ueberstromabschaltung ;
SC_normal_Fehler: PTC_HV_Err_Heizkreis_1, PTC_HV_Err_Heizkreis_2, PTC_HV_Err_Heizkreis_3, PTC_HV_Err_intern, PTC_HV_Err_Leckagestrom, PTC_ResponseError ;
}
Code:
<?xml version="1.0" encoding="UTF-16"?>
<!--PCAN-LIN CT profile.-->
<PCLIN_PROFILE Version="1">
<RS-232 Group="0">
<Baudrate>38400</Baudrate>
</RS-232>
<CAN Group="1">
<Active>1</Active>
<Baudrate>28</Baudrate>
<Forward_Mask>134</Forward_Mask>
<Filter_Mask>4294967295</Filter_Mask>
<Filter_Code>0</Filter_Code>
<ID_Offset>0</ID_Offset>
<Error_ID>2033</Error_ID>
</CAN>
<LIN Group="2">
<Active>1</Active>
<Baudrate>19200</Baudrate>
<Forward_Mask>133</Forward_Mask>
<Filter_Mask>255</Filter_Mask>
<Filter_Code>0</Filter_Code>
<Master_Status>1</Master_Status>
<Bus_Termination>1</Bus_Termination>
<Retries>0</Retries>
<Scheduler_Entries Count="3">
<Entry Time="20">28</Entry>
<Entry Time="20">48</Entry>
<Entry Time="20">12</Entry>
</Scheduler_Entries>
<SlaveId_Data>
<ID>63</ID>
<Active>0</Active>
<Length>8</Length>
<Data>
<Byte Index="0">255</Byte>
<Byte Index="1">255</Byte>
<Byte Index="2">255</Byte>
<Byte Index="3">255</Byte>
<Byte Index="4">255</Byte>
<Byte Index="5">255</Byte>
<Byte Index="6">255</Byte>
<Byte Index="7">255</Byte>
</Data>
</SlaveId_Data>
<Bit_Recognition_Status>1</Bit_Recognition_Status>
<Slave_Activation_ID>3343336</Slave_Activation_ID>
<Frame_Configuration>
<Frame>
<ID>0</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="0">255</Byte>
<Byte Index="0">255</Byte>
</Data>
</Frame>
<Frame>
<ID>1</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="1">255</Byte>
<Byte Index="1">255</Byte>
</Data>
</Frame>
<Frame>
<ID>2</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="2">255</Byte>
<Byte Index="2">255</Byte>
</Data>
</Frame>
<Frame>
<ID>3</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="3">255</Byte>
<Byte Index="3">255</Byte>
</Data>
</Frame>
<Frame>
<ID>4</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="4">255</Byte>
<Byte Index="4">255</Byte>
</Data>
</Frame>
<Frame>
<ID>5</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="5">255</Byte>
<Byte Index="5">255</Byte>
</Data>
</Frame>
<Frame>
<ID>6</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="6">255</Byte>
<Byte Index="6">255</Byte>
</Data>
</Frame>
<Frame>
<ID>7</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="7">255</Byte>
<Byte Index="7">255</Byte>
</Data>
</Frame>
<Frame>
<ID>8</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="8">255</Byte>
<Byte Index="8">255</Byte>
</Data>
</Frame>
<Frame>
<ID>9</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="9">255</Byte>
<Byte Index="9">255</Byte>
</Data>
</Frame>
<Frame>
<ID>10</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="10">255</Byte>
<Byte Index="10">255</Byte>
</Data>
</Frame>
<Frame>
<ID>11</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="11">255</Byte>
<Byte Index="11">255</Byte>
</Data>
</Frame>
<Frame>
<ID>12</ID>
<Active>0</Active>
<Length>8</Length>
<Format>1</Format>
<Data>
<Byte Index="12">255</Byte>
<Byte Index="12">255</Byte>
<Byte Index="12">0</Byte>
<Byte Index="12">0</Byte>
<Byte Index="12">0</Byte>
<Byte Index="12">0</Byte>
<Byte Index="12">0</Byte>
<Byte Index="12">0</Byte>
</Data>
</Frame>
<Frame>
<ID>13</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="13">255</Byte>
<Byte Index="13">255</Byte>
</Data>
</Frame>
<Frame>
<ID>14</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="14">255</Byte>
<Byte Index="14">255</Byte>
</Data>
</Frame>
<Frame>
<ID>15</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="15">255</Byte>
<Byte Index="15">255</Byte>
</Data>
</Frame>
<Frame>
<ID>16</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="16">255</Byte>
<Byte Index="16">255</Byte>
</Data>
</Frame>
<Frame>
<ID>17</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="17">255</Byte>
<Byte Index="17">255</Byte>
</Data>
</Frame>
<Frame>
<ID>18</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="18">255</Byte>
<Byte Index="18">255</Byte>
</Data>
</Frame>
<Frame>
<ID>19</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="19">255</Byte>
<Byte Index="19">255</Byte>
</Data>
</Frame>
<Frame>
<ID>20</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="20">255</Byte>
<Byte Index="20">255</Byte>
</Data>
</Frame>
<Frame>
<ID>21</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="21">255</Byte>
<Byte Index="21">255</Byte>
</Data>
</Frame>
<Frame>
<ID>22</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="22">255</Byte>
<Byte Index="22">255</Byte>
</Data>
</Frame>
<Frame>
<ID>23</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="23">255</Byte>
<Byte Index="23">255</Byte>
</Data>
</Frame>
<Frame>
<ID>24</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="24">255</Byte>
<Byte Index="24">255</Byte>
</Data>
</Frame>
<Frame>
<ID>25</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="25">255</Byte>
<Byte Index="25">255</Byte>
</Data>
</Frame>
<Frame>
<ID>26</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="26">255</Byte>
<Byte Index="26">255</Byte>
</Data>
</Frame>
<Frame>
<ID>27</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="27">255</Byte>
<Byte Index="27">255</Byte>
<Byte Index="27">0</Byte>
<Byte Index="27">0</Byte>
<Byte Index="27">0</Byte>
<Byte Index="27">0</Byte>
<Byte Index="27">0</Byte>
<Byte Index="27">0</Byte>
</Data>
</Frame>
<Frame>
<ID>28</ID>
<Active>1</Active>
<Length>4</Length>
<Format>1</Format>
<Data>
<Byte Index="28">0</Byte>
<Byte Index="28">0</Byte>
<Byte Index="28">0</Byte>
<Byte Index="28">0</Byte>
</Data>
</Frame>
<Frame>
<ID>29</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="29">255</Byte>
<Byte Index="29">255</Byte>
</Data>
</Frame>
<Frame>
<ID>30</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="30">255</Byte>
<Byte Index="30">255</Byte>
</Data>
</Frame>
<Frame>
<ID>31</ID>
<Active>0</Active>
<Length>2</Length>
<Format>0</Format>
<Data>
<Byte Index="31">255</Byte>
<Byte Index="31">255</Byte>
</Data>
</Frame>
<Frame>
<ID>32</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="32">255</Byte>
<Byte Index="32">255</Byte>
<Byte Index="32">255</Byte>
<Byte Index="32">255</Byte>
</Data>
</Frame>
<Frame>
<ID>33</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="33">255</Byte>
<Byte Index="33">255</Byte>
<Byte Index="33">255</Byte>
<Byte Index="33">255</Byte>
</Data>
</Frame>
<Frame>
<ID>34</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="34">255</Byte>
<Byte Index="34">255</Byte>
<Byte Index="34">255</Byte>
<Byte Index="34">255</Byte>
</Data>
</Frame>
<Frame>
<ID>35</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="35">255</Byte>
<Byte Index="35">255</Byte>
<Byte Index="35">255</Byte>
<Byte Index="35">255</Byte>
</Data>
</Frame>
<Frame>
<ID>36</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="36">255</Byte>
<Byte Index="36">255</Byte>
<Byte Index="36">255</Byte>
<Byte Index="36">255</Byte>
</Data>
</Frame>
<Frame>
<ID>37</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="37">255</Byte>
<Byte Index="37">255</Byte>
<Byte Index="37">255</Byte>
<Byte Index="37">255</Byte>
</Data>
</Frame>
<Frame>
<ID>38</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="38">255</Byte>
<Byte Index="38">255</Byte>
<Byte Index="38">255</Byte>
<Byte Index="38">255</Byte>
</Data>
</Frame>
<Frame>
<ID>39</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="39">255</Byte>
<Byte Index="39">255</Byte>
<Byte Index="39">255</Byte>
<Byte Index="39">255</Byte>
</Data>
</Frame>
<Frame>
<ID>40</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="40">255</Byte>
<Byte Index="40">255</Byte>
<Byte Index="40">255</Byte>
<Byte Index="40">255</Byte>
</Data>
</Frame>
<Frame>
<ID>41</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="41">255</Byte>
<Byte Index="41">255</Byte>
<Byte Index="41">255</Byte>
<Byte Index="41">255</Byte>
</Data>
</Frame>
<Frame>
<ID>42</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="42">255</Byte>
<Byte Index="42">255</Byte>
<Byte Index="42">255</Byte>
<Byte Index="42">255</Byte>
</Data>
</Frame>
<Frame>
<ID>43</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="43">255</Byte>
<Byte Index="43">255</Byte>
<Byte Index="43">255</Byte>
<Byte Index="43">255</Byte>
</Data>
</Frame>
<Frame>
<ID>44</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="44">255</Byte>
<Byte Index="44">255</Byte>
<Byte Index="44">255</Byte>
<Byte Index="44">255</Byte>
</Data>
</Frame>
<Frame>
<ID>45</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="45">255</Byte>
<Byte Index="45">255</Byte>
<Byte Index="45">255</Byte>
<Byte Index="45">255</Byte>
</Data>
</Frame>
<Frame>
<ID>46</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="46">255</Byte>
<Byte Index="46">255</Byte>
<Byte Index="46">255</Byte>
<Byte Index="46">255</Byte>
</Data>
</Frame>
<Frame>
<ID>47</ID>
<Active>0</Active>
<Length>4</Length>
<Format>0</Format>
<Data>
<Byte Index="47">255</Byte>
<Byte Index="47">255</Byte>
<Byte Index="47">255</Byte>
<Byte Index="47">255</Byte>
</Data>
</Frame>
<Frame>
<ID>48</ID>
<Active>0</Active>
<Length>8</Length>
<Format>1</Format>
<Data>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
<Byte Index="48">255</Byte>
</Data>
</Frame>
<Frame>
<ID>49</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
<Byte Index="49">255</Byte>
</Data>
</Frame>
<Frame>
<ID>50</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
<Byte Index="50">255</Byte>
</Data>
</Frame>
<Frame>
<ID>51</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
<Byte Index="51">255</Byte>
</Data>
</Frame>
<Frame>
<ID>52</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
<Byte Index="52">255</Byte>
</Data>
</Frame>
<Frame>
<ID>53</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
<Byte Index="53">255</Byte>
</Data>
</Frame>
<Frame>
<ID>54</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
<Byte Index="54">255</Byte>
</Data>
</Frame>
<Frame>
<ID>55</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
<Byte Index="55">255</Byte>
</Data>
</Frame>
<Frame>
<ID>56</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
<Byte Index="56">255</Byte>
</Data>
</Frame>
<Frame>
<ID>57</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
<Byte Index="57">255</Byte>
</Data>
</Frame>
<Frame>
<ID>58</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
<Byte Index="58">255</Byte>
</Data>
</Frame>
<Frame>
<ID>59</ID>
<Active>0</Active>
<Length>8</Length>
<Format>1</Format>
<Data>
<Byte Index="59">0</Byte>
<Byte Index="59">0</Byte>
<Byte Index="59">255</Byte>
<Byte Index="59">255</Byte>
<Byte Index="59">255</Byte>
<Byte Index="59">255</Byte>
<Byte Index="59">255</Byte>
<Byte Index="59">255</Byte>
</Data>
</Frame>
<Frame>
<ID>60</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
<Byte Index="60">255</Byte>
</Data>
</Frame>
<Frame>
<ID>61</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
<Byte Index="61">255</Byte>
</Data>
</Frame>
<Frame>
<ID>62</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
<Byte Index="62">255</Byte>
</Data>
</Frame>
<Frame>
<ID>63</ID>
<Active>0</Active>
<Length>8</Length>
<Format>0</Format>
<Data>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
<Byte Index="63">255</Byte>
</Data>
</Frame>
</Frame_Configuration>
</LIN>
</PCLIN_PROFILE>
In this post, he mentions subscriber frames at IDs 12 and 48.
send subscriber frames on LIN by using rtr CAN messages (while scheduler is off):
0x30 len 8 rtr
0x0C len 8 rtr
BTW: wondering why your heater doesn´t respond on ID 0x0C as listed in the ldf
I think we need to hit up more IDs for testing, but I will try these and will see about running a brute force on the rest of them.
Last edited: