[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freeipmi-users] ipmi-sensors missing data on HP Gen7/8 servers
From: |
Stephen Abbene |
Subject: |
Re: [Freeipmi-users] ipmi-sensors missing data on HP Gen7/8 servers |
Date: |
Thu, 14 Mar 2013 18:21:11 -0700 |
Thanks for replying so Quickly Albert. `ipmi-sensors -W discretereading` seems
to have done the trick thank you. Any tips on getting the "System Chassis 1
UID Light" and "System Chassis 2 Health LED" fields to populate with meaningful
data?
I have included the output of `ipmi-sensors -W discretereading --debug` below:
=====================================================
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]
[ 3Eh] = record_count[16b]
[ FFFFh] = free_space[16b]
[ 511B69F4h] = most_recent_addition_timestamp[32b]
[ FFFFFFFFh] = most_recent_erase_timestamp[32b]
[ 1h] = get_sdr_repository_allocation_info_command_supported[ 1b]
[ 1h] = reserve_sdr_repository_command_supported[ 1b]
[ 0h] = partial_add_sdr_command_supported[ 1b]
[ 1h] = delete_sdr_command_supported[ 1b]
[ 0h] = reserved[ 1b]
[ 0h] =
modal_non_modal_sdr_repository_update_operation_supported[ 2b]
[ 0h] = overflow_flag[ 1b]
=====================================================
SDR Full Sensor Record
=====================================================
[ 0h] = 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]
[ 1h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 70h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 55h 49h 44h 20h 4Ch 69h 67h 68h ]
[ 74h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1h] = 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]
[ 2h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 71h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 48h 65h 61h 6Ch 74h 68h 20h 4Ch ]
[ 45h 44h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2h] = 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]
[ 3h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 8h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 1h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 50h 6Fh 77h 65h 72h 20h 53h 75h ]
[ 70h 70h 6Ch 79h 20h 31h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 3h] = 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]
[ 4h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 31h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 4h] = 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]
[ 5h] = sensor_number[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 32h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 5h] = 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]
[ 6h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 33h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 6h] = 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]
[ 7h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 34h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 7h] = 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]
[ 8h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 35h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 8h] = 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]
[ 9h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 36h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 9h] = 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]
[ Ah] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 37h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Ah] = 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]
[ Bh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 38h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Bh] = 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]
[ Ch] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 9h] = entity_instance[ 7b]
[ 1h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Bh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 1h] = 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C4h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 73h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Entity Association Record
=====================================================
[ Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 8h] = record_type[ 8b]
[ Bh] = record_length[ 8b]
[ 7h] = container_entity_id[ 8b]
[ 9h] = container_entity_instance[ 8b]
[ 0h] = flags.reserved[ 5b]
[ 0h] = flags.sensor_presence[ 1b]
[ 0h] = flags.record_link[ 1b]
[ 1h] = flags.contained_entities[ 1b]
[ 7h] = entity_id_contained_entity_range_1[ 8b]
[ 2h] = instance_id_contained_entity_range_1[ 8b]
[ 7h] = entity_id_contained_entity_range_2[ 8b]
[ 8h] = instance_id_contained_entity_range_2[ 8b]
[ 0h] = entity_id_contained_entity_range_3[ 8b]
[ 0h] = instance_id_contained_entity_range_3[ 8b]
[ 0h] = entity_id_contained_entity_range_4[ 8b]
[ 0h] = instance_id_contained_entity_range_4[ 8b]
=====================================================
SDR Full Sensor Record
=====================================================
[ Dh] = 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]
[ Dh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 2Eh] = upper_non_recoverable_threshold[ 8b]
[ 2Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 30h 31h 2Dh 49h 6Eh 6Ch 65h 74h ]
[ 20h 41h 6Dh 62h 69h 65h 6Eh 74h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Eh] = 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]
[ Eh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 32h 2Dh 43h 50h 55h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Fh] = 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]
[ Fh] = sensor_number[ 8b]
[ 41h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 33h 2Dh 43h 50h 55h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 10h] = 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]
[ 10h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 34h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 11h] = 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]
[ 11h] = sensor_number[ 8b]
[ 20h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 35h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 12h] = 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]
[ 12h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 36h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 13h] = 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]
[ 13h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 37h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 14h] = 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]
[ 14h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 38h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 15h] = 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]
[ 15h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 39h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 16h] = 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]
[ 16h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 30h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 17h] = 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]
[ 17h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 31h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 18h] = 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]
[ 18h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 9h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 32h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 19h] = 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]
[ 19h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 33h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ah] = 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]
[ 1Ah] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 34h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Bh] = 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]
[ 1Bh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ch] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 35h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Ch] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 36h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Dh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Eh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 37h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Eh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Fh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 38h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Fh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 39h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 20h] = 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]
[ 20h] = sensor_number[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 3Ch] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 30h 2Dh 48h 44h 20h 4Dh 61h ]
[ 78h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 21h] = 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]
[ 21h] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 31h 2Dh 43h 68h 69h 70h 73h ]
[ 65h 74h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 22h] = 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]
[ 22h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 32h 2Dh 50h 2Fh 53h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 23h] = 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]
[ 23h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 33h 2Dh 56h 52h 20h 50h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 24h] = 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]
[ 24h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 34h 2Dh 56h 52h 20h 50h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 25h] = 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]
[ 25h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 64h] = upper_non_recoverable_threshold[ 8b]
[ 5Fh] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 35h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 26h] = 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]
[ 26h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 36h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 27h] = 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]
[ 27h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 37h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 28h] = 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]
[ 28h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 38h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 29h] = 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]
[ 29h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 39h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ah] = 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]
[ 2Ah] = sensor_number[ 8b]
[ 28h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 30h 2Dh 53h 75h 70h 65h 72h ]
[ 63h 61h 70h 20h 4Dh 61h 78h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Bh] = 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]
[ 2Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 31h 2Dh 69h 4Ch 4Fh 20h 5Ah ]
[ 6Fh 6Eh 65h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ch] = 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]
[ 2Ch] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 32h 2Dh 4Ch 4Fh 4Dh 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Dh] = 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]
[ 2Dh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 33h 2Dh 50h 43h 49h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
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]
[ 2Eh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 34h 2Dh 50h 43h 49h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
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]
[ 2Fh] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 35h 2Dh 50h 43h 49h 20h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
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]
[ 30h] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 36h 2Dh 50h 43h 49h 20h 32h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
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]
[ 31h] = sensor_number[ 8b]
[ Bh] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 37h 2Dh 4Ch 4Fh 4Dh 20h 43h ]
[ 61h 72h 64h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 32h] = 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]
[ 32h] = sensor_number[ 8b]
[ 42h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 38h 2Dh 53h 79h 73h 74h 65h ]
[ 6Dh 20h 42h 6Fh 61h 72h 64h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 33h] = 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]
[ 33h] = sensor_number[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 39h 2Dh 53h 79h 73h 20h 45h ]
[ 78h 68h 61h 75h 73h 74h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 34h] = 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]
[ 34h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Ah] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ 3h] = sensor_type[ 8b]
[ 9h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 2h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 50h 6Fh 77h 65h 72h 20h 4Dh 65h ]
[ 74h 65h 72h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 35h] = 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]
[ 35h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Bh] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ Ch] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 1h] = 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]
[ 58h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 4Dh 65h 6Dh 6Fh 72h 79h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 36h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 70h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 1h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 37h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 73h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 4h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 38h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 78h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 9h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 39h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Bh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Ch] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Ch] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Dh] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Fh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 10h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 84h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 15h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 87h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 18h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 0h] = 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]
[ 1h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 70h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 55h 49h 44h 20h 4Ch 69h 67h 68h ]
[ 74h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1h] = 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]
[ 2h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 71h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 48h 65h 61h 6Ch 74h 68h 20h 4Ch ]
[ 45h 44h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2h] = 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]
[ 3h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 8h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 1h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 50h 6Fh 77h 65h 72h 20h 53h 75h ]
[ 70h 70h 6Ch 79h 20h 31h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 3h] = 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]
[ 4h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 31h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 4h] = 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]
[ 5h] = sensor_number[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 32h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 5h] = 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]
[ 6h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 33h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 6h] = 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]
[ 7h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 34h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 7h] = 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]
[ 8h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 35h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 8h] = 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]
[ 9h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 36h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 9h] = 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]
[ Ah] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 37h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Ah] = 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]
[ Bh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 38h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Bh] = 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]
[ Ch] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 9h] = entity_instance[ 7b]
[ 1h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Bh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 1h] = 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C4h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 73h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Entity Association Record
=====================================================
[ Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 8h] = record_type[ 8b]
[ Bh] = record_length[ 8b]
[ 7h] = container_entity_id[ 8b]
[ 9h] = container_entity_instance[ 8b]
[ 0h] = flags.reserved[ 5b]
[ 0h] = flags.sensor_presence[ 1b]
[ 0h] = flags.record_link[ 1b]
[ 1h] = flags.contained_entities[ 1b]
[ 7h] = entity_id_contained_entity_range_1[ 8b]
[ 2h] = instance_id_contained_entity_range_1[ 8b]
[ 7h] = entity_id_contained_entity_range_2[ 8b]
[ 8h] = instance_id_contained_entity_range_2[ 8b]
[ 0h] = entity_id_contained_entity_range_3[ 8b]
[ 0h] = instance_id_contained_entity_range_3[ 8b]
[ 0h] = entity_id_contained_entity_range_4[ 8b]
[ 0h] = instance_id_contained_entity_range_4[ 8b]
=====================================================
SDR Full Sensor Record
=====================================================
[ Dh] = 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]
[ Dh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 2Eh] = upper_non_recoverable_threshold[ 8b]
[ 2Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 30h 31h 2Dh 49h 6Eh 6Ch 65h 74h ]
[ 20h 41h 6Dh 62h 69h 65h 6Eh 74h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Eh] = 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]
[ Eh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 32h 2Dh 43h 50h 55h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Fh] = 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]
[ Fh] = sensor_number[ 8b]
[ 41h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 33h 2Dh 43h 50h 55h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 10h] = 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]
[ 10h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 34h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 11h] = 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]
[ 11h] = sensor_number[ 8b]
[ 20h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 35h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 12h] = 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]
[ 12h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 36h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 13h] = 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]
[ 13h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 37h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 14h] = 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]
[ 14h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 38h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 15h] = 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]
[ 15h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 39h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 16h] = 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]
[ 16h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 30h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 17h] = 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]
[ 17h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 31h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 18h] = 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]
[ 18h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 9h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 32h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 19h] = 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]
[ 19h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 33h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ah] = 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]
[ 1Ah] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 34h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Bh] = 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]
[ 1Bh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ch] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 35h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Ch] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 36h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Dh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Eh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 37h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Eh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Fh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 38h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
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]
[ 1Fh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 39h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 20h] = 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]
[ 20h] = sensor_number[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 3Ch] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 30h 2Dh 48h 44h 20h 4Dh 61h ]
[ 78h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 21h] = 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]
[ 21h] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 31h 2Dh 43h 68h 69h 70h 73h ]
[ 65h 74h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 22h] = 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]
[ 22h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 32h 2Dh 50h 2Fh 53h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 23h] = 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]
[ 23h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 33h 2Dh 56h 52h 20h 50h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 24h] = 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]
[ 24h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 34h 2Dh 56h 52h 20h 50h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 25h] = 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]
[ 25h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 64h] = upper_non_recoverable_threshold[ 8b]
[ 5Fh] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 35h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 26h] = 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]
[ 26h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 36h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 27h] = 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]
[ 27h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 37h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 28h] = 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]
[ 28h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 38h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 29h] = 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]
[ 29h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 39h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ah] = 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]
[ 2Ah] = sensor_number[ 8b]
[ 28h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 30h 2Dh 53h 75h 70h 65h 72h ]
[ 63h 61h 70h 20h 4Dh 61h 78h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Bh] = 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]
[ 2Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 31h 2Dh 69h 4Ch 4Fh 20h 5Ah ]
[ 6Fh 6Eh 65h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ch] = 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]
[ 2Ch] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 32h 2Dh 4Ch 4Fh 4Dh 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Dh] = 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]
[ 2Dh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 33h 2Dh 50h 43h 49h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
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]
[ 2Eh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 34h 2Dh 50h 43h 49h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
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]
[ 2Fh] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 35h 2Dh 50h 43h 49h 20h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
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]
[ 30h] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 36h 2Dh 50h 43h 49h 20h 32h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
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]
[ 31h] = sensor_number[ 8b]
[ Bh] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 37h 2Dh 4Ch 4Fh 4Dh 20h 43h ]
[ 61h 72h 64h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 32h] = 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]
[ 32h] = sensor_number[ 8b]
[ 42h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 38h 2Dh 53h 79h 73h 74h 65h ]
[ 6Dh 20h 42h 6Fh 61h 72h 64h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 33h] = 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]
[ 33h] = sensor_number[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 39h 2Dh 53h 79h 73h 20h 45h ]
[ 78h 68h 61h 75h 73h 74h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 34h] = 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]
[ 34h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Ah] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ 3h] = sensor_type[ 8b]
[ 9h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 2h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 50h 6Fh 77h 65h 72h 20h 4Dh 65h ]
[ 74h 65h 72h 00h 00h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 35h] = 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]
[ 35h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Bh] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ Ch] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 1h] = 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]
[ 58h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 4Dh 65h 6Dh 6Fh 72h 79h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 36h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 70h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 1h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 37h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 73h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 4h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 38h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 78h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 9h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 39h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Bh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Ch] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Ch] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Dh] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Fh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 10h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 84h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 15h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 87h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 18h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 0h] = 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]
[ 1h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 70h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 55h 49h 44h 20h 4Ch 69h 67h 68h ]
[ 74h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
ID | Name | Type | Reading | Units | Event
0 | UID Light | OEM Reserved | N/A | N/A | 'OEM Event = 0000h'
=====================================================
SDR Full Sensor Record
=====================================================
[ 1h] = 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]
[ 2h] = sensor_number[ 8b]
[ 17h] = entity_id[ 8b]
[ 2h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.settable_sensor[ 1b]
[ 3h] = 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]
[ C0h] = sensor_type[ 8b]
[ 71h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_lower_threshold_reading_mask[16b]
[ 0h] = deassertion_event_upper_threshold_reading_mask[16b]
[ 7h] =
discrete_reading_settable_threshold_readable_threshold_mask[16b]
[ 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 48h 65h 61h 6Ch 74h 68h 20h 4Ch ]
[ 45h 44h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
1 | Health LED | OEM Reserved | N/A | N/A | 'OEM Event = 0000h'
=====================================================
SDR Full Sensor Record
=====================================================
[ 2h] = 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]
[ 3h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 8h] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 1h] = oem[ 8b]
[ CEh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 50h 6Fh 77h 65h 72h 20h 53h 75h ]
[ 70h 70h 6Ch 79h 20h 31h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 3h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 12h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
2 | Power Supply 1 | Power Supply | 90.00 | W | 'Presence detected'
=====================================================
SDR Full Sensor Record
=====================================================
[ 3h] = 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]
[ 4h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 31h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 4h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 1h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
3 | Fan 1 | Fan | N/A | N/A | N/A
=====================================================
SDR Full Sensor Record
=====================================================
[ 4h] = 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]
[ 5h] = sensor_number[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 32h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 5h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 32h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
4 | Fan 2 | Fan | 19.60 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ 5h] = 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]
[ 6h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 33h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 6h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 46h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
5 | Fan 3 | Fan | 27.44 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ 6h] = 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]
[ 7h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 34h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 7h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 46h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
6 | Fan 4 | Fan | 27.44 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ 7h] = 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]
[ 8h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 35h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 8h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 46h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
7 | Fan 5 | Fan | 27.44 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ 8h] = 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]
[ 9h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 36h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 9h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 46h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
8 | Fan 6 | Fan | 27.44 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ 9h] = 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]
[ Ah] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 37h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Ah] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 32h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
9 | Fan 7 | Fan | 19.60 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ Ah] = 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]
[ Bh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Ah] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 1h] = assertion_event_mask.event_offset_4[ 1b]
[ 0h] = assertion_event_mask.event_offset_5[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_1[ 1b]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 0h] = discrete_reading_mask.state_bit_5[ 1b]
[ 1h] = discrete_reading_mask.state_bit_6[ 1b]
[ 0h] = discrete_reading_mask.state_bit_7[ 1b]
[ 1h] = 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]
[ 1h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 0h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 88h] = 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]
[ 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C5h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 20h 38h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Bh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 32h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
10 | Fan 8 | Fan | 19.60 | % | 'transition to
Running'
=====================================================
SDR Full Sensor Record
=====================================================
[ Bh] = 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]
[ Ch] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 9h] = entity_instance[ 7b]
[ 1h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ Bh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 0h] = discrete_reading_mask.state_bit_2[ 1b]
[ 1h] = discrete_reading_mask.state_bit_3[ 1b]
[ 1h] = discrete_reading_mask.state_bit_4[ 1b]
[ 1h] = 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] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C4h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 46h 61h 6Eh 73h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Ch] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 1h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
11 | Fans | Fan | N/A | N/A | 'Fully Redundant'
=====================================================
SDR Entity Association Record
=====================================================
[ Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 8h] = record_type[ 8b]
[ Bh] = record_length[ 8b]
[ 7h] = container_entity_id[ 8b]
[ 9h] = container_entity_instance[ 8b]
[ 0h] = flags.reserved[ 5b]
[ 0h] = flags.sensor_presence[ 1b]
[ 0h] = flags.record_link[ 1b]
[ 1h] = flags.contained_entities[ 1b]
[ 7h] = entity_id_contained_entity_range_1[ 8b]
[ 2h] = instance_id_contained_entity_range_1[ 8b]
[ 7h] = entity_id_contained_entity_range_2[ 8b]
[ 8h] = instance_id_contained_entity_range_2[ 8b]
[ 0h] = entity_id_contained_entity_range_3[ 8b]
[ 0h] = instance_id_contained_entity_range_3[ 8b]
[ 0h] = entity_id_contained_entity_range_4[ 8b]
[ 0h] = instance_id_contained_entity_range_4[ 8b]
=====================================================
SDR Full Sensor Record
=====================================================
[ Dh] = 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]
[ Dh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 2Eh] = upper_non_recoverable_threshold[ 8b]
[ 2Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ 30h 31h 2Dh 49h 6Eh 6Ch 65h 74h ]
[ 20h 41h 6Dh 62h 69h 65h 6Eh 74h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Dh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 19h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
13 | 01-Inlet Ambient | Temperature | 25.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ Eh] = 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]
[ Eh] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 32h 2Dh 43h 50h 55h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Eh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 28h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
14 | 02-CPU 1 | Temperature | 40.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ Fh] = 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]
[ Fh] = sensor_number[ 8b]
[ 41h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 33h 2Dh 43h 50h 55h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ Fh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 28h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
15 | 03-CPU 2 | Temperature | 40.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 10h] = 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]
[ 10h] = 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]
[ 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 34h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 10h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 26h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
16 | 04-P1 DIMM 1-6 | Temperature | 38.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 11h] = 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]
[ 11h] = sensor_number[ 8b]
[ 20h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 35h 2Dh 50h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 11h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 27h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
17 | 05-P1 DIMM 7-12 | Temperature | 39.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 12h] = 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]
[ 12h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 36h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 2Dh 36h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 12h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 22h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
18 | 06-P2 DIMM 1-6 | Temperature | 34.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 13h] = 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]
[ 13h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 57h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 30h 37h 2Dh 50h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 37h 2Dh 31h 32h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 13h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ch] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
19 | 07-P2 DIMM 7-12 | Temperature | 28.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 14h] = 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]
[ 14h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 38h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 14h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 26h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
20 | 08-P1 Mem Zone | Temperature | 38.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 15h] = 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]
[ 15h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 30h 39h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 15h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 26h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
21 | 09-P1 Mem Zone | Temperature | 38.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 16h] = 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]
[ 16h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 30h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 16h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 27h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
22 | 10-P1 Mem Zone | Temperature | 39.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 17h] = 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]
[ 17h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 8h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 31h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 17h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2Ah] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
23 | 11-P1 Mem Zone | Temperature | 42.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 18h] = 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]
[ 18h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 9h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 32h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 18h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 28h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
24 | 12-P1 Mem Zone | Temperature | 40.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 19h] = 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]
[ 19h] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 33h 2Dh 50h 31h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 19h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 27h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
25 | 13-P1 Mem Zone | Temperature | 39.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ah] = 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]
[ 1Ah] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 34h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Ah] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 24h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
26 | 14-P2 Mem Zone | Temperature | 36.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Bh] = 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]
[ 1Bh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Ch] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 35h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Bh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 23h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
27 | 15-P2 Mem Zone | Temperature | 35.00 | C | 'OK'
=====================================================
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]
[ 1Ch] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 36h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Ch] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 22h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
28 | 16-P2 Mem Zone | Temperature | 34.00 | C | 'OK'
=====================================================
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]
[ 1Dh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Eh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 37h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Dh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 20h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
29 | 17-P2 Mem Zone | Temperature | 32.00 | C | 'OK'
=====================================================
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]
[ 1Eh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ Fh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 38h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Eh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Fh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
30 | 18-P2 Mem Zone | Temperature | 31.00 | C | 'OK'
=====================================================
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]
[ 1Fh] = sensor_number[ 8b]
[ 20h] = entity_id[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 31h 39h 2Dh 50h 32h 20h 4Dh 65h ]
[ 6Dh 20h 5Ah 6Fh 6Eh 65h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 1Fh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Eh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
31 | 19-P2 Mem Zone | Temperature | 30.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 20h] = 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]
[ 20h] = sensor_number[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 3Ch] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 30h 2Dh 48h 44h 20h 4Dh 61h ]
[ 78h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 20h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
32 | 20-HD Max | Temperature | N/A | C | N/A
=====================================================
SDR Full Sensor Record
=====================================================
[ 21h] = 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]
[ 21h] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 69h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CAh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 31h 2Dh 43h 68h 69h 70h 73h ]
[ 65h 74h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 21h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2Eh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
33 | 21-Chipset | Temperature | 46.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 22h] = 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]
[ 22h] = sensor_number[ 8b]
[ Ah] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 32h 2Dh 50h 2Fh 53h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 22h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 20h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
34 | 22-P/S | Temperature | 32.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 23h] = 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]
[ 23h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 33h 2Dh 56h 52h 20h 50h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 23h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2Bh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
35 | 23-VR P1 | Temperature | 43.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 24h] = 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]
[ 24h] = sensor_number[ 8b]
[ 13h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 32h 34h 2Dh 56h 52h 20h 50h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 24h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ch] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
36 | 24-VR P2 | Temperature | 28.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 25h] = 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]
[ 25h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 64h] = upper_non_recoverable_threshold[ 8b]
[ 5Fh] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 35h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 25h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2Dh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
37 | 25-VR P1 Zone | Temperature | 45.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 26h] = 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]
[ 26h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 4h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 36h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 26h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 28h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
38 | 26-VR P1 Mem | Temperature | 40.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 27h] = 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]
[ 27h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 5h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 37h 2Dh 56h 52h 20h 50h 31h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 27h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 26h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
39 | 27-VR P1 Mem | Temperature | 38.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 28h] = 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]
[ 28h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 6h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 38h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 28h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Dh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
40 | 28-VR P2 Mem | Temperature | 29.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 29h] = 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]
[ 29h] = sensor_number[ 8b]
[ 13h] = entity_id[ 8b]
[ 7h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 78h] = upper_non_recoverable_threshold[ 8b]
[ 73h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 32h 39h 2Dh 56h 52h 20h 50h 32h ]
[ 20h 4Dh 65h 6Dh 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 29h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ch] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
41 | 29-VR P2 Mem | Temperature | 28.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ah] = 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]
[ 2Ah] = sensor_number[ 8b]
[ 28h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 30h 2Dh 53h 75h 70h 65h 72h ]
[ 63h 61h 70h 20h 4Dh 61h 78h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Ah] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
42 | 30-Supercap Max | Temperature | N/A | C | N/A
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Bh] = 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]
[ 2Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 31h 2Dh 69h 4Ch 4Fh 20h 5Ah ]
[ 6Fh 6Eh 65h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Bh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 23h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
43 | 31-iLO Zone | Temperature | 35.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Ch] = 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]
[ 2Ch] = sensor_number[ 8b]
[ 42h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 32h 2Dh 4Ch 4Fh 4Dh 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Ch] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
44 | 32-LOM | Temperature | N/A | C | N/A
=====================================================
SDR Full Sensor Record
=====================================================
[ 2Dh] = 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]
[ 2Dh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 33h 2Dh 50h 43h 49h 20h 31h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Dh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
45 | 33-PCI 1 | Temperature | N/A | C | N/A
=====================================================
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]
[ 2Eh] = sensor_number[ 8b]
[ Bh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 34h 2Dh 50h 43h 49h 20h 32h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Eh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
46 | 34-PCI 2 | Temperature | N/A | C | N/A
=====================================================
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]
[ 2Fh] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 35h 2Dh 50h 43h 49h 20h 31h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 2Fh] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 20h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
47 | 35-PCI 1 Zone | Temperature | 32.00 | C | 'OK'
=====================================================
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]
[ 30h] = sensor_number[ 8b]
[ 10h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 36h 2Dh 50h 43h 49h 20h 32h ]
[ 20h 5Ah 6Fh 6Eh 65h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 30h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 21h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
48 | 36-PCI 2 Zone | Temperature | 33.00 | C | 'OK'
=====================================================
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]
[ 31h] = sensor_number[ 8b]
[ Bh] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 64h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 37h 2Dh 4Ch 4Fh 4Dh 20h 43h ]
[ 61h 72h 64h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 31h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 1h] = reading_state[ 1b]
[ 0h] = sensor_scanning[ 1b]
[ 0h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
Sensor reading/event bitmask not available: sensor reading unavailable
49 | 37-LOM Card | Temperature | N/A | C | N/A
=====================================================
SDR Full Sensor Record
=====================================================
[ 32h] = 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]
[ 32h] = sensor_number[ 8b]
[ 42h] = entity_id[ 8b]
[ 3h] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 4Bh] = upper_non_recoverable_threshold[ 8b]
[ 46h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ CFh] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 33h 38h 2Dh 53h 79h 73h 74h 65h ]
[ 6Dh 20h 42h 6Fh 61h 72h 64h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 32h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ah] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
50 | 38-System Board | Temperature | 26.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 33h] = 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]
[ 33h] = sensor_number[ 8b]
[ Dh] = 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]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 1h] = 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]
[ 1h] = 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]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
[ 1h] =
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]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
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]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 81h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 5Ah] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 33h 39h 2Dh 53h 79h 73h 20h 45h ]
[ 78h 68h 61h 75h 73h 74h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 33h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 28h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 0h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
51 | 39-Sys Exhaust | Temperature | 40.00 | C | 'OK'
=====================================================
SDR Full Sensor Record
=====================================================
[ 34h] = 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]
[ 34h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Ah] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ 3h] = sensor_type[ 8b]
[ 9h] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 0h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = 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]
[ 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]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 6h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 2h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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[16B]
[ 50h 6Fh 77h 65h 72h 20h 4Dh 65h ]
[ 74h 65h 72h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 34h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2Dh] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 2h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
52 | Power Meter | Current | 90.00 | W | 'Device Enabled'
=====================================================
SDR Full Sensor Record
=====================================================
[ 35h] = 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]
[ 35h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ Bh] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = sensor_initialization.sensor_scanning[ 1b]
[ 0h] = sensor_initialization.event_generation[ 1b]
[ 0h] = sensor_initialization.init_sensor_type[ 1b]
[ 0h] = sensor_initialization.init_hysteresis[ 1b]
[ 0h] = sensor_initialization.init_thresholds[ 1b]
[ 0h] = sensor_initialization.init_events[ 1b]
[ 0h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 3h] = 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]
[ Ch] = sensor_type[ 8b]
[ 6Fh] = event_reading_type_code[ 8b]
[ 0h] = assertion_event_mask.event_offset_0[ 1b]
[ 1h] = assertion_event_mask.event_offset_1[ 1b]
[ 0h] = assertion_event_mask.event_offset_2[ 1b]
[ 0h] = assertion_event_mask.event_offset_3[ 1b]
[ 0h] = 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]
[ 1h] = 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]
[ 1h] = 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]
[ 58h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 0h] = 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]
[ 0h] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 0h] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ 0h] = upper_non_recoverable_threshold[ 8b]
[ 0h] = upper_critical_threshold[ 8b]
[ 0h] = 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]
[ C6h] = id_string_type_length_code[ 8b]
[ BYTE ARRAY ... ] = id_string[16B]
[ 4Dh 65h 6Dh 6Fh 72h 79h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h 00h ]
=====================================================
Get Sensor Reading Request
=====================================================
[ 2Dh] = cmd[ 8b]
[ 35h] = sensor_number[ 8b]
=====================================================
Get Sensor Reading Response
=====================================================
[ 2Dh] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = sensor_reading[ 8b]
[ 0h] = reserved1[ 5b]
[ 0h] = reading_state[ 1b]
[ 1h] = sensor_scanning[ 1b]
[ 1h] = all_event_messages[ 1b]
[ 40h] = sensor_event_bitmask1[ 8b]
[ 0h] = sensor_event_bitmask2[ 7b]
[ 1h] = reserved2[ 1b]
53 | Memory | Memory | N/A | N/A | 'Presence detected'
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 36h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 70h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 1h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 37h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 73h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 4h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 38h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 78h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 9h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 39h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Bh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Ch] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 31h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Ch] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ Dh] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 7Fh] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 10h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 34h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 84h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 15h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CCh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 39h 00h 00h 00h 00h ]
=====================================================
SDR FRU Device Locator Record
=====================================================
[ 3Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 11h] = record_type[ 8b]
[ 1Bh] = record_length[ 8b]
[ 0h] = device_access_address.reserved[ 1b]
[ 10h] = device_access_address[ 7b]
[ 87h] = logical_fru_device_device_slave_address[ 8b]
[ 0h] = 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]
[ 1h] = device_type_modifier[ 8b]
[ 20h] = fru_entity_id[ 8b]
[ 18h] = fru_entity_instance[ 8b]
[ 0h] = oem[ 8b]
[ CDh] = device_id_string_type_length[ 8b]
[ BYTE ARRAY ... ] = device_id_string[16B]
[ 43h 50h 55h 20h 32h 20h 44h 49h ]
[ 4Dh 4Dh 20h 31h 32h 00h 00h 00h ]
-----Original Message-----
From: Albert Chu [mailto:address@hidden
Sent: Thursday, March 14, 2013 5:35 PM
To: Stephen Abbene
Cc: address@hidden
Subject: Re: [Freeipmi-users] ipmi-sensors missing data on HP Gen7/8 servers
Hi Stephen,
Could you please try the "discretereading" workaround (i.e. -W
discretereading). There's a description of the issue in the manpage about the
issue and it's only been seen on HP systems. I believe HP has acknowledged the
issue, but due to legacy reasons I don't believe they want to change it.
If that doesn't work, please send the --debug output.
Al
On Thu, 2013-03-14 at 16:55 -0700, Stephen Abbene wrote:
> Hello,
>
>
>
> Today I installed freeipmi 1.2.5 on several HP gen7 and Gen8 servers and
> have noticed that all the systems are missing the RPM from the fans and the
> power meter information. Is there a way I can obtain this information? I
> can provide the output from --debug or any other information you may need.
>
>
>
> Here are some of the specs of one of the systems I am testing, I can provide
> more information if it is required.
>
> . HP Proliant DL160 G8
>
> . CentOS 5.7
>
> . 2x Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
>
> . 1x Power Supply (detected)
>
> . 8x fans (detected)
>
>
>
> I have included the output of ` ipmi-sensors --entity-sensor-names` and
> `bmc-info` from a HP dl160 Gen8 below.
>
>
>
> # ipmi-sensors --entity-sensor-names
>
> ID | Name | Type | Reading
> | Units | Event
>
> 0 | System Chassis 1 UID Light | OEM Reserved | N/A | N/A |
> 'OEM Event = 0000h'
>
> 1 | System Chassis 2 Health LED | OEM Reserved | N/A | N/A |
> 'OEM Event = 0000h'
>
> 2 | Power Supply 1 Power Supply 1 | Power Supply | N/A | N/A
> | 'Presence detected'
>
> 3 | System Board 1 Fan 1 | Fan | N/A
> | N/A | N/A
>
> 4 | System Board 2 Fan 2 | Fan | N/A
> | N/A | 'transition to Running'
>
> 5 | System Board 3 Fan 3 | Fan | N/A
> | N/A | 'transition to Running'
>
> 6 | System Board 4 Fan 4 | Fan | N/A
> | N/A | 'transition to Running'
>
> 7 | System Board 5 Fan 5 | Fan | N/A
> | N/A | 'transition to Running'
>
> 8 | System Board 6 Fan 6 | Fan | N/A
> | N/A | 'transition to Running'
>
> 9 | System Board 7 Fan 7 | Fan | N/A
> | N/A | 'transition to Running'
>
> 10 | System Board 8 Fan 8 | Fan | N/A
> | N/A | 'transition to Running'
>
> 11 | System Board 9 Fans | Fan | N/A
> | N/A | 'Fully Redundant'
>
> 13 | Air Inlet 01-Inlet Ambient | Temperature | 25.00
> | C | 'OK'
>
> 14 | Processor 1 02-CPU 1 | Temperature | 40.00
> | C | 'OK'
>
> 15 | Processor 2 03-CPU 2 | Temperature | 40.00
> | C | 'OK'
>
> 16 | Memory Device 1 04-P1 DIMM 1-6 | Temperature | 38.00
> | C | 'OK'
>
> 17 | Memory Device 2 05-P1 DIMM 7-12 | Temperature | 39.00
> | C | 'OK'
>
> 18 | Memory Device 3 06-P2 DIMM 1-6 | Temperature | 34.00
> | C | 'OK'
>
> 19 | Memory Device 4 07-P2 DIMM 7-12 | Temperature | 29.00
> | C | 'OK'
>
> 20 | Memory Device 5 08-P1 Mem Zone | Temperature | 38.00
> | C | 'OK'
>
> 21 | Memory Device 6 09-P1 Mem Zone | Temperature | 38.00
> | C | 'OK'
>
> 22 | Memory Device 7 10-P1 Mem Zone | Temperature | 39.00
> | C | 'OK'
>
> 23 | Memory Device 8 11-P1 Mem Zone | Temperature | 42.00
> | C | 'OK'
>
> 24 | Memory Device 9 12-P1 Mem Zone | Temperature | 40.00
> | C | 'OK'
>
> 25 | Memory Device 10 13-P1 Mem Zone | Temperature | 39.00
> | C | 'OK'
>
> 26 | Memory Device 11 14-P2 Mem Zone | Temperature | 36.00
> | C | 'OK'
>
> 27 | Memory Device 12 15-P2 Mem Zone | Temperature | 35.00
> | C | 'OK'
>
> 28 | Memory Device 13 16-P2 Mem Zone | Temperature | 34.00
> | C | 'OK'
>
> 29 | Memory Device 14 17-P2 Mem Zone | Temperature | 33.00
> | C | 'OK'
>
> 30 | Memory Device 15 18-P2 Mem Zone | Temperature | 31.00
> | C | 'OK'
>
> 31 | Memory Device 16 19-P2 Mem Zone | Temperature | 30.00
> | C | 'OK'
>
> 32 | Disk 20-HD Max |
> Temperature | N/A | C | N/A
>
> 33 | System Board 1 21-Chipset | Temperature | 46.00
> | C | 'OK'
>
> 34 | Power Supply 2 22-P/S | Temperature | 32.00
> | C | 'OK'
>
> 35 | Power Unit 1 23-VR P1 | Temperature | 43.00
> | C | 'OK'
>
> 36 | Power Unit 2 24-VR P2 | Temperature | 28.00
> | C | 'OK'
>
> 37 | Power Unit 3 25-VR P1 Zone | Temperature | 45.00
> | C | 'OK'
>
> 38 | Power Unit 4 26-VR P1 Mem | Temperature | 40.00
> | C | 'OK'
>
> 39 | Power Unit 5 27-VR P1 Mem | Temperature | 38.00
> | C | 'OK'
>
> 40 | Power Unit 6 28-VR P2 Mem |
> Temperature | 30.00 | C | 'OK'
>
> 41 | Power Unit 7 29-VR P2 Mem |
> Temperature | 28.00 | C | 'OK'
>
> 42 | Battery 30-Supercap Max |
> Temperature | N/A | C | N/A
>
> 43 | System Management Module 31-iLO Zone | Temperature | 35.00
> | C | 'OK'
>
> 44 | System Board 2 32-LOM |
> Temperature | N/A | C | N/A
>
> 45 | Add-in Card 1 33-PCI 1 | Temperature | N/A
> | C | N/A
>
> 46 | Add-in Card 2 34-PCI 2 | Temperature | N/A
> | C | N/A
>
> 47 | System Internal Expansion Board 1 35-PCI 1 Zone | Temperature | 33.00
> | C | 'OK'
>
> 48 | System Internal Expansion Board 2 36-PCI 2 Zone | Temperature | 33.00
> | C | 'OK'
>
> 49 | Add-in Card 3 37-LOM Card | Temperature | N/A
> | C | N/A
>
> 50 | System Board 3 38-System Board | Temperature | 26.00
> | C | 'OK'
>
> 51 | Back Panel Board 39-Sys Exhaust | Temperature | 40.00
> | C | 'OK'
>
> 52 | System Board 10 Power Meter | Current | N/A
> | N/A | 'Device Enabled'
>
> 53 | System Board 11 Memory | Memory | N/A
> | N/A | 'Presence detected'
>
>
> # bmc-info
>
> Device ID : 19
>
> Device Revision : 1
>
> Device SDRs : unsupported
>
> Firmware Revision : 1.10
>
> Device Available : yes (normal operation)
>
> IPMI Version : 2.0
>
> Sensor Device : supported
>
> SDR Repository Device : supported
>
> SEL Device : supported
>
> FRU Inventory Device : supported
>
> IPMB Event Receiver : unsupported
>
> IPMB Event Generator : unsupported
>
> Bridge : unsupported
>
> Chassis Device : supported
>
> Manufacturer ID : Hewlett-Packard (11)
>
> Product ID : 8192
>
>
>
> Channel Information
>
>
>
> Channel Number : 0
>
> Medium Type : IPMB (I2C)
>
> Protocol Type : IPMB-1.0
>
> Active Session Count : 0
>
> Session Support : session-less
>
> Vendor ID : Intelligent Platform Management Interface forum (7154)
>
>
>
> Channel Number : 2
>
> Medium Type : 802.3 LAN
>
> Protocol Type : IPMB-1.0
>
> Active Session Count : 0
>
> Session Support : multi-session
>
> Vendor ID : Intelligent Platform Management Interface forum (7154)
>
>
>
> Channel Number : 7
>
> Medium Type : OEM
>
> Protocol Type : KCS
>
> Active Session Count : 0
>
> Session Support : session-less
>
> Vendor ID : Intelligent Platform Management Interface forum (7154)
>
> 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