[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Freeipmi-users] Freeipmi 1.1.6 ipmi-sensors ipmi_sdr_cache_create: SDR
From: |
发明田 |
Subject: |
[Freeipmi-users] Freeipmi 1.1.6 ipmi-sensors ipmi_sdr_cache_create: SDR record count invalid |
Date: |
Tue, 3 Jul 2012 14:16:51 +0800 |
Hoping that you can offer advice as to what's wrong.
Thanks.
address@hidden ~]# /usr/local/sbin/ipmi-sensors -V ipmi-sensors - 1.1.6
Copyright (C) 2003-2012 FreeIPMI Core Team This program is free software;
you may redistribute it under the terms of the GNU General Public License.
This program has absolutely no warranty. address@hidden ~]#
/usr/local/sbin/ipmi-sensors -qv Caching SDR repository information:
/root/.freeipmi/sdr-cache/sdr-cache-localhost.localhost Caching SDR record
36 of 36 (current record ID 36) ipmi_sdr_cache_create: SDR record count
invalid address@hidden ~]# /usr/local/sbin/ipmi-sensors Caching SDR
repository information:
/root/.freeipmi/sdr-cache/sdr-cache-localhost.localhost Caching SDR record
36 of 36 (current record ID 36) ipmi_sdr_cache_create: SDR record count
invalid address@hidden ~]# ls -rlth
/root/.freeipmi/sdr-cache/sdr-cache-localhost.localhost ls:
/root/.freeipmi/sdr-cache/sdr-cache-localhost.localhost: No such file or
directory
address@hidden ~]# /usr/local/sbin/ipmi-sensors --debug
Caching SDR repository information:
/root/.freeipmi/sdr-cache/sdr-cache-localhost.localhost
=====================================================
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]
[ 24h] = record_count[16b]
[ 1F10h] = free_space[16b]
[ 0h] = most_recent_addition_timestamp[32b]
[ 0h] = most_recent_erase_timestamp[32b]
[ 1h] = get_sdr_repository_allocation_info_command_supported[
1b]
[ 1h] = reserve_sdr_repository_command_supported[ 1b]
[ 1h] = partial_add_sdr_command_supported[ 1b]
[ 0h] = delete_sdr_command_supported[ 1b]
[ 0h] = reserved[ 1b]
[ 0h] =
modal_non_modal_sdr_repository_update_operation_supported[ 2b]
[ 0h] = overflow_flag[ 1b]
=====================================================
Reserve SDR Repository Request
=====================================================
[ 22h] = cmd[ 8b]
=====================================================
Reserve SDR Repository Response
=====================================================
[ 22h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1A8Dh] = reservation_id[16b]
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 0h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 2h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[23B]
[ 01h 00h 51h 12h 12h 20h 00h 00h ]
[ FFh 00h 00h 00h 00h 01h 00h C7h ]
[ 41h 53h 54h 32h 30h 35h 30h ]
=====================================================
SDR Management Controller Device Locator Record
=====================================================
[ 1h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 12h] = record_type[ 8b]
[ 12h] = record_length[ 8b]
[ 0h] = device_slave_address.reserved[ 1b]
[ 10h] = device_slave_address[ 7b]
[ 0h] = channel_number[ 4b]
[ 0h] = channel_number.reserved[ 4b]
[ 0h] = global_initialization.event_message_generation[ 2b]
[ 0h] =
global_initialization.log_initialization_agent_errors[ 1b]
[ 0h] =
global_initialization.controller_logs_initialization_agent_errors[ 1b]
[ 0h] = power_state_notification.reserved[ 1b]
[ 0h] = power_state_notification.controller[ 1b]
[ 0h] =
power_state_notification.acpi_device_power_state_notification[ 1b]
[ 0h] =
power_state_notification.acpi_system_power_state_notification[ 1b]
[ 1h] = device_capabilities.sensor_device[ 1b]
[ 1h] = device_capabilities.sdr_repository_device[ 1b]
[ 1h] = device_capabilities.sel_device[ 1b]
[ 1h] = device_capabilities.fru_inventory_device[ 1b]
[ 1h] = device_capabilities.ipmb_event_receiver[ 1b]
[ 1h] = device_capabilities.ipmb_event_generator[ 1b]
[ 1h] = device_capabilities.bridge[ 1b]
[ 1h] = device_capabilities.chassis_device[ 1b]
[ 0h] = reserved[24b]
[ 0h] = entity_id[ 8b]
[ 1h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 0h] = oem[ 8b]
[ C7h] = device_id_string_type_length[ 8b]
[ 30353032545341h] = device_id_string[56b]
Caching SDR record 1 of 36 (current record ID 0)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 2h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 3h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 02h 00h 51h 01h 31h 20h 00h 04h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 5Fh 05h 50h 40h 3Ah 0Ah ]
[ 10h 15h 01h 01h 00h 00h 00h C6h ]
[ 50h 43h 49h 45h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 2h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 5Fh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 50h] = upper_non_recoverable_threshold[ 8b]
[ 40h] = upper_critical_threshold[ 8b]
[ 3Ah] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ 10h] = lower_critical_threshold[ 8b]
[ 15h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 315F45494350h] = id_string[48b]
Caching SDR record 2 of 36 (current record ID 2)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 3h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 4h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 03h 00h 51h 01h 31h 20h 00h 03h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 5Fh 05h 50h 40h 3Ah 0Ah ]
[ 10h 15h 01h 01h 00h 00h 00h C6h ]
[ 50h 43h 49h 45h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 3h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 5Fh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 50h] = upper_non_recoverable_threshold[ 8b]
[ 40h] = upper_critical_threshold[ 8b]
[ 3Ah] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ 10h] = lower_critical_threshold[ 8b]
[ 15h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 305F45494350h] = id_string[48b]
Caching SDR record 3 of 36 (current record ID 3)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 4h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 5h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 04h 00h 51h 01h 33h 20h 00h 05h ]
[ 07h 00h 7Fh 68h 02h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 04h 00h 00h ]
[ 08h 00h 00h 00h 00h D0h 00h 8Ah ]
[ D6h 1Bh FFh 00h AFh ABh A7h 46h ]
[ 4Ah 4Eh 00h 00h 00h 00h 00h C8h ]
[ 43h 50h 55h 56h 4Fh 52h 45h 41h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 4h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 5h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 8h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ D6h] = normal_maximum[ 8b]
[ 1Bh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ AFh] = upper_non_recoverable_threshold[ 8b]
[ ABh] = upper_critical_threshold[ 8b]
[ A7h] = upper_non_critical_threshold[ 8b]
[ 46h] = lower_non_recoverable_threshold[ 8b]
[ 4Ah] = lower_critical_threshold[ 8b]
[ 4Eh] = 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]
[4145524F56555043h] = id_string[64b]
Caching SDR record 4 of 36 (current record ID 4)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 5h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 6h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 05h 00h 51h 01h 31h 20h 00h 08h ]
[ 07h 00h 7Fh 68h 02h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 04h 00h 00h ]
[ 60h 00h 00h 00h 00h D0h 00h CFh ]
[ FEh 70h 9Fh 60h 91h 8Ch 87h 66h ]
[ 68h 6Dh 00h 00h 00h 00h 00h C6h ]
[ 31h 32h 56h 53h 45h 4Eh ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 5h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 60h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ CFh] = nominal_reading[ 8b]
[ FEh] = normal_maximum[ 8b]
[ 70h] = normal_minimum[ 8b]
[ 9Fh] = sensor_maximum_reading[ 8b]
[ 60h] = sensor_minimum_reading[ 8b]
[ 91h] = upper_non_recoverable_threshold[ 8b]
[ 8Ch] = upper_critical_threshold[ 8b]
[ 87h] = upper_non_critical_threshold[ 8b]
[ 66h] = lower_non_recoverable_threshold[ 8b]
[ 68h] = lower_critical_threshold[ 8b]
[ 6Dh] = 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]
[ 4E4553563231h] = id_string[48b]
Caching SDR record 5 of 36 (current record ID 5)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 6h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 7h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 06h 00h 51h 01h 33h 20h 00h 0Bh ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 12h ]
[ FFh 05h FFh 00h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 43h 50h 55h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 6h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ Bh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 12h] = nominal_reading[ 8b]
[ FFh] = normal_maximum[ 8b]
[ 5h] = 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]
[ C8h] = id_string_type_length_code[ 8b]
[305550435F4E4146h] = id_string[64b]
Caching SDR record 6 of 36 (current record ID 6)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 7h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 8h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 07h 00h 51h 01h 33h 20h 00h 06h ]
[ 07h 00h 7Fh 68h 02h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 04h 00h 00h ]
[ 08h 00h 00h 00h 00h D0h 00h 8Ah ]
[ D6h 1Bh FFh 00h AFh ABh A7h 46h ]
[ 4Ah 4Eh 00h 00h 00h 00h 00h C8h ]
[ 43h 50h 55h 56h 4Fh 52h 45h 42h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 7h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 6h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 8h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 8Ah] = nominal_reading[ 8b]
[ D6h] = normal_maximum[ 8b]
[ 1Bh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ AFh] = upper_non_recoverable_threshold[ 8b]
[ ABh] = upper_critical_threshold[ 8b]
[ A7h] = upper_non_critical_threshold[ 8b]
[ 46h] = lower_non_recoverable_threshold[ 8b]
[ 4Ah] = lower_critical_threshold[ 8b]
[ 4Eh] = 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]
[4245524F56555043h] = id_string[64b]
Caching SDR record 7 of 36 (current record ID 7)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 8h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 9h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[52B]
[ 08h 00h 51h 01h 2Fh 20h 00h 07h ]
[ 07h 00h 7Fh 68h 02h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 04h 00h 00h ]
[ 10h 00h 00h 00h 00h D0h 00h CFh ]
[ EDh AFh FAh 9Ch FAh F3h EDh A5h ]
[ ABh B2h 00h 00h 00h 00h 00h C4h ]
[ 33h 2Eh 33h 56h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 8h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 2Fh] = 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]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 10h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 0h] = b_ls[ 8b]
[ 0h] = accuracy_ls[ 6b]
[ 0h] = b_ms[ 2b]
[ 0h] = sensor_direction[ 2b]
[ 0h] = accuracy_exp[ 2b]
[ 0h] = accuracy_ms[ 4b]
[ 0h] = b_exponent[ 4b]
[ Dh] = r_exponent[ 4b]
[ 0h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 0h] = analog_characteristics_flag.normal_max[ 1b]
[ 0h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ CFh] = nominal_reading[ 8b]
[ EDh] = normal_maximum[ 8b]
[ AFh] = normal_minimum[ 8b]
[ FAh] = sensor_maximum_reading[ 8b]
[ 9Ch] = sensor_minimum_reading[ 8b]
[ FAh] = upper_non_recoverable_threshold[ 8b]
[ F3h] = upper_critical_threshold[ 8b]
[ EDh] = upper_non_critical_threshold[ 8b]
[ A5h] = lower_non_recoverable_threshold[ 8b]
[ ABh] = lower_critical_threshold[ 8b]
[ B2h] = 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]
[ 56332E33h] = id_string[32b]
Caching SDR record 8 of 36 (current record ID 8)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 9h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Ah] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 09h 00h 51h 01h 33h 20h 00h 0Eh ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 12h ]
[ FFh 05h FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 9h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ Eh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 12h] = nominal_reading[ 8b]
[ FFh] = normal_maximum[ 8b]
[ 5h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[325359535F4E4146h] = id_string[64b]
Caching SDR record 9 of 36 (current record ID 9)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Ah] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Bh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 0Ah 00h 51h 01h 33h 20h 00h 0Dh ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 12h ]
[ FFh 05h FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ Dh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 12h] = nominal_reading[ 8b]
[ FFh] = normal_maximum[ 8b]
[ 5h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[315359535F4E4146h] = id_string[64b]
Caching SDR record 10 of 36 (current record ID 10)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Bh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Ch] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 0Bh 00h 51h 01h 33h 20h 00h 0Fh ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 78h ]
[ BEh 5Fh FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 33h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ Fh] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 78h] = nominal_reading[ 8b]
[ BEh] = normal_maximum[ 8b]
[ 5Fh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[335359535F4E4146h] = id_string[64b]
Caching SDR record 11 of 36 (current record ID 11)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Ch] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Dh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 0Ch 00h 51h 01h 33h 20h 00h 0Ch ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 78h ]
[ BEh 5Fh FFh 05h 00h 00h 00h 00h ]
[ 00h 00h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 43h 50h 55h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ Ch] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 78h] = nominal_reading[ 8b]
[ BEh] = normal_maximum[ 8b]
[ 5Fh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = 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]
[ C8h] = id_string_type_length_code[ 8b]
[315550435F4E4146h] = id_string[64b]
Caching SDR record 12 of 36 (current record ID 12)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Dh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Eh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 0Dh 00h 51h 01h 33h 20h 00h 10h ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 78h ]
[ BEh 5Fh FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 34h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 10h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 78h] = nominal_reading[ 8b]
[ BEh] = normal_maximum[ 8b]
[ 5Fh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[345359535F4E4146h] = id_string[64b]
Caching SDR record 13 of 36 (current record ID 13)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Eh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ Fh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[52B]
[ 0Eh 00h 51h 01h 2Fh 20h 00h 00h ]
[ 07h 00h 7Fh 68h 02h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 04h 00h 00h ]
[ 18h 00h 96h 00h 00h D0h 00h CDh ]
[ FDh 72h FEh A0h F8h F3h EEh B5h ]
[ BBh C0h 00h 00h 00h 00h 00h C4h ]
[ 35h 56h 44h 44h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 2Fh] = 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]
[ 0h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 2h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 4h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 0h] = linearization[ 7b]
[ 0h] = linearization.reserved[ 1b]
[ 18h] = m_ls[ 8b]
[ 0h] = tolerance[ 6b]
[ 0h] = m_ms[ 2b]
[ 96h] = 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]
[ CDh] = nominal_reading[ 8b]
[ FDh] = normal_maximum[ 8b]
[ 72h] = normal_minimum[ 8b]
[ FEh] = sensor_maximum_reading[ 8b]
[ A0h] = sensor_minimum_reading[ 8b]
[ F8h] = upper_non_recoverable_threshold[ 8b]
[ F3h] = upper_critical_threshold[ 8b]
[ EEh] = upper_non_critical_threshold[ 8b]
[ B5h] = lower_non_recoverable_threshold[ 8b]
[ BBh] = lower_critical_threshold[ 8b]
[ C0h] = 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]
[ 44445635h] = id_string[32b]
Caching SDR record 14 of 36 (current record ID 14)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ Fh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 10h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 0Fh 00h 51h 01h 33h 20h 00h 11h ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 78h ]
[ BEh 5Fh FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 35h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 11h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 78h] = nominal_reading[ 8b]
[ BEh] = normal_maximum[ 8b]
[ 5Fh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[355359535F4E4146h] = id_string[64b]
Caching SDR record 15 of 36 (current record ID 15)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 10h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 11h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[56B]
[ 10h 00h 51h 01h 33h 20h 00h 12h ]
[ 07h 00h 7Fh 68h 04h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 20h 12h 00h 07h ]
[ 01h 00h 00h 00h 00h B0h 00h 78h ]
[ BEh 5Fh FFh 05h 08h 0Ah 0Bh 64h ]
[ 32h 21h 00h 00h 00h 00h 00h C8h ]
[ 46h 41h 4Eh 5Fh 53h 59h 53h 36h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 10h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 33h] = record_length[ 8b]
[ 0h] = sensor_owner_id.type[ 1b]
[ 10h] = sensor_owner_id[ 7b]
[ 0h] = sensor_owner_lun[ 2b]
[ 0h] = sensor_owner_lun.reserved[ 2b]
[ 0h] = channel_number[ 4b]
[ 12h] = sensor_number[ 8b]
[ 7h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 4h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 4h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 12h] = sensor_unit2.base_unit[ 8b]
[ 0h] = sensor_unit3.modifier_unit[ 8b]
[ 7h] = 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]
[ Bh] = 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]
[ 78h] = nominal_reading[ 8b]
[ BEh] = normal_maximum[ 8b]
[ 5Fh] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 5h] = sensor_minimum_reading[ 8b]
[ 8h] = upper_non_recoverable_threshold[ 8b]
[ Ah] = upper_critical_threshold[ 8b]
[ Bh] = upper_non_critical_threshold[ 8b]
[ 64h] = lower_non_recoverable_threshold[ 8b]
[ 32h] = lower_critical_threshold[ 8b]
[ 21h] = 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]
[365359535F4E4146h] = id_string[64b]
Caching SDR record 16 of 36 (current record ID 16)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 11h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 12h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[52B]
[ 11h 00h 51h 01h 2Fh 20h 00h 02h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 00h 00h 7Fh 80h 5Fh 55h 50h 10h ]
[ 15h 1Ah 01h 01h 00h 00h 00h C4h ]
[ 43h 50h 55h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 11h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 2Fh] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 50h] = upper_non_critical_threshold[ 8b]
[ 10h] = lower_non_recoverable_threshold[ 8b]
[ 15h] = lower_critical_threshold[ 8b]
[ 1Ah] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C4h] = id_string_type_length_code[ 8b]
[ 31555043h] = id_string[32b]
Caching SDR record 17 of 36 (current record ID 17)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 12h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 13h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[52B]
[ 12h 00h 51h 01h 2Fh 20h 00h 01h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 00h 00h 7Fh 80h 5Fh 55h 50h 10h ]
[ 15h 1Ah 01h 01h 00h 00h 00h C4h ]
[ 43h 50h 55h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 12h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 2Fh] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 0h] = normal_maximum[ 8b]
[ 0h] = normal_minimum[ 8b]
[ 7Fh] = sensor_maximum_reading[ 8b]
[ 80h] = sensor_minimum_reading[ 8b]
[ 5Fh] = upper_non_recoverable_threshold[ 8b]
[ 55h] = upper_critical_threshold[ 8b]
[ 50h] = upper_non_critical_threshold[ 8b]
[ 10h] = lower_non_recoverable_threshold[ 8b]
[ 15h] = lower_critical_threshold[ 8b]
[ 1Ah] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C4h] = id_string_type_length_code[ 8b]
[ 30555043h] = id_string[32b]
Caching SDR record 18 of 36 (current record ID 18)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 13h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 14h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[53B]
[ 13h 00h 51h 01h 30h 20h 00h 13h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C5h ]
[ 49h 4Fh 48h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 13h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 30h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C5h] = id_string_type_length_code[ 8b]
[ 305F484F49h] = id_string[40b]
Caching SDR record 19 of 36 (current record ID 19)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 14h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 15h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[53B]
[ 14h 00h 51h 01h 30h 20h 00h 14h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C5h ]
[ 49h 4Fh 48h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 14h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 30h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C5h] = id_string_type_length_code[ 8b]
[ 315F484F49h] = id_string[40b]
Caching SDR record 20 of 36 (current record ID 20)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 15h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 16h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[53B]
[ 15h 00h 51h 01h 30h 20h 00h 15h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C5h ]
[ 49h 4Fh 48h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 15h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 30h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C5h] = id_string_type_length_code[ 8b]
[ 325F484F49h] = id_string[40b]
Caching SDR record 21 of 36 (current record ID 21)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 16h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 17h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 16h 00h 51h 01h 31h 20h 00h 16h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 31h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 16h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 305F314D454Dh] = id_string[48b]
Caching SDR record 22 of 36 (current record ID 22)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 17h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 18h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 17h 00h 51h 01h 31h 20h 00h 17h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 31h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 17h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 315F314D454Dh] = id_string[48b]
Caching SDR record 23 of 36 (current record ID 23)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 18h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 19h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 18h 00h 51h 01h 31h 20h 00h 18h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 31h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 18h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 325F314D454Dh] = id_string[48b]
Caching SDR record 24 of 36 (current record ID 24)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 19h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ah] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 19h 00h 51h 01h 31h 20h 00h 19h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 30h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 19h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 305F304D454Dh] = id_string[48b]
Caching SDR record 25 of 36 (current record ID 25)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Ah] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Bh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 1Ah 00h 51h 01h 31h 20h 00h 1Ah ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 30h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ah] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 315F304D454Dh] = id_string[48b]
Caching SDR record 26 of 36 (current record ID 26)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Bh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Ch] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 1Bh 00h 51h 01h 31h 20h 00h 1Bh ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C6h ]
[ 4Dh 45h 4Dh 30h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Bh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 325F304D454Dh] = id_string[48b]
Caching SDR record 27 of 36 (current record ID 27)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Ch] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Dh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 1Ch 00h 51h 01h 32h 20h 00h 1Ch ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 30h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Ch] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 305F304E414C50h] = id_string[56b]
Caching SDR record 28 of 36 (current record ID 28)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Dh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Eh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 1Dh 00h 51h 01h 32h 20h 00h 1Dh ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 30h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Dh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 315F304E414C50h] = id_string[56b]
Caching SDR record 29 of 36 (current record ID 29)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Eh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 1Fh] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 1Eh 00h 51h 01h 32h 20h 00h 1Eh ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 30h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Eh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 325F304E414C50h] = id_string[56b]
Caching SDR record 30 of 36 (current record ID 30)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 1Fh] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 20h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 1Fh 00h 51h 01h 32h 20h 00h 1Fh ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 31h 5Fh 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 1Fh] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 305F314E414C50h] = id_string[56b]
Caching SDR record 31 of 36 (current record ID 31)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 20h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 21h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 20h 00h 51h 01h 32h 20h 00h 20h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 31h 5Fh 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 20h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 315F314E414C50h] = id_string[56b]
Caching SDR record 32 of 36 (current record ID 32)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 21h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 22h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[55B]
[ 21h 00h 51h 01h 32h 20h 00h 21h ]
[ 03h 00h 7Fh 68h 01h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 80h 01h 00h 00h ]
[ 01h 00h 00h 00h 00h 00h 07h 3Ch ]
[ 46h 32h 6Fh 01h 46h 41h 3Ch 0Ah ]
[ 0Eh 12h 01h 01h 00h 00h 00h C7h ]
[ 50h 4Ch 41h 4Eh 31h 5Fh 32h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 21h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 32h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 1h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 3Ch] = nominal_reading[ 8b]
[ 46h] = normal_maximum[ 8b]
[ 32h] = normal_minimum[ 8b]
[ 6Fh] = sensor_maximum_reading[ 8b]
[ 1h] = sensor_minimum_reading[ 8b]
[ 46h] = upper_non_recoverable_threshold[ 8b]
[ 41h] = upper_critical_threshold[ 8b]
[ 3Ch] = upper_non_critical_threshold[ 8b]
[ Ah] = lower_non_recoverable_threshold[ 8b]
[ Eh] = lower_critical_threshold[ 8b]
[ 12h] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C7h] = id_string_type_length_code[ 8b]
[ 325F314E414C50h] = id_string[56b]
Caching SDR record 33 of 36 (current record ID 33)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 22h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 23h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 22h 00h 51h 01h 31h 20h 00h 09h ]
[ 03h 00h 7Fh 68h 08h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 06h 00h 00h ]
[ 02h 00h 00h 00h 00h 00h 07h 64h ]
[ 64h 64h FFh 00h FFh C8h AAh 10h ]
[ 14h 1Ch 01h 01h 00h 00h 00h C6h ]
[ 50h 6Fh 77h 65h 72h 30h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 22h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 8h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 64h] = nominal_reading[ 8b]
[ 64h] = normal_maximum[ 8b]
[ 64h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ FFh] = upper_non_recoverable_threshold[ 8b]
[ C8h] = upper_critical_threshold[ 8b]
[ AAh] = upper_non_critical_threshold[ 8b]
[ 10h] = lower_non_recoverable_threshold[ 8b]
[ 14h] = lower_critical_threshold[ 8b]
[ 1Ch] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 307265776F50h] = id_string[48b]
Caching SDR record 34 of 36 (current record ID 34)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 23h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 24h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[54B]
[ 23h 00h 51h 01h 31h 20h 00h 0Ah ]
[ 03h 00h 7Fh 68h 08h 01h 95h 7Ah ]
[ 95h 7Ah 3Fh 3Fh 00h 06h 00h 00h ]
[ 02h 00h 00h 00h 00h 00h 07h 64h ]
[ 64h 64h FFh 00h FFh C8h AAh 10h ]
[ 14h 1Ch 01h 01h 00h 00h 00h C6h ]
[ 50h 6Fh 77h 65h 72h 31h ]
=====================================================
SDR Full Sensor Record
=====================================================
[ 23h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ 1h] = record_type[ 8b]
[ 31h] = 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]
[ 3h] = entity_id[ 8b]
[ 0h] = entity_instance[ 7b]
[ 0h] = entity_instance.type[ 1b]
[ 1h] = sensor_initialization.sensor_scanning[ 1b]
[ 1h] = sensor_initialization.event_generation[ 1b]
[ 1h] = sensor_initialization.init_sensor_type[ 1b]
[ 1h] = sensor_initialization.init_hysteresis[ 1b]
[ 1h] = sensor_initialization.init_thresholds[ 1b]
[ 1h] = sensor_initialization.init_events[ 1b]
[ 1h] = sensor_initialization.init_scanning[ 1b]
[ 0h] = sensor_initialization.reserved[ 1b]
[ 0h] = sensor_capabilities.event_message_control_support[ 2b]
[ 2h] = sensor_capabilities.threshold_access_support[ 2b]
[ 2h] = sensor_capabilities.hysteresis_support[ 2b]
[ 1h] = sensor_capabilities.auto_re_arm_support[ 1b]
[ 0h] = sensor_capabilities.entity_ignore_support[ 1b]
[ 8h] = sensor_type[ 8b]
[ 1h] = event_reading_type_code[ 8b]
[ 1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
[ 1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
[ 0h] = lower_threshold_reading_mask.reserved[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[
1b]
[ 0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
[ 1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
[ 0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[
1b]
[ 1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[
1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
[ 1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
[ 0h] = upper_threshold_reading_mask.reserved[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
[ 1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
[ 0h] = readable_threshold_mask.reserved1[ 1b]
[ 0h] = readable_threshold_mask.reserved2[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
[ 1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
[ 0h] = settable_threshold_mask.reserved1[ 1b]
[ 0h] = settable_threshold_mask.reserved2[ 1b]
[ 0h] = sensor_unit1.percentage[ 1b]
[ 0h] = sensor_unit1.modifier_unit[ 2b]
[ 0h] = sensor_unit1.rate_unit[ 3b]
[ 0h] = sensor_unit1.analog_data_format[ 2b]
[ 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]
[ 1h] = analog_characteristics_flag.nominal_reading[ 1b]
[ 1h] = analog_characteristics_flag.normal_max[ 1b]
[ 1h] = analog_characteristics_flag.normal_min[ 1b]
[ 0h] = analog_characteristics_flag.reserved[ 5b]
[ 64h] = nominal_reading[ 8b]
[ 64h] = normal_maximum[ 8b]
[ 64h] = normal_minimum[ 8b]
[ FFh] = sensor_maximum_reading[ 8b]
[ 0h] = sensor_minimum_reading[ 8b]
[ FFh] = upper_non_recoverable_threshold[ 8b]
[ C8h] = upper_critical_threshold[ 8b]
[ AAh] = upper_non_critical_threshold[ 8b]
[ 10h] = lower_non_recoverable_threshold[ 8b]
[ 14h] = lower_critical_threshold[ 8b]
[ 1Ch] = lower_non_critical_threshold[ 8b]
[ 1h] = positive_going_threshold_hysteresis[ 8b]
[ 1h] = negative_going_threshold_hysteresis[ 8b]
[ 0h] = reserved[16b]
[ 0h] = oem[ 8b]
[ C6h] = id_string_type_length_code[ 8b]
[ 317265776F50h] = id_string[48b]
Caching SDR record 35 of 36 (current record ID 35)
=====================================================
Get SDR Request
=====================================================
[ 23h] = cmd[ 8b]
[ 1A8Dh] = reservation_id[16b]
[ 24h] = record_id[16b]
[ 0h] = offset_into_record[ 8b]
[ FFh] = bytes_to_read[ 8b]
=====================================================
Get SDR Response
=====================================================
[ 23h] = cmd[ 8b]
[ 0h] = comp_code[ 8b]
[ 0h] = next_record_id[16b]
[ BYTE ARRAY ... ] = record_data[27B]
[ 24h 00h 51h C0h 16h 57h 01h 00h ]
[ 0Dh 01h 2Ch 60h 00h 00h 00h 00h ]
[ 00h 00h 10h 10h 00h 06h 00h 00h ]
[ 08h 00h 00h ]
=====================================================
SDR OEM Record
=====================================================
[ 24h] = record_id[16b]
[ 1h] = sdr_version_major[ 4b]
[ 5h] = sdr_version_minor[ 4b]
[ C0h] = record_type[ 8b]
[ 16h] = record_length[ 8b]
[ 157h] = manufacturer_id[24b]
[ BYTE ARRAY ... ] = oem_data[19B]
[ 0Dh 01h 2Ch 60h 00h 00h 00h 00h ]
[ 00h 00h 10h 10h 00h 06h 00h 00h ]
[ 08h 00h 00h ]
Caching SDR record 36 of 36 (current record ID 36)
ipmi_sdr_cache_create: SDR record count invalid
- [Freeipmi-users] Freeipmi 1.1.6 ipmi-sensors ipmi_sdr_cache_create: SDR record count invalid,
发明田 <=