//*************************************************************************************// // Description: LIN Description file created using Vector's Network Designer // Created: 13 Mar 2013 10:45:37// Author: 41960// //*************************************************************************************
LIN_description_file;
LIN_protocol_version = "2.1";
LIN_language_version = "2.1";
LIN_speed = 19.2 kbps;
Nodes {
Master: VIUFL, 5 ms, 0 ms ;
Slaves: IBS, RLS, WMM, WMM2 ;
}
Signals {
VIU_FL_IGNStatus: 2, 0, VIUFL, RLS, WMM ;
VIU_FL_VehicleSpeed: 8, 0, VIUFL, RLS, WMM ;
VIU_FL_EnvironmentalTemp: 8, 0, VIUFL, RLS, WMM ;
VIU_FL_Wiper_control_operation: 8, 0, VIUFL, RLS ;
VIU_FL_Wiper_position: 2, 0, VIUFL, RLS ;
VIU_FL_Rain_sensitivity: 3, 0, VIUFL, RLS ;
VIU_FL_880nmTransimission: 7, 0, VIUFL, RLS ;
VIU_FL_550nmTransimission: 7, 0, VIUFL, RLS ;
VIU_FL_Coding_data_low_beam_thresholds: 3, 0, VIUFL, RLS ;
VIU_FL_Coding_type_windscreen: 3, 0, VIUFL, RLS ;
VIU_FL_Coding_Type_vehicle: 3, 0, VIUFL, RLS ;
VIU_FL_RLS_RainDetectReq: 1, 0, VIUFL, RLS ;
VIU_FL_Coding_wiper_system: 2, 0, VIUFL, RLS ;
VIU_FL_Coding_data_rain_sensor_activation: 2, 0, VIUFL, RLS ;
VIU_FL_Coding_data_low_beam_high_speed: 2, 0, VIUFL, RLS ;
DisChargeCurrWU_Treshold: 8, 0, VIUFL ;
ChargeCurrWU_Treshold: 8, 0, VIUFL ;
SOCWU_Treshold: 8, 0, VIUFL ;
RLS_SolarLeft: 8, 0, RLS, VIUFL ;
RLS_SolarRight: 8, 0, RLS, VIUFL ;
RLS_relativeHumidity: 8, 0, RLS, VIUFL ;
RLS_WindshieldTemp: 8, 0, RLS, VIUFL ;
RLS_DewPoint: 10, 0, RLS, VIUFL ;
RLS_Offline_Calibration_Result: 2, 0, RLS, VIUFL ;
RLS_Wiper_speed: 4, 0, RLS, VIUFL ;
RLS_Status_rain_sensor: 4, 0, RLS, VIUFL ;
RLS_Light_switch_reason: 8, 0, RLS, VIUFL ;
RLS_SunRoofCloseReqReason: 4, 0, RLS, VIUFL ;
RLS_LIN2_RollingCounter: 4, 0, RLS, VIUFL ;
RLS_LIN2_CRC: 8, 0, RLS, VIUFL ;
RLS_Light_switch_request: 2, 0, RLS, VIUFL ;
RLS_Status_low_beam: 2, 0, RLS, VIUFL ;
RLS_RLS_error: 2, 0, RLS, VIUFL ;
RLS_Error_calibration_rain_sensor: 2, 0, RLS, VIUFL ;
RLS_Error_status_rain_sensor: 2, 0, RLS, VIUFL ;
RLS_Error_status_coding_rain_sensor: 2, 0, RLS, VIUFL ;
RLS_Error_status_light_sensor: 2, 0, RLS, VIUFL ;
RLS_Error_status_over_temperature: 2, 0, RLS, VIUFL ;
RLS_Error_status_over_voltage: 2, 0, RLS, VIUFL ;
RainfallLevel: 4, 14, RLS, VIUFL ;
RLS_Communication_error: 1, 0, RLS, VIUFL ;
IR_Brightness: 8, 0, RLS, VIUFL ;
FW_Brightness: 10, 0, RLS, VIUFL ;
AMB_Brightness: 10, 0, RLS, VIUFL ;
PWM_Voltage: 10, 0, RLS, VIUFL ;
HUD_Brightness: 14, 0, RLS, VIUFL ;
U_BATT: 14, 0, IBS ;
I_RANGE: 2, 0, IBS ;
I_BATT: 16, 0, IBS ;
T_BATT: 8, 0, IBS ;
IBATT_QUIESCENT: 8, 0, IBS ;
Status_Current: 2, 0, IBS ;
Status_Voltage: 2, 0, IBS ;
Status_Temp: 2, 0, IBS ;
ERROR_Calib: 1, 0, IBS ;
ERROR_IDENT: 1, 0, IBS ;
Resp_Error: 1, 0, IBS ;
FLAG_INCONSISTENCY: 1, 0, IBS ;
SOC: 8, 0, IBS ;
Q_Charge: 16, 0, IBS ;
Q_Discharge: 16, 0, IBS ;
DischargeCurrWu: 1, 0, IBS ;
ChargeCurrWu: 1, 0, IBS ;
SocWu: 1, 0, IBS ;
Wkup_DischargeCurr: 16, 0, IBS ;
RLS_Sensitivity_0: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_1: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_2: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_3: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_4: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_5: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_6: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_7: 6, 0, VIUFL, RLS ;
RLS_Sensitivity_8: 6, 0, VIUFL, RLS ;
RLS_Parameter_Choice: 2, 0, VIUFL, RLS ;
VIU_FL_WiperSpeed: 3, 0, VIUFL, WMM ;
VIU_FL_Service_Position: 2, 0, VIUFL, WMM ;
VIU_FL_Stop_ImmRq: 1, 0, VIUFL, WMM ;
VIU_FL_Override: 1, 0, VIUFL, WMM ;
SOFV_StopEnable: 8, 0, IBS ;
SOFV_Restart: 8, 0, IBS ;
DisChargeCurrWU_Sts: 1, 0, IBS ;
ChargeCurrWU_Sts: 1, 0, IBS ;
SOCWU_Sts: 1, 0, IBS ;
SOC_STATE: 2, 0, IBS ;
SOFV_StopEnable_STATE: 2, 0, IBS ;
SOFV_Restart_STATE: 2, 0, IBS ;
WMM_WiperMotor_Angle: 8, 0, WMM, VIUFL ;
WMM_WiperMotor_Speed: 6, 0, WMM, VIUFL ;
WMM_Wiping_Active: 1, 0, WMM, VIUFL ;
WMM_Park_Area: 1, 0, WMM, VIUFL ;
WMM_Service_Position: 1, 0, WMM, VIUFL ;
WMM_Tunning_Position: 1, 0, WMM, VIUFL ;
WMM_LINError: 1, 0, WMM, VIUFL ;
WMM_MotorError: 1, 0, WMM, VIUFL ;
Wpr_SupVolt_Lo: 1, 0, WMM, VIUFL ;
Wpr_SupVolt_Hi: 1, 0, WMM, VIUFL ;
Wpr_Blk: 1, 0, WMM, VIUFL ;
Wpr_OverTemp: 1, 0, WMM, VIUFL ;
WMM_FusbMovedtimes: 16, 0, WMM, VIUFL ;
WMM_MoveDir: 2, 0, WMM, VIUFL ;
VIU_FL_Splash: 1, 0, VIUFL, WMM ;
Wpr_PlantMode: 1, 0, WMM, VIUFL ;
WMM2_WiperMotor_Angle: 8, 0, WMM2, VIUFL ;
WMM2_WiperMotor_Speed: 6, 0, WMM2, VIUFL ;
WMM2_Wiping_Active: 1, 0, WMM2, VIUFL ;
WMM2_Park_Area: 1, 0, WMM2, VIUFL ;
WMM2_Service_Position: 1, 0, WMM2, VIUFL ;
WMM2_Tunning_Position: 1, 0, WMM2, VIUFL ;
WMM2_LINError: 1, 0, WMM2, VIUFL ;
WMM2_MotorError: 1, 0, WMM2, VIUFL ;
Wpr2_SupVolt_Lo: 1, 0, WMM2, VIUFL ;
Wpr2_SupVolt_Hi: 1, 0, WMM2, VIUFL ;
Wpr2_Blk: 1, 0, WMM2, VIUFL ;
Wpr2_OverTemp: 1, 0, WMM2, VIUFL ;
WMM2_FusbMovedtimes: 16, 0, WMM2, VIUFL ;
WMM2_MoveDir: 2, 0, WMM2, VIUFL ;
Wpr2_PlantMode: 1, 0, WMM2, VIUFL ;
BCM_Wiper_Switch: 3, 0, VIUFL, WMM2 ;
BCM_Intermittent_Level: 4, 0, VIUFL, WMM2 ;
BCM_Front_Wash: 1, 0, VIUFL, WMM2 ;
BCM_VehicleSpeed: 8, 0, VIUFL, WMM2 ;
BCM_Outside_Temp: 8, 0, VIUFL, WMM2 ;
BCM_Auto_WiperSpeed: 3, 0, VIUFL, WMM2 ;
BCM_RainSensor_Status: 1, 0, VIUFL, WMM2 ;
BCM_EngineHood_State: 1, 0, VIUFL, WMM2 ;
BCM_Service_Position: 1, 0, VIUFL, WMM2 ;
BCM_Ignition_Status: 1, 0, VIUFL, WMM2 ;
BCM_Cranking_Status: 1, 0, VIUFL, WMM2 ;
}
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 {
VIUFL_LIN5_1: 1, VIUFL, 8 {
VIU_FL_IGNStatus, 0 ;
VIU_FL_VehicleSpeed, 24 ;
VIU_FL_EnvironmentalTemp, 32 ;
}
VIUFL_LIN5_2: 7, VIUFL, 8 {
VIU_FL_Wiper_control_operation, 0 ;
VIU_FL_Wiper_position, 12 ;
VIU_FL_Rain_sensitivity, 16 ;
VIU_FL_880nmTransimission, 24 ;
VIU_FL_550nmTransimission, 32 ;
VIU_FL_Coding_data_low_beam_thresholds, 44 ;
VIU_FL_Coding_type_windscreen, 48 ;
VIU_FL_Coding_Type_vehicle, 51 ;
VIU_FL_RLS_RainDetectReq, 54 ;
VIU_FL_Coding_wiper_system, 56 ;
VIU_FL_Coding_data_rain_sensor_activation, 58 ;
VIU_FL_Coding_data_low_beam_high_speed, 60 ;
}
RLS_LIN_1: 20, RLS, 8 {
RLS_SolarLeft, 0 ;
RLS_SolarRight, 8 ;
RLS_relativeHumidity, 16 ;
RLS_WindshieldTemp, 24 ;
RLS_DewPoint, 32 ;
RLS_Offline_Calibration_Result, 48 ;
}
RLS_LIN_2: 21, RLS, 8 {
RLS_Wiper_speed, 0 ;
RLS_Status_rain_sensor, 4 ;
RLS_Light_switch_reason, 8 ;
RLS_SunRoofCloseReqReason, 16 ;
RLS_LIN2_RollingCounter, 20 ;
RLS_LIN2_CRC, 24 ;
RLS_Light_switch_request, 32 ;
RLS_Status_low_beam, 34 ;
RLS_RLS_error, 36 ;
RLS_Error_calibration_rain_sensor, 40 ;
RLS_Error_status_rain_sensor, 42 ;
RLS_Error_status_coding_rain_sensor, 44 ;
RLS_Error_status_light_sensor, 46 ;
RLS_Error_status_over_temperature, 48 ;
RLS_Error_status_over_voltage, 50 ;
RainfallLevel, 52 ;
RLS_Communication_error, 63 ;
}
RLS_LIN_3: 24, RLS, 8 {
IR_Brightness, 0 ;
FW_Brightness, 8 ;
AMB_Brightness, 24 ;
PWM_Voltage, 40 ;
HUD_Brightness, 50 ;
}
VIU_FL_Calibartion: 8, VIUFL, 8 {
RLS_Sensitivity_0, 0 ;
RLS_Sensitivity_1, 6 ;
RLS_Sensitivity_2, 12 ;
RLS_Sensitivity_3, 18 ;
RLS_Sensitivity_4, 24 ;
RLS_Sensitivity_5, 30 ;
RLS_Sensitivity_6, 36 ;
RLS_Sensitivity_7, 42 ;
RLS_Sensitivity_8, 48 ;
RLS_Parameter_Choice, 54 ;
}
VIUFL_LIN5_4: 4, VIUFL, 8 {
VIU_FL_WiperSpeed, 0 ;
VIU_FL_Service_Position, 3 ;
VIU_FL_Stop_ImmRq, 5 ;
VIU_FL_Override, 6 ;
VIU_FL_Splash, 7 ;
}
WMM_LIN: 33, WMM, 8 {
WMM_WiperMotor_Angle, 0 ;
WMM_WiperMotor_Speed, 8 ;
WMM_Wiping_Active, 14 ;
WMM_Park_Area, 15 ;
WMM_Service_Position, 16 ;
WMM_Tunning_Position, 17 ;
WMM_LINError, 18 ;
WMM_MotorError, 19 ;
Wpr_SupVolt_Lo, 20 ;
Wpr_SupVolt_Hi, 21 ;
Wpr_Blk, 22 ;
Wpr_OverTemp, 23 ;
WMM_FusbMovedtimes, 24 ;
WMM_MoveDir, 40 ;
Wpr_PlantMode, 42 ;
}
WMM_LIN2: 32, WMM2, 8 {
WMM2_WiperMotor_Angle, 0 ;
WMM2_WiperMotor_Speed, 8 ;
WMM2_Wiping_Active, 14 ;
WMM2_Park_Area, 15 ;
WMM2_Service_Position, 16 ;
WMM2_Tunning_Position, 17 ;
WMM2_LINError, 18 ;
WMM2_MotorError, 19 ;
Wpr2_SupVolt_Lo, 20 ;
Wpr2_SupVolt_Hi, 21 ;
Wpr2_Blk, 22 ;
Wpr2_OverTemp, 23 ;
WMM2_FusbMovedtimes, 24 ;
WMM2_MoveDir, 40 ;
Wpr2_PlantMode, 42 ;
}
VIUFL_LIN5_5: 5, VIUFL, 8 {
BCM_Wiper_Switch, 0 ;
BCM_Intermittent_Level, 3 ;
BCM_Front_Wash, 7 ;
BCM_VehicleSpeed, 8 ;
BCM_Outside_Temp, 16 ;
BCM_Auto_WiperSpeed, 24 ;
BCM_RainSensor_Status, 28 ;
BCM_EngineHood_State, 29 ;
BCM_Service_Position, 30 ;
BCM_Ignition_Status, 32 ;
BCM_Cranking_Status, 33 ;
}
}
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 {
IBS{
LIN_protocol = "2.1" ;
configured_NAD = 0x3 ;
initial_NAD = 0x3 ;
product_id = 0x0, 0x0, 0 ;
response_error = Resp_Error ;
P2_min = 50 ms ;
ST_min = 0 ms ;
N_As_timeout = 1000 ms ;
N_Cr_timeout = 1000 ms ;
}
RLS{
LIN_protocol = "2.1" ;
configured_NAD = 0x4 ;
initial_NAD = 0x4 ;
product_id = 0x36, 0x1200, 0 ;
response_error = RLS_Communication_error ;
P2_min = 50 ms ;
ST_min = 0 ms ;
N_As_timeout = 1000 ms ;
N_Cr_timeout = 1000 ms ;
configurable_frames {
RLS_LIN_1 ;
RLS_LIN_2 ;
RLS_LIN_3 ;
VIUFL_LIN5_1 ;
VIUFL_LIN5_2 ;
VIU_FL_Calibartion ;
}
}
WMM{
LIN_protocol = "2.1" ;
configured_NAD = 0x5 ;
initial_NAD = 0x5 ;
product_id = 0x0, 0x0, 0 ;
response_error = WMM_LINError ;
P2_min = 50 ms ;
ST_min = 0 ms ;
N_As_timeout = 1000 ms ;
N_Cr_timeout = 1000 ms ;
configurable_frames {
VIUFL_LIN5_1 ;
VIUFL_LIN5_4 ;
WMM_LIN ;
}
}
WMM2{
LIN_protocol = "2.1" ;
configured_NAD = 0xFF ;
initial_NAD = 0xFF ;
product_id = 0x0, 0x0, 255 ;
P2_min = 50 ms ;
ST_min = 0 ms ;
N_As_timeout = 1000 ms ;
N_Cr_timeout = 1000 ms ;
configurable_frames {
WMM_LIN2 ;
VIUFL_LIN5_5 ;
}
}
}
Schedule_tables {
Table1 {
VIUFL_LIN5_1 delay 10 ms ;
VIUFL_LIN5_2 delay 10 ms ;
VIUFL_LIN5_4 delay 10 ms ;
VIUFL_LIN5_5 delay 10 ms ;
RLS_LIN_1 delay 10 ms ;
RLS_LIN_2 delay 10 ms ;
RLS_LIN_3 delay 10 ms ;
VIUFL_LIN5_4 delay 10 ms ;
WMM_LIN delay 10 ms ;
WMM_LIN2 delay 10 ms ;
}
Table2 {
VIU_FL_Calibartion delay 10 ms ;
VIU_FL_Calibartion delay 10 ms ;
VIU_FL_Calibartion delay 10 ms ;
RLS_LIN_1 delay 10 ms ;
}
}
Signal_encoding_types {
AMB_Brightness {
physical_value, 0, 1021, 30, 0, "Lux" ;
}
BCM_550nmTransimission {
physical_value, 0, 100, 1, 0, "%" ;
}
BCM_880nmTransimission {
physical_value, 0, 100, 1, 0, "%" ;
}
BCM_Auto_WiperSpeed_Encoding {
physical_value, 0, 7, 1, 0 ;
}
BCM_Coding_data_low_beam_high_speed {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "speed light nor active all" ;
logical_value, 1, "Speed light active High speed low beam active beyond a preset internal threshold" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "invalid" ;
}
BCM_Coding_data_low_beam_thresholds {
physical_value, 0, 7, 1, 0 ;
logical_value, 0, "sensitivity 0" ;
logical_value, 1, "sensitivity 1" ;
logical_value, 2, "sensitivity 2" ;
logical_value, 3, "sensitivity 3" ;
logical_value, 4, "sensitivity 4" ;
logical_value, 5, "sensitivity 5" ;
logical_value, 6, "reserved" ;
logical_value, 7, "invalid" ;
}
BCM_Coding_data_rain_sensor_activation {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "rain function active all" ;
logical_value, 1, "not active if aplicable" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "invalid" ;
}
BCM_Coding_type_vehicle {
physical_value, 0, 7, 1, 0 ;
logical_value, 0, "Vehicle 0" ;
logical_value, 1, "Vehicle 1" ;
logical_value, 2, "Vehicle 2" ;
logical_value, 3, "Vehicle 3" ;
logical_value, 4, "Vehicle 4" ;
logical_value, 5, "Vehicle 5" ;
logical_value, 6, "Vehicle 6" ;
logical_value, 7, "Vehicle 7" ;
}
BCM_Coding_type_windscreen {
physical_value, 0, 7, 1, 0 ;
logical_value, 0, "green glas screen type 0" ;
logical_value, 1, "green glas screen type 1" ;
logical_value, 2, "windscreen2 screen type2" ;
logical_value, 3, "windscreen3 screen type3" ;
logical_value, 4, "Description for the value '0x4'" ;
logical_value, 5, "Description for the value '0x5'" ;
logical_value, 6, "Description for the value '0x6'" ;
logical_value, 7, "invalid" ;
}
BCM_Coding_wiper_system {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "2 stage wiperall" ;
logical_value, 1, "Multi-stage wiper" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "invalid" ;
}
BCM_Cranking_Status_Encoding {
physical_value, 0, 1, 1, 0 ;
}
BCM_EngineHood_State_Encoding {
physical_value, 0, 1, 1, 0 ;
}
BCM_EnvironmentalTemp {
physical_value, 0, 255, 0.5, -40 ;
logical_value, 255, " Invalid value" ;
}
BCM_IGNStatus {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "OFF" ;
logical_value, 1, "Reserved" ;
logical_value, 2, "IGN ON" ;
logical_value, 3, "Reserved" ;
}
BCM_Ignition_Status_Encoding {
physical_value, 0, 1, 1, 0 ;
}
BCM_Intermittent_Level_Encoding {
physical_value, 0, 15, 1, 0 ;
}
BCM_Outside_Temp_Encoding {
physical_value, 0, 87, 1, 0 ;
}
BCM_RLS_RainDetectReq {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Disable" ;
logical_value, 1, "Enable" ;
}
BCM_RainSensor_Status_Encoding {
physical_value, 0, 1, 1, 0 ;
}
BCM_Rain_sensitivity {
physical_value, 0, 7, 1, 0 ;
logical_value, 0, "sensitivity 0" ;
logical_value, 1, "sensitivity 1" ;
logical_value, 2, "sensitivity 2" ;
logical_value, 3, "sensitivity 3" ;
logical_value, 4, "sensitivity 4" ;
}
BCM_Service_Position_Encoding {
physical_value, 0, 1, 1, 0 ;
}
BCM_VehicleSpeed {
physical_value, 0, 253, 1, 0, "km/h" ;
}
BCM_VehicleSpeed_Encoding {
physical_value, 0, 253, 1, 0, "km/h" ;
}
BCM_Wiper_Switch_Encoding {
physical_value, 0, 3, 1, 0 ;
}
BCM_Wiper_control_operation {
physical_value, 0, 255, 1, 0 ;
logical_value, 0, "No action" ;
logical_value, 1, "Interval/automatic intermediate mode" ;
logical_value, 2, "Lowest Speed Manual low speed wiping" ;
logical_value, 3, "Low Speed Manual low speed wiping" ;
logical_value, 4, "High Speed Manual high speed wiping" ;
logical_value, 5, "Highest Speed Manual high speed wiping" ;
logical_value, 8, "Tip wiping Manual tip wiping" ;
logical_value, 16, "Front washing Manual front wash request" ;
logical_value, 255, "Signal invalid" ;
}
BCM_Wiper_position {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "position not defined..." ;
logical_value, 1, "Out of park position info..." ;
logical_value, 2, "in park position info..." ;
logical_value, 3, "invalid" ;
}
ChargeCurrWU_Sts_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Disable" ;
logical_value, 1, "Enable" ;
}
ChargeCurrWU_Treshold {
physical_value, 0, 255, 1, 0, "mA" ;
}
ChargeCurrWu {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No Wake up with discharge current" ;
logical_value, 1, "Wake up with discharge current" ;
}
DisChargeCurrWU_Sts_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Disable" ;
logical_value, 1, "Enable" ;
}
DisChargeCurrWU_Treshold {
physical_value, 0, 255, -10, 0, "mA" ;
}
DischargeCurrWu {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No Wake up with discharge current" ;
logical_value, 1, "Wake up with discharge current" ;
}
ERROR_Calib {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error" ;
}
ERROR_IDENT {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error" ;
}
FLAG_INCONSISTENCY {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "no battery inconsistency" ;
logical_value, 1, "battery inconsistency" ;
}
FW_Brightness {
physical_value, 0, 1021, 6, 0, "Lux" ;
}
FW_Brightness_for_HUD {
physical_value, 0, 8189, 6, 0, "Lux" ;
}
IBATT_QUIESCENT {
physical_value, 0, 252, 0.00390625, 0, "A" ;
logical_value, 252, "Overflow" ;
logical_value, 253, "Out of bounds" ;
logical_value, 254, "Invalid" ;
}
IR_Brightness {
physical_value, 0, 253, 400, 0, "Lux" ;
}
I_BATT {
physical_value, 0, 65535, 1, 0, "A" ;
}
I_RANGE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "current Range [-1, 1A]" ;
logical_value, 1, "current Range [-200, 200A]" ;
logical_value, 2, "current Range [-1500,1500A]" ;
}
PWM_Voltage {
physical_value, 0, 255, 1, 0, "1" ;
}
Q_Charge {
physical_value, 0, 65534, 0.125, 0, "Ah" ;
}
Q_Discharge {
physical_value, 0, 65534, 0.125, 0, "Ah" ;
}
RLS_Communication_error {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error Active" ;
}
RLS_DewPoint {
physical_value, 0, 1000, 0.1, -39.6 ;
}
RLS_Error_calibration_rain_sensor {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_Error_status_coding_rain_sensor {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_Error_status_light_sensor {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_Error_status_over_temperature {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_Error_status_over_voltage {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_Error_status_rain_sensor {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "error active" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "signal invalid" ;
}
RLS_LIN2_CRC {
physical_value, 0, 255, 1, 0 ;
}
RLS_LIN2_RollingCounter {
physical_value, 0, 15, 1, 0 ;
}
RLS_Light_switch_reason {
physical_value, 0, 255, 1, 0 ;
logical_value, 0, "Day" ;
logical_value, 1, "Twilight" ;
logical_value, 2, "Darkness" ;
logical_value, 4, "Precipitation" ;
logical_value, 8, "Tunnel" ;
logical_value, 16, "Underground car park" ;
logical_value, 32, "High speed" ;
logical_value, 255, "Signal invalid" ;
}
RLS_Light_switch_request {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "Switch light off" ;
logical_value, 1, "Switch light on" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "Signal Invalid" ;
}
RLS_Offline_Calibration_Result {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "???" ;
logical_value, 1, "????" ;
logical_value, 2, "????" ;
logical_value, 3, "Reserve" ;
}
RLS_Parameter_Choice {
physical_value, 0, 3, 1, 0 ;
}
RLS_RLS_error {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "NO error" ;
logical_value, 1, "error Active" ;
logical_value, 2, "Error status change" ;
logical_value, 3, "invalid" ;
}
RLS_Sensitivity_0 {
physical_value, 0, 35, 1, 0 ;
}
RLS_Sensitivity_1 {
physical_value, 0, 35, 1, 0 ;
}
RLS_Sensitivity_2 {
physical_value, 0, 35, 1, 0 ;
}
RLS_Sensitivity_3 {
physical_value, 0, 40, 1, 0 ;
}
RLS_Sensitivity_4 {
physical_value, 0, 40, 1, 0 ;
}
RLS_Sensitivity_5 {
physical_value, 0, 40, 1, 0 ;
}
RLS_Sensitivity_6 {
physical_value, 0, 40, 1, 0 ;
}
RLS_Sensitivity_7 {
physical_value, 0, 40, 1, 0 ;
}
RLS_Sensitivity_8 {
physical_value, 0, 40, 1, 0 ;
}
RLS_SolarLeft {
physical_value, 0, 240, 5, 0, "w/m2" ;
}
RLS_SolarRight {
physical_value, 0, 240, 5, 0, "w/m2" ;
}
RLS_Status_low_beam {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, " No Error" ;
logical_value, 1, " Light Senor Error" ;
logical_value, 2, "Description for the value '0x2'" ;
logical_value, 3, "INvalid" ;
}
RLS_Status_rain_sensor {
physical_value, 0, 15, 1, 0 ;
logical_value, 0, "Normal wiping run" ;
logical_value, 1, "Gush of water" ;
logical_value, 4, "Rain sensor in fail-safe mode" ;
logical_value, 15, "Signal invalid" ;
}
RLS_SunRoofCloseReqReason {
physical_value, 0, 15, 1, 0 ;
logical_value, 0, "No Rain detected" ;
logical_value, 1, "Rain detected" ;
logical_value, 2, "Timeout" ;
logical_value, 3, "Supply voltage too low" ;
logical_value, 4, "Supply Voltage too high" ;
logical_value, 5, "Sensor temperature too low" ;
logical_value, 6, "Sensor temperature too high " ;
logical_value, 7, "Sensor internal error" ;
logical_value, 8, "Signal invalid" ;
logical_value, 9, "Reserve" ;
logical_value, 15, "Reserve" ;
}
RLS_WindshieldTemp {
physical_value, 0, 254, 0.5, -40 ;
}
RLS_Wiper_speed {
physical_value, 0, 15, 1, 0 ;
logical_value, 0, "switch wiper off" ;
logical_value, 1, "1 stage" ;
logical_value, 2, "stage 2" ;
logical_value, 3, "stage 3" ;
logical_value, 4, "stage 4" ;
logical_value, 5, "stage 5" ;
logical_value, 6, "stage 6" ;
logical_value, 7, "stage 7" ;
logical_value, 8, "stage 8" ;
logical_value, 9, "stage 9" ;
logical_value, 10, "stage 10" ;
logical_value, 11, "stage 11" ;
logical_value, 12, "stage 12" ;
logical_value, 13, "stage 13" ;
logical_value, 14, "stage 14" ;
logical_value, 15, "signal invalid" ;
}
RLS_relativeHumidity {
physical_value, 0, 201, 0.5, -0.5, "%" ;
}
RainfallLevel {
physical_value, 0, 15, 1, 0 ;
logical_value, 0, "No rain " ;
logical_value, 1, "Level 1" ;
logical_value, 2, "Level 2" ;
logical_value, 3, "Level 3" ;
logical_value, 4, "Level 4" ;
logical_value, 5, "Level 5" ;
logical_value, 6, "Level 6" ;
logical_value, 7, "Level 7" ;
logical_value, 8, "Level 8" ;
logical_value, 9, "Level 9" ;
logical_value, 10, "Level 10" ;
logical_value, 11, "Level 11" ;
logical_value, 12, "Level 12" ;
logical_value, 13, "Level 13" ;
logical_value, 14, "init value" ;
logical_value, 15, "Invalid value" ;
}
Resp_Error {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error" ;
}
SOC {
physical_value, 0, 254, 1, 0, "%" ;
}
SOCWU_Sts_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Disable" ;
logical_value, 1, "Enable" ;
}
SOCWU_Treshold {
physical_value, 0, 100, 1, 0, "%" ;
}
SOC_STATE_Encoding {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOFV_Restart_Encoding {
physical_value, 0, 255, 0.0625, 0 ;
}
SOFV_Restart_STATE_Encoding {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, " deviation <15%" ;
logical_value, 2, " deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOFV_StopEnable_Encoding {
physical_value, 0, 254, 0.0625, 0 ;
}
SOFV_StopEnable_STATE_Encoding {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, " deviation > 15%" ;
logical_value, 1, " deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, " invalid" ;
}
SocWu {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No Wake up with discharge current" ;
logical_value, 1, "Wake up with discharge current" ;
}
Status_Current {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error Open circuit" ;
logical_value, 2, "HW defect (ADC defect)" ;
logical_value, 3, "LIN saturation (no HW defect)" ;
}
Status_Temp {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "not used" ;
logical_value, 2, "HW defect (ADC defect)" ;
logical_value, 3, "LIN saturation (no HW defect)" ;
}
Status_Voltage {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error Open circuit" ;
logical_value, 2, "HW defect (ADC defect)" ;
logical_value, 3, "LIN saturation (no HW defect)" ;
}
T_BATT {
physical_value, 0, 254, 1, -40 ;
}
U_BATT {
physical_value, 3, 16382, 0.0009765625, 3, "V" ;
}
VIU_FL_Service_Position_Encoding {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "Inactive" ;
logical_value, 1, "Active" ;
logical_value, 2, "Reserved" ;
logical_value, 3, "Reserved" ;
}
VIU_FL_Splash_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Inactive" ;
logical_value, 1, "active" ;
}
VIU_FL_Stop_ImmRq_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Inactive" ;
logical_value, 1, "Active" ;
}
VIU_FL_WiperSpeed_Encoding {
physical_value, 0, 7, 1, 0 ;
logical_value, 0, "EPS" ;
logical_value, 1, "IPP" ;
logical_value, 2, "40cycles/min" ;
logical_value, 3, "48cycles/min" ;
logical_value, 4, "51cycles/min" ;
logical_value, 5, "54cycles/min" ;
logical_value, 6, "57cycles/min" ;
logical_value, 7, "60cycles/min" ;
}
WMM2_FusbMovedtimes_Encoding {
physical_value, 0, 65535, 100, 0 ;
}
WMM2_LINError_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM2_MotorError_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM2_MoveDir_Encoding {
physical_value, 0, 3, 1, 0 ;
}
WMM2_Park_Area_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM2_Service_Position_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM2_Tunning_Position_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM2_WiperMotor_Speed_Encoding {
physical_value, 0, 63, 1, 0 ;
}
WMM2_Wiping_Active_Encoding {
physical_value, 0, 1, 1, 0 ;
}
WMM_FusbMovedtimes_Encoding {
physical_value, 0, 65535, 100, 0, "cycles" ;
}
WMM_LINError_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error" ;
}
WMM_MotorError_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No error" ;
logical_value, 1, "Error" ;
}
WMM_MoveDir_Encoding {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "Upward" ;
logical_value, 1, "Downward" ;
logical_value, 2, "Stop" ;
logical_value, 3, "Reserved" ;
}
WMM_Park_Area_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Not in park area" ;
logical_value, 1, "In park area" ;
}
WMM_Service_Position_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Not in service position" ;
logical_value, 1, "In service position" ;
}
WMM_Tunning_Position_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Not in turning position" ;
logical_value, 1, "In turning position" ;
}
WMM_WiperMotor_Angle_Encoding {
physical_value, 0, 255, 1, 0, "degree" ;
}
WMM_WiperMotor_Angle_Encoding_1 {
physical_value, 0, 255, 1, 0 ;
}
WMM_WiperMotor_Speed_Encoding {
physical_value, 0, 63, 1, 0, "cyc/min" ;
}
WMM_Wiping_Active_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Inactive" ;
logical_value, 1, "Active" ;
}
Wkup_DischargeCurr {
physical_value, 0, 65534, 1, 0, "mA" ;
logical_value, 65534, "Invalid" ;
}
Wpr2_Blk_Encoding {
physical_value, 0, 1, 1, 0 ;
}
Wpr2_OverTemp_Encoding {
physical_value, 0, 1, 1, 0 ;
}
Wpr2_PlantMode_Encoding {
physical_value, 0, 1, 1, 0 ;
}
Wpr2_SupVolt_Hi_Encoding {
physical_value, 0, 1, 1, 0 ;
}
Wpr2_SupVolt_Lo_Encoding {
physical_value, 0, 1, 1, 0 ;
}
Wpr_Blk_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No block" ;
logical_value, 1, "Block" ;
}
Wpr_OverTemp_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No overtemp" ;
logical_value, 1, "Overtemp" ;
}
Wpr_PlantMode_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Not in plant mode" ;
logical_value, 1, "In plant mode" ;
}
Wpr_SupVolt_Hi_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No overvoltage" ;
logical_value, 1, "Overvoltage" ;
}
Wpr_SupVolt_Lo_Encoding {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "No undervoltage" ;
logical_value, 1, "Undervoltage" ;
}
SOC_STATE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOF_Q_STATE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOF_V1_STATE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOF_V2_STATE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
SOF_t_STATE {
physical_value, 0, 3, 1, 0 ;
logical_value, 0, "deviation > 15%" ;
logical_value, 1, "deviation <15%" ;
logical_value, 2, "deviation < 10%" ;
logical_value, 3, "invalid" ;
}
VIU_FL_Override {
physical_value, 0, 1, 1, 0 ;
logical_value, 0, "Inactive" ;
logical_value, 1, "Active" ;
}
SOF_Q {
physical_value, 0, 254, 0.5, 0, "Ah" ;
}
SOF_V1 {
physical_value, 0, 254, 0.0625, 0, "V" ;
}
SOF_V2 {
physical_value, 0, 254, 0.0625, 0, "V" ;
}
SOF_t {
physical_value, 0, 1023, 1, 0, "min" ;
}
}
Signal_representation {
AMB_Brightness: AMB_Brightness ;
BCM_550nmTransimission: VIU_FL_550nmTransimission ;
BCM_880nmTransimission: VIU_FL_880nmTransimission ;
BCM_Auto_WiperSpeed_Encoding: BCM_Auto_WiperSpeed ;
BCM_Coding_data_low_beam_high_speed: VIU_FL_Coding_data_low_beam_high_speed ;
BCM_Coding_data_low_beam_thresholds: VIU_FL_Coding_data_low_beam_thresholds ;
BCM_Coding_data_rain_sensor_activation: VIU_FL_Coding_data_rain_sensor_activation ;
BCM_Coding_type_vehicle: VIU_FL_Coding_Type_vehicle ;
BCM_Coding_type_windscreen: VIU_FL_Coding_type_windscreen ;
BCM_Coding_wiper_system: VIU_FL_Coding_wiper_system ;
BCM_Cranking_Status_Encoding: BCM_Cranking_Status ;
BCM_EngineHood_State_Encoding: BCM_EngineHood_State ;
BCM_EnvironmentalTemp: VIU_FL_EnvironmentalTemp ;
BCM_IGNStatus: VIU_FL_IGNStatus ;
BCM_Ignition_Status_Encoding: BCM_Ignition_Status ;
BCM_Intermittent_Level_Encoding: BCM_Intermittent_Level ;
BCM_Outside_Temp_Encoding: BCM_Outside_Temp ;
BCM_RLS_RainDetectReq: VIU_FL_RLS_RainDetectReq ;
BCM_RainSensor_Status_Encoding: BCM_RainSensor_Status ;
BCM_Rain_sensitivity: VIU_FL_Rain_sensitivity ;
BCM_Service_Position_Encoding: BCM_Service_Position ;
BCM_VehicleSpeed: VIU_FL_VehicleSpeed ;
BCM_VehicleSpeed_Encoding: BCM_VehicleSpeed ;
BCM_Wiper_Switch_Encoding: BCM_Wiper_Switch ;
BCM_Wiper_control_operation: VIU_FL_Wiper_control_operation ;
BCM_Wiper_position: VIU_FL_Wiper_position ;
ChargeCurrWU_Sts_Encoding: ChargeCurrWU_Sts ;
ChargeCurrWU_Treshold: ChargeCurrWU_Treshold ;
ChargeCurrWu: ChargeCurrWu ;
DisChargeCurrWU_Sts_Encoding: DisChargeCurrWU_Sts ;
DisChargeCurrWU_Treshold: DisChargeCurrWU_Treshold ;
DischargeCurrWu: DischargeCurrWu ;
ERROR_Calib: ERROR_Calib ;
ERROR_IDENT: ERROR_IDENT ;
FLAG_INCONSISTENCY: FLAG_INCONSISTENCY ;
FW_Brightness: FW_Brightness ;
FW_Brightness_for_HUD: HUD_Brightness ;
IBATT_QUIESCENT: IBATT_QUIESCENT ;
IR_Brightness: IR_Brightness ;
I_BATT: I_BATT ;
I_RANGE: I_RANGE ;
PWM_Voltage: PWM_Voltage ;
Q_Charge: Q_Charge ;
Q_Discharge: Q_Discharge ;
RLS_Communication_error: RLS_Communication_error ;
RLS_DewPoint: RLS_DewPoint ;
RLS_Error_calibration_rain_sensor: RLS_Error_calibration_rain_sensor ;
RLS_Error_status_coding_rain_sensor: RLS_Error_status_coding_rain_sensor ;
RLS_Error_status_light_sensor: RLS_Error_status_light_sensor ;
RLS_Error_status_over_temperature: RLS_Error_status_over_temperature ;
RLS_Error_status_over_voltage: RLS_Error_status_over_voltage ;
RLS_Error_status_rain_sensor: RLS_Error_status_rain_sensor ;
RLS_LIN2_CRC: RLS_LIN2_CRC ;
RLS_LIN2_RollingCounter: RLS_LIN2_RollingCounter ;
RLS_Light_switch_reason: RLS_Light_switch_reason ;
RLS_Light_switch_request: RLS_Light_switch_request ;
RLS_Offline_Calibration_Result: RLS_Offline_Calibration_Result ;
RLS_Parameter_Choice: RLS_Parameter_Choice ;
RLS_RLS_error: RLS_RLS_error ;
RLS_Sensitivity_0: RLS_Sensitivity_0 ;
RLS_Sensitivity_1: RLS_Sensitivity_1 ;
RLS_Sensitivity_2: RLS_Sensitivity_2 ;
RLS_Sensitivity_3: RLS_Sensitivity_3 ;
RLS_Sensitivity_4: RLS_Sensitivity_4 ;
RLS_Sensitivity_5: RLS_Sensitivity_5 ;
RLS_Sensitivity_6: RLS_Sensitivity_6 ;
RLS_Sensitivity_7: RLS_Sensitivity_7 ;
RLS_Sensitivity_8: RLS_Sensitivity_8 ;
RLS_SolarLeft: RLS_SolarLeft ;
RLS_SolarRight: RLS_SolarRight ;
RLS_Status_low_beam: RLS_Status_low_beam ;
RLS_Status_rain_sensor: RLS_Status_rain_sensor ;
RLS_SunRoofCloseReqReason: RLS_SunRoofCloseReqReason ;
RLS_WindshieldTemp: RLS_WindshieldTemp ;
RLS_Wiper_speed: RLS_Wiper_speed ;
RLS_relativeHumidity: RLS_relativeHumidity ;
RainfallLevel: RainfallLevel ;
Resp_Error: Resp_Error ;
SOC: SOC ;
SOCWU_Sts_Encoding: SOCWU_Sts ;
SOCWU_Treshold: SOCWU_Treshold ;
SOC_STATE_Encoding: SOC_STATE ;
SOFV_Restart_Encoding: SOFV_Restart ;
SOFV_Restart_STATE_Encoding: SOFV_Restart_STATE ;
SOFV_StopEnable_Encoding: SOFV_StopEnable ;
SOFV_StopEnable_STATE_Encoding: SOFV_StopEnable_STATE ;
SocWu: SocWu ;
Status_Current: Status_Current ;
Status_Temp: Status_Temp ;
Status_Voltage: Status_Voltage ;
T_BATT: T_BATT ;
U_BATT: U_BATT ;
VIU_FL_Service_Position_Encoding: VIU_FL_Service_Position ;
VIU_FL_Splash_Encoding: VIU_FL_Splash ;
VIU_FL_Stop_ImmRq_Encoding: VIU_FL_Stop_ImmRq ;
VIU_FL_WiperSpeed_Encoding: VIU_FL_WiperSpeed ;
WMM2_FusbMovedtimes_Encoding: WMM2_FusbMovedtimes ;
WMM2_LINError_Encoding: WMM2_LINError ;
WMM2_MotorError_Encoding: WMM2_MotorError ;
WMM2_MoveDir_Encoding: WMM2_MoveDir ;
WMM2_Park_Area_Encoding: WMM2_Park_Area ;
WMM2_Service_Position_Encoding: WMM2_Service_Position ;
WMM2_Tunning_Position_Encoding: WMM2_Tunning_Position ;
WMM2_WiperMotor_Speed_Encoding: WMM2_WiperMotor_Speed ;
WMM2_Wiping_Active_Encoding: WMM2_Wiping_Active ;
WMM_FusbMovedtimes_Encoding: WMM_FusbMovedtimes ;
WMM_LINError_Encoding: WMM_LINError ;
WMM_MotorError_Encoding: WMM_MotorError ;
WMM_MoveDir_Encoding: WMM_MoveDir ;
WMM_Park_Area_Encoding: WMM_Park_Area ;
WMM_Service_Position_Encoding: WMM_Service_Position ;
WMM_Tunning_Position_Encoding: WMM_Tunning_Position ;
WMM_WiperMotor_Angle_Encoding: WMM_WiperMotor_Angle ;
WMM_WiperMotor_Angle_Encoding_1: WMM2_WiperMotor_Angle ;
WMM_WiperMotor_Speed_Encoding: WMM_WiperMotor_Speed ;
WMM_Wiping_Active_Encoding: WMM_Wiping_Active ;
Wkup_DischargeCurr: Wkup_DischargeCurr ;
Wpr2_Blk_Encoding: Wpr2_Blk ;
Wpr2_OverTemp_Encoding: Wpr2_OverTemp ;
Wpr2_PlantMode_Encoding: Wpr2_PlantMode ;
Wpr2_SupVolt_Hi_Encoding: Wpr2_SupVolt_Hi ;
Wpr2_SupVolt_Lo_Encoding: Wpr2_SupVolt_Lo ;
Wpr_Blk_Encoding: Wpr_Blk ;
Wpr_OverTemp_Encoding: Wpr_OverTemp ;
Wpr_PlantMode_Encoding: Wpr_PlantMode ;
Wpr_SupVolt_Hi_Encoding: Wpr_SupVolt_Hi ;
Wpr_SupVolt_Lo_Encoding: Wpr_SupVolt_Lo ;
}
下述的代码解析有问题:请修改
import re
from collections import defaultdict
class LDFParser:
def __init__(self, file_path):
self.file_path = file_path
self.version = None
self.nodes = {}
self.signals = {}
self.frames = {}
self.signal_groups = defaultdict(list)
# 正则表达式预编译
self.patterns = {
'version': re.compile(r'LIN_description_file\s*=\s*"?(LIN\d+\.\d+)"?'),
'node': re.compile(r'(\w+)\s*:\s*(\w+)'),
'signal': re.compile(r'(\w+)\s*:\s*(\d+)(?:\s*,\s*(\d+))?'),
'frame': re.compile(r'(\w+)\s*\{([^}]+)\}', re.DOTALL),
'frame_id': re.compile(r'frame_id\s*=\s*(\d+|0x[0-9A-Fa-f]+)'),
'frame_signals': re.compile(r'signals\s*:\s*((?:\s*\w+\s*,?)+)'),
'signal_group': re.compile(r'signal_groups\s*{\s*(\w+)\s*{\s*([^}]+)\s*}', re.DOTALL)
}
def parse(self):
with open(self.file_path, 'r') as f:
content = f.read()
# 预处理:移除注释
content = re.sub(r'/\*.*?\*/', '', content, flags=re.DOTALL) # 块注释
content = re.sub(r'//.*', '', content) # 行注释
# 解析各主要部分
self._parse_version(content)
self._parse_nodes(content)
self._parse_signals(content)
self._parse_frames(content)
self._parse_signal_groups(content)
def _parse_version(self, content):
match = self.patterns['version'].search(content)
if match:
self.version = match.group(1)
def _parse_nodes(self, content):
# 查找节点块
node_block = re.search(r'nodes\s*{([^}]+)}', content, re.DOTALL)
if not node_block:
return
nodes_text = node_block.group(1)
for match in self.patterns['node'].finditer(nodes_text):
node_name, node_type = match.groups()
self.nodes[node_name] = {
'type': node_type,
'attributes': [] # 可扩展更多属性
}
def _parse_signals(self, content):
# 查找信号块
signal_block = re.search(r'signals\s*{([^}]+)}', content, re.DOTALL)
if not signal_block:
return
signals_text = signal_block.group(1)
for match in self.patterns['signal'].finditer(signals_text):
name, size, init_val = match.groups()
self.signals[name] = {
'size': int(size),
'init_value': int(init_val) if init_val else 0
}
def _parse_frames(self, content):
# 查找帧块
frame_block = re.search(r'frames\s*{([^}]+)}', content, re.DOTALL)
if not frame_block:
return
frames_text = frame_block.group(1)
for match in self.patterns['frame'].finditer(frames_text):
frame_name, frame_content = match.groups()
frame_info = {}
# 解析帧ID
id_match = self.patterns['frame_id'].search(frame_content)
if id_match:
frame_id = id_match.group(1)
frame_info['id'] = int(frame_id, 16 if '0x' in frame_id else 10)
# 解析信号列表
signals_match = self.patterns['frame_signals'].search(frame_content)
if signals_match:
signals_str = signals_match.group(1)
signals = [s.strip() for s in signals_str.split(',')]
frame_info['signals'] = [s for s in signals if s]
self.frames[frame_name] = frame_info
def _parse_signal_groups(self, content):
# 查找信号组块
for match in self.patterns['signal_group'].finditer(content):
group_name, signals_text = match.groups()
signals = [s.strip() for s in signals_text.split(',')]
self.signal_groups[group_name] = [s for s in signals if s]
def to_dict(self):
"""返回解析结果的字典表示"""
return {
'version': self.version,
'nodes': self.nodes,
'signals': self.signals,
'frames': self.frames,
'signal_groups': dict(self.signal_groups)
}
# 使用示例
if __name__ == "__main__":
LDF_PATH = "VIUFL_LIN5.ldf" # 你的LDF文件路径
# 1. 获取LDF路径(兼容ZhouLiGongCAN或默认路径)
try:
from test_Lib.zlg_can import ZhouLiGongCAN
LDF_PATH = ZhouLiGongCAN.getldf_File(dir="C679", ldfname="VIUFL_LIN5.ldf")
print(f"✅ 从ZhouLiGongCAN获取LDF路径:{LDF_PATH}")
except Exception as e:
print(f"ℹ️ 使用默认LDF路径:{LDF_PATH}(原因:{str(e)[:50]}...)")
parser = LDFParser(LDF_PATH)
parser.parse()
ldf_data = parser.to_dict()
# 打印解析结果
print(f"LIN协议版本: {ldf_data['version']}")
print(f"\n节点信息({len(ldf_data['nodes'])}个):")
for node, info in ldf_data['nodes'].items():
print(f" - {node}: 类型={info['type']}")
print(f"\n信号信息({len(ldf_data['signals'])}个):")
for sig, info in ldf_data['signals'].items():
print(f" - {sig}: 大小={info['size']}位, 初始值={info['init_value']}")
print(f"\n帧信息({len(ldf_data['frames'])}个):")
for frame, info in ldf_data['frames'].items():
signals = ', '.join(info.get('signals', []))
print(f" - {frame}: ID=0x{info['id']:X}, 包含信号: {signals}")
print(f"\n信号组({len(ldf_data['signal_groups'])}组):")
for group, signals in ldf_data['signal_groups'].items():
print(f" - {group}: {', '.join(signals)}")
最新发布