Linux中的physical_block_size和logical_block_size

[root@rhel63single queue]# pwd
/sys/block/sdj/queue
[root@rhel63single queue]# ls -lrt | grep size
-r--r--r--. 1 root root 4096 Aug 24 21:58 physical_block_size
-r--r--r--. 1 root root 4096 Aug 24 21:58 optimal_io_size
-r--r--r--. 1 root root 4096 Aug 24 21:58 minimum_io_size
-r--r--r--. 1 root root 4096 Aug 24 21:58 max_segment_size
-r--r--r--. 1 root root 4096 Aug 24 21:58 logical_block_size
-r--r--r--. 1 root root 4096 Aug 24 21:58 hw_sector_size
[root@rhel63single queue]# lsblk -o NAME,PHY-SeC
NAME   PHY-SEC
sr0       2048
sdb        512
└─sdb1     512
sdc        512
└─sdc1     512
sda        512
├─sda1     512
├─sda2     512
└─sda3     512
sdd        512
└─sdd1     512
sde        512
└─sde1     512
sdh        512
sdg        512
└─sdg1     512
sdi        512
sdj        512
└─sdj1     512
sdf        512
└─sdf1     512
[root@rhel63single queue]# 
[root@rhel63single queue]# lsblk -o NAME,PHY-SeC,LOG-SEC
NAME   PHY-SEC LOG-SEC
sr0       2048    2048
sdb        512     512
└─sdb1     512     512
sdc        512     512
└─sdc1     512     512
sda        512     512
├─sda1     512     512
├─sda2     512     512
└─sda3     512     512
sdd        512     512
└─sdd1     512     512
sde        512     512
└─sde1     512     512
sdh        512     512
sdg        512     512
└─sdg1     512     512
sdi        512     512
sdj        512     512
└─sdj1     512     512
sdf        512     512
└─sdf1     512     512
[root@rhel63single queue]#

//*************************************************************************************// // 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)}")
最新发布
10-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值