[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error
From: |
Stephen Abbene |
Subject: |
Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers |
Date: |
Wed, 14 Aug 2019 20:39:42 +0000 |
User-agent: |
Microsoft-MacOutlook/10.1b.0.190715 |
Thank you for the quick response Albert. Here is the output you requested
below:
$ sudo ./ipmi-sel -W discretereading --debug
=====================================================
Get SDR Repository Info Request
=====================================================
[ 20h] = cmd[ 8b]
=====================================================
Get SDR Repository Info Response
=====================================================
[ 20h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 71h] = record_count[16b]
[ 1070h] = free_space[16b]
[ 0h] = most_recent_addition_timestamp[32b]
[ 0h] = most_recent_erase_timestamp[32b]
[ 1h] = get_sdr_repository_allocation_info_command_supported[ 1b]
[ 1h] = reserve_sdr_repository_command_supported[ 1b]
[ 1h] = partial_add_sdr_command_supported[ 1b]
[ 0h] = delete_sdr_command_supported[ 1b]
[ 0h] = reserved[ 1b]
[ 1h] =
modal_non_modal_sdr_repository_update_operation_supported[ 2b]
[ 0h] = overflow_flag[ 1b]
=====================================================
SDR Management Controller Device Locator Record
=====================================================
[ 1h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 12h] = record_type[ 8b]
[ 12h] = record_length[ 8b]
[ 0h] = device_slave_address.reserved[ 1b]
[ 10h] = device_slave_address[ 7b]
[ 0h] = channel_number[ 4b]
[ 0h] = channel_number.reserved[ 4b]
[ 0h] = global_initialization.event_message_generation[ 2b]
[ 0h] = global_initialization.log_initialization_agent_errors[ 1b]
[ 0h] =
global_initialization.controller_logs_initialization_agent_errors[ 1b]
[ 0h] = power_state_notification.reserved[ 1b]
[ 0h] = power_state_notification.controller[ 1b]
[ 0h] =
power_state_notification.acpi_device_power_state_notification[ 1b]
[ 0h] =
power_state_notification.acpi_system_power_state_notification[ 1b]
[ 1h] = device_capabilities.sensor_device[ 1b]
[ 1h] = device_capabilities.sdr_repository_device[ 1b]
[ 1h] = device_capabilities.sel_device[ 1b]
[ 1h] = device_capabilities.fru_inventory_device[ 1b]
[ 1h] = device_capabilities.ipmb_event_receiver[ 1b]
[ 1h] = device_capabilities.ipmb_event_generator[ 1b]
[ 1h] = device_capabilities.bridge[ 1b]
[ 1h] = device_capabilities.chassis_device[ 1b]
[ 0h] = reserved[24b]
[ 0h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = oem[ 8b]
[ C7h] = device_id_string_type_length[ 8b]
[ 30303532545341h] = device_id_string[56b]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 2h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 11h] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 0h] = logical_fru_device_device_slave_address[ 8b]
[ 6h] = private_bus_id[ 3b]
[ 0h] = lun_for_master_write_read_fru_command[ 2b]
[ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b]
[ 1h] = logical_physical_fru_device[ 1b]
[ 0h] = channel_number.reserved[ 4b]
[ 0h] = channel_number[ 4b]
[ 0h] = reserved[ 8b]
[ 10h] = device_type[ 8b]
[ 0h] = device_type_modifier[ 8b]
[ 7h] = fru_entity_id[ 8b]
[ 1h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ C6h] = device_id_string_type_length[ 8b]
[ 5552465F424Dh] = device_id_string[48b]
=====================================================
SDR Event Only Record
=====================================================
[ 3h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 18h] = record_length[ 8b]
[ 1h] = sensor_owner_id.type[ 1b]
[ 0h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ A6h] = sensor_number[ 8b]
[ 22h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ Ch] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 4Dh 65h 6Dh 6Fh 72h 79h 20h 45h ]
[ 76h 65h 6Eh 74h ]
=====================================================
SDR Event Only Record
=====================================================
[ 4h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 15h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 9Dh] = sensor_number[ 8b]
[ 2Bh] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 7h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 55h 50h 49h 20h 45h 72h 72h 6Fh ]
[ 72h ]
=====================================================
SDR Event Only Record
=====================================================
[ 5h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 16h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ A1h] = sensor_number[ 8b]
[ 2Bh] = entity_id[ 8b]
[ 4h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 13h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[10B]
[ 50h 43h 49h 45h 20h 45h 72h 72h ]
[ 6Fh 72h ]
=====================================================
SDR Event Only Record
=====================================================
[ 6h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 16h] = record_length[ 8b]
[ 1h] = sensor_owner_id.type[ 1b]
[ 0h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 9Eh] = sensor_number[ 8b]
[ 2Bh] = entity_id[ 8b]
[ 3h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ Fh] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[10B]
[ 50h 4Fh 53h 54h 20h 45h 72h 72h ]
[ 6Fh 72h ]
=====================================================
SDR Event Only Record
=====================================================
[ 7h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 18h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 87h] = sensor_number[ 8b]
[ 2Bh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ Ch] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 4Dh 65h 6Dh 6Fh 72h 79h 20h 45h ]
[ 72h 72h 6Fh 72h ]
=====================================================
SDR Event Only Record
=====================================================
[ 8h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 18h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 90h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 13h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 43h 72h 69h 74h 69h 63h 61h 6Ch ]
[ 20h 49h 52h 51h ]
=====================================================
SDR Compact Sensor Record
=====================================================
[ 9h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 2h] = record_type[ 8b]
[ 23h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 71h] = sensor_number[ 8b]
[ 6h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 0h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 23h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 1h] = assertion_event_mask.event_offset_2[ 1b]
[ 1h] = assertion_event_mask.event_offset_3[ 1b]
[ 0h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 0h] = assertion_event_mask.event_offset_6[ 1b]
[ 0h] = assertion_event_mask.event_offset_7[ 1b]
[ 0h] = assertion_event_mask.event_offset_8[ 1b]
[ 0h] = assertion_event_mask.event_offset_9[ 1b]
[ 0h] = assertion_event_mask.event_offset_10[ 1b]
[ 0h] = assertion_event_mask.event_offset_11[ 1b]
[ 0h] = assertion_event_mask.event_offset_12[ 1b]
[ 0h] = assertion_event_mask.event_offset_13[ 1b]
[ 0h] = assertion_event_mask.event_offset_14[ 1b]
[ 0h] = assertion_event_mask.reserved[ 1b]
[ 0h] = deassertion_event_mask.event_offset_0[ 1b]
[ 0h] = deassertion_event_mask.event_offset_1[ 1b]
[ 0h] = deassertion_event_mask.event_offset_2[ 1b]
[ 0h] = deassertion_event_mask.event_offset_3[ 1b]
[ 0h] = deassertion_event_mask.event_offset_4[ 1b]
[ 0h] = deassertion_event_mask.event_offset_5[ 1b]
[ 0h] = deassertion_event_mask.event_offset_6[ 1b]
[ 0h] = deassertion_event_mask.event_offset_7[ 1b]
[ 0h] = deassertion_event_mask.event_offset_8[ 1b]
[ 0h] = deassertion_event_mask.event_offset_9[ 1b]
[ 0h] = deassertion_event_mask.event_offset_10[ 1b]
[ 0h] = deassertion_event_mask.event_offset_11[ 1b]
[ 0h] = deassertion_event_mask.event_offset_12[ 1b]
[ 0h] = deassertion_event_mask.event_offset_13[ 1b]
[ 0h] = deassertion_event_mask.event_offset_14[ 1b]
[ 0h] = deassertion_event_mask.reserved[ 1b]
[ 1h] = discrete_reading_mask.state_bit_0[ 1b]
[ 1h] = discrete_reading_mask.state_bit_1[ 1b]
[ 1h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 0h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 0h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 0h] = discrete_reading_mask.state_bit_8[ 1b]
[ 0h] = discrete_reading_mask.state_bit_9[ 1b]
[ 0h] = discrete_reading_mask.state_bit_10[ 1b]
[ 0h] = discrete_reading_mask.state_bit_11[ 1b]
[ 0h] = discrete_reading_mask.state_bit_12[ 1b]
[ 0h] = discrete_reading_mask.state_bit_13[ 1b]
[ 0h] = discrete_reading_mask.state_bit_14[ 1b]
[ 0h] = discrete_reading_mask.reserved[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 3h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[24b]
[ 0h] = oem[ 8b]
[ C8h] = id_string_type_length_code[ 8b]
[676F646863746157h] = id_string[64b]
=====================================================
SDR Compact Sensor Record
=====================================================
[ Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 2h] = record_type[ 8b]
[ 24h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ E6h] = sensor_number[ 8b]
[ 6h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 0h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 10h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 1h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 1h] = assertion_event_mask.event_offset_5[ 1b]
[ 0h] = assertion_event_mask.event_offset_6[ 1b]
[ 0h] = assertion_event_mask.event_offset_7[ 1b]
[ 0h] = assertion_event_mask.event_offset_8[ 1b]
[ 0h] = assertion_event_mask.event_offset_9[ 1b]
[ 0h] = assertion_event_mask.event_offset_10[ 1b]
[ 0h] = assertion_event_mask.event_offset_11[ 1b]
[ 0h] = assertion_event_mask.event_offset_12[ 1b]
[ 0h] = assertion_event_mask.event_offset_13[ 1b]
[ 0h] = assertion_event_mask.event_offset_14[ 1b]
[ 0h] = assertion_event_mask.reserved[ 1b]
[ 0h] = deassertion_event_mask.event_offset_0[ 1b]
[ 0h] = deassertion_event_mask.event_offset_1[ 1b]
[ 0h] = deassertion_event_mask.event_offset_2[ 1b]
[ 0h] = deassertion_event_mask.event_offset_3[ 1b]
[ 0h] = deassertion_event_mask.event_offset_4[ 1b]
[ 0h] = deassertion_event_mask.event_offset_5[ 1b]
[ 0h] = deassertion_event_mask.event_offset_6[ 1b]
[ 0h] = deassertion_event_mask.event_offset_7[ 1b]
[ 0h] = deassertion_event_mask.event_offset_8[ 1b]
[ 0h] = deassertion_event_mask.event_offset_9[ 1b]
[ 0h] = deassertion_event_mask.event_offset_10[ 1b]
[ 0h] = deassertion_event_mask.event_offset_11[ 1b]
[ 0h] = deassertion_event_mask.event_offset_12[ 1b]
[ 0h] = deassertion_event_mask.event_offset_13[ 1b]
[ 0h] = deassertion_event_mask.event_offset_14[ 1b]
[ 0h] = deassertion_event_mask.reserved[ 1b]
[ 0h] = discrete_reading_mask.state_bit_0[ 1b]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 0h] = discrete_reading_mask.state_bit_3[ 1b]
[ 0h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 0h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 0h] = discrete_reading_mask.state_bit_8[ 1b]
[ 0h] = discrete_reading_mask.state_bit_9[ 1b]
[ 0h] = discrete_reading_mask.state_bit_10[ 1b]
[ 0h] = discrete_reading_mask.state_bit_11[ 1b]
[ 0h] = discrete_reading_mask.state_bit_12[ 1b]
[ 0h] = discrete_reading_mask.state_bit_13[ 1b]
[ 0h] = discrete_reading_mask.state_bit_14[ 1b]
[ 0h] = discrete_reading_mask.reserved[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 3h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 1h] = id_string_instance_modifier_offset[ 7b]
[ 1h] = entity_instance_sharing[ 1b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[24b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 45h 76h 65h 6Eh 74h 20h 4Ch 6Fh ]
[ 67h ]
=====================================================
SDR Event Only Record
=====================================================
[ Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 19h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ 17h] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 75h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 53h 50h 53h 20h 46h 57h 20h 48h ]
[ 65h 61h 6Ch 74h 68h ]
=====================================================
SDR Event Only Record
=====================================================
[ Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 18h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ 18h] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 72h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 4Eh 4Dh 20h 45h 78h 63h 65h 70h ]
[ 74h 69h 6Fh 6Eh ]
=====================================================
SDR Event Only Record
=====================================================
[ Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 15h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ 19h] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 73h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 4Eh 4Dh 20h 48h 65h 61h 6Ch 74h ]
[ 68h ]
=====================================================
SDR Event Only Record
=====================================================
[ Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ 1Ah] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 74h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[15B]
[ 4Eh 4Dh 20h 43h 61h 70h 61h 62h ]
[ 69h 6Ch 69h 74h 69h 65h 73h ]
=====================================================
SDR Event Only Record
=====================================================
[ Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 18h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ 1Bh] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 72h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 4Eh 4Dh 20h 54h 68h 72h 65h 73h ]
[ 68h 6Fh 6Ch 64h ]
=====================================================
SDR Event Only Record
=====================================================
[ 10h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 12h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ F0h] = sensor_number[ 8b]
[ D1h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 14h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 6E6F74747542h] = id_string[48b]
=====================================================
SDR Event Only Record
=====================================================
[ 11h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 16h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 77h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 9h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[10B]
[ 50h 6Fh 77h 65h 72h 20h 55h 6Eh ]
[ 69h 74h ]
=====================================================
SDR Event Only Record
=====================================================
[ 12h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 19h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 7Ah] = sensor_number[ 8b]
[ 90h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 28h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 42h 4Dh 43h 20h 46h 57h 20h 48h ]
[ 65h 61h 6Ch 74h 68h ]
=====================================================
SDR Event Only Record
=====================================================
[ 13h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 12h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 74h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 7h] = sensor_type[ 8b]
[ 3h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 525245544143h] = id_string[48b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 14h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 34h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D0h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 3Fh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ E2h] = normal_maximum[ 8b]
[ B6h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ D0h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ B0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 31h 32h ]
[ 56h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 15h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 34h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D1h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ ADh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ EFh] = normal_maximum[ 8b]
[ BAh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ CFh] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ AEh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 33h 56h ]
[ 33h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 16h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D3h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 6Bh] = nominal_reading[ 8b]
[ 7Bh] = normal_maximum[ 8b]
[ 5Ch] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 9Fh] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 87h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 31h 56h ]
[ 30h 35h 5Fh 50h 43h 48h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 17h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D2h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 5h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 1h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Bh] = nominal_reading[ 8b]
[ E4h] = normal_maximum[ 8b]
[ A8h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ D0h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ AEh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C8h] = id_string_type_length_code[ 8b]
[5635505F746C6F56h] = id_string[64b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 18h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D4h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 3Fh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ E2h] = normal_maximum[ 8b]
[ B6h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ D5h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ AFh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 31h 32h ]
[ 56h 5Fh 41h 55h 58h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 19h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D5h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 98h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 6Ch] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 56h 4Eh ]
[ 4Eh 5Fh 50h 43h 48h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D6h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 5Fh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ 7Bh] = normal_maximum[ 8b]
[ 5Ch] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ CCh] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ B2h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 31h 56h ]
[ 38h 5Fh 50h 43h 48h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 37h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D7h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ D6h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 99h] = nominal_reading[ 8b]
[ B4h] = normal_maximum[ 8b]
[ 88h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ AAh] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 73h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 33h 56h ]
[ 5Fh 42h 41h 54h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D8h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 5Fh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ E2h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Dh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 56h 43h ]
[ 43h 49h 4Eh 5Fh 43h 50h 55h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DAh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 5Fh] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ E2h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Dh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 56h 43h ]
[ 43h 49h 4Eh 5Fh 43h 50h 55h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ D9h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ A7h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 73h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 56h 43h ]
[ 43h 49h 4Fh 5Fh 43h 50h 55h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DBh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ A7h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 73h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 56h 6Fh 6Ch 74h 5Fh 50h 56h 43h ]
[ 43h 49h 4Fh 5Fh 43h 50h 55h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 20h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DCh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ B6h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Bh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 43h 50h 55h ]
[ 30h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 21h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DDh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ B6h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Bh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 43h 50h 55h ]
[ 30h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 22h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DEh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ B6h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Bh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 43h 50h 55h ]
[ 31h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 23h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ DFh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 47h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Ch] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 7Ah] = nominal_reading[ 8b]
[ 9Fh] = normal_maximum[ 8b]
[ 52h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ B6h] = upper_critical_threshold[ 8b]
[ 0h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 9Bh] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 56h 6Fh 6Ch 74h 5Fh 43h 50h 55h ]
[ 31h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 24h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 6Ch] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 1Eh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 54h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 30h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 25h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 6Dh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 1Eh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 54h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 30h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 26h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 6Eh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 1Eh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 54h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 31h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 27h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 6Fh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 1Eh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 54h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 31h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 28h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ BEh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 2Bh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 59h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C8h] = id_string_type_length_code[ 8b]
[4843505F706D6554h] = id_string[64b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 29h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 34h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ AAh] = sensor_number[ 8b]
[ 41h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 28h] = nominal_reading[ 8b]
[ 62h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 68h] = upper_critical_threshold[ 8b]
[ 67h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 34h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ ABh] = sensor_number[ 8b]
[ 41h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 28h] = nominal_reading[ 8b]
[ 62h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 68h] = upper_critical_threshold[ 8b]
[ 67h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 54h 65h 6Dh 70h 5Fh 43h 50h 55h ]
[ 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 36h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 68h] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 50h] = upper_critical_threshold[ 8b]
[ 4Bh] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CBh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[11B]
[ 54h 65h 6Dh 70h 5Fh 52h 69h 73h ]
[ 65h 72h 35h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 37h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 58h] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 37h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 59h] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CCh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[12B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 5Ah] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 30h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 5Bh] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 30h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 30h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 5Ch] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 31h 5Fh 41h 42h 43h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 31h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 3Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 5Dh] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 68h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ D0h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 54h 65h 6Dh 70h 5Fh 56h 52h 5Fh ]
[ 43h 50h 55h 31h 5Fh 44h 45h 46h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 32h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ EEh] = sensor_number[ 8b]
[ 40h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 3Ch] = upper_critical_threshold[ 8b]
[ 37h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C8h] = id_string_type_length_code[ 8b]
[3050425F706D6554h] = id_string[64b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 33h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ EFh] = sensor_number[ 8b]
[ 40h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 3Ch] = upper_critical_threshold[ 8b]
[ 37h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C8h] = id_string_type_length_code[ 8b]
[3150425F706D6554h] = id_string[64b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 34h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 35h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ EDh] = sensor_number[ 8b]
[ 40h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 26h] = upper_critical_threshold[ 8b]
[ 24h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 5h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[10B]
[ 54h 65h 6Dh 70h 5Fh 49h 6Eh 6Ch ]
[ 65h 74h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 35h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 30h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 75h] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 4Ch] = upper_critical_threshold[ 8b]
[ 4Bh] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 54h 65h 6Dh 70h 5Fh 4Eh 56h 4Dh ]
[ 65h 53h 53h 44h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 36h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 31h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 75h] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 4Ch] = upper_critical_threshold[ 8b]
[ 4Bh] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 54h 65h 6Dh 70h 5Fh 4Eh 56h 4Dh ]
[ 65h 53h 53h 44h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 37h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 32h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 75h] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 4Ch] = upper_critical_threshold[ 8b]
[ 4Bh] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 54h 65h 6Dh 70h 5Fh 4Eh 56h 4Dh ]
[ 65h 53h 53h 44h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 38h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 33h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 75h] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 4Ch] = upper_critical_threshold[ 8b]
[ 4Bh] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 54h 65h 6Dh 70h 5Fh 4Eh 56h 4Dh ]
[ 65h 53h 53h 44h 5Fh 33h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 39h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 38h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 63h] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 35h] = upper_critical_threshold[ 8b]
[ 30h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 54h 65h 6Dh 70h 5Fh 49h 6Eh 6Ch ]
[ 65h 74h 5Fh 4Dh 42h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 3Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 39h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 62h] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 2h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 19h] = nominal_reading[ 8b]
[ 2Ah] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ C5h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 50h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[14B]
[ 54h 65h 6Dh 70h 5Fh 4Fh 75h 74h ]
[ 6Ch 65h 74h 5Fh 4Dh 42h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 3Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 36h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ BDh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 0h] = sensor_capabilities.threshold_access_support[ 2b]
[ 0h] = sensor_capabilities.hysteresis_support[ 2b]
[ 0h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 0h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 0h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 0h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 0h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 2h] = sensor_unit1.analog_data_format[ 2b]
[ 1h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 1h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ 0h] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 2Bh] = nominal_reading[ 8b]
[ 4Dh] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 50h] = upper_non_critical_threshold[ 8b]
[ 0h] = lower_non_recoverable_threshold[ 8b]
[ 0h] = lower_critical_threshold[ 8b]
[ 0h] = lower_non_critical_threshold[ 8b]
[ 0h] = positive_going_threshold_hysteresis[ 8b]
[ 0h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ CBh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[11B]
[ 54h 65h 6Dh 70h 5Fh 4Fh 75h 74h ]
[ 6Ch 65h 74h ]
=====================================================
SDR Event Only Record
=====================================================
[ 3Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ A7h] = sensor_number[ 8b]
[ 2Ch] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 13h] = sensor_type[ 8b]
[ 70h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[15B]
[ 4Fh 74h 68h 65h 72h 20h 49h 49h ]
[ 4Fh 20h 45h 72h 72h 6Fh 72h ]
=====================================================
SDR Event Only Record
=====================================================
[ 3Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 19h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ B2h] = sensor_number[ 8b]
[ 2Eh] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ DCh] = sensor_type[ 8b]
[ 3h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 4Eh 4Dh 20h 53h 6Dh 61h 52h 54h ]
[ 20h 43h 4Ch 53h 54h ]
=====================================================
SDR Event Only Record
=====================================================
[ 3Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 15h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 0h] = channel_number[ 4b]
[ 7Bh] = sensor_number[ 8b]
[ D0h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 8h] = sensor_type[ 8b]
[ 3h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ C9h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[ 9B]
[ 50h 53h 55h 20h 41h 6Ch 65h 72h ]
[ 74h ]
=====================================================
SDR Event Only Record
=====================================================
[ 3Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 3h] = record_type[ 8b]
[ 19h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 16h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = fru_inventory_device_owner_lun[ 2b]
[ 6h] = channel_number[ 4b]
[ ADh] = sensor_number[ 8b]
[ 3h] = entity_id[ 8b]
[ 4h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ Bh] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] = share_count[ 4b]
[ 0h] = id_string_instance_modifier_type[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = id_string_instance_modifier_offset[ 7b]
[ 0h] = entity_instance_sharing[ 1b]
[ 0h] = reserved[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[13B]
[ 43h 68h 61h 73h 73h 69h 73h 20h ]
[ 50h 6Fh 77h 65h 72h ]
ipmi_sdr_parse_sensor_units: invalid sdr record
On 8/14/19, 1:30 PM, "Albert Chu" <address@hidden> wrote:
External email: Use caution opening links or attachments
Hi Stephen,
This is an error I don't recall seeing before. It appears one of the
SDR records is not legal and FreeIPMI doesn't really know how to
proceed b/c of it. No workaround I can think about at the moment.
Could you send me the --debug output. Minimally I can see what
FreeIPMI thinks this motherboard is doing. Then we consider workaround
options that I might add.
Al
On Wed, 2019-08-14 at 19:25 +0000, Stephen Abbene wrote:
> Hello,
>
> I noticed that on some quanta systems, particularly the QuantaPlex
> T42D-2U systems that the ipmi-sel command exits with an error, "
> ipmi_sdr_parse_sensor_units: invalid sdr record". Does anyone have
> any suggestions on how to get this working?
>
> $ sudo dmidecode -s system-product-name
> QuantaPlex T42D-2U
>
> $ sudo ./ipmi-sel --version
> ipmi-sel - 1.6.3
> Copyright (C) 2003-2015 FreeIPMI Core Team
> This program is free software; you may redistribute it under the
> terms of
> the GNU General Public License. This program has absolutely no
> warranty.
>
> $ sudo rm -rf /root/.freeipmi
>
> $ sudo ./ipmi-sel -f
> Flushing cache: /root/.freeipmi/sdr-cache/sdr-cache-XXXX.localhost
> [sabbene@rno-sim-g08-196 ipmi-sel]$ sudo ./ipmi-sel -W
> discretereading
> Caching SDR repository information: /root/.freeipmi/sdr-cache/sdr-
> cache-XXXX.localhost
> Caching SDR record 113 of 113 (current record ID 113)
> ipmi_sdr_parse_sensor_units: invalid sdr record
>
> $ sudo ./ipmi-sel -W discretereading
> Caching SDR repository information: /root/.freeipmi/sdr-cache/sdr-
> cache-XXXX.localhost
> Caching SDR record 113 of 113 (current record ID 113)
> ipmi_sdr_parse_sensor_units: invalid sdr record
>
> $ sudo ipmitool mc info
> Device ID : 32
> Device Revision : 1
> Firmware Revision : 3.67
> IPMI Version : 2.0
> Manufacturer ID : 7244
> Manufacturer Name : Quanta
> Product ID : 13636 (0x3544)
> Product Name : Unknown (0x3544)
> Device Available : yes
> Provides Device SDRs : yes
> Additional Device Support :
> Sensor Device
> SDR Repository Device
> SEL Device
> FRU Inventory Device
> IPMB Event Receiver
> IPMB Event Generator
> Chassis Device
> Aux Firmware Rev Info :
> 0x00
> 0x00
> 0x00
> 0x00
>
>
> Thanks,
> Stephen Abbene
>
> _______________________________________________
> Freeipmi-users mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/freeipmi-users
--
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory
- [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers,
Stephen Abbene <=
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/14
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/15
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/15
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/15
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/15
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Albert Chu, 2019/08/16
- Re: [Freeipmi-users] Free ipmi 1.6.3 ipmi-sel command exits with a error on some quanta servers, Stephen Abbene, 2019/08/16