pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Channel Authentication Capabilities Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 0h] = authentication_type[ 8b] pc-xyz: [ 0h] = session_sequence_number[32b] pc-xyz: [ 0h] = session_id[32b] pc-xyz: [ 9h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = net_fn[ 6b] pc-xyz: [ C8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 14h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 38h] = cmd[ 8b] pc-xyz: [ Eh] = channel_number[ 4b] pc-xyz: [ 0h] = reserved1[ 3b] pc-xyz: [ 0h] = get_ipmi_v2.0_extended_data[ 1b] pc-xyz: [ 3h] = maximum_privilege_level[ 4b] pc-xyz: [ 0h] = reserved2[ 4b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E6h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Channel Authentication Capabilities Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 0h] = authentication_type[ 8b] pc-xyz: [ 0h] = session_sequence_number[32b] pc-xyz: [ 0h] = session_id[32b] pc-xyz: [ 10h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = net_fn[ 6b] pc-xyz: [ 63h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 14h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 38h] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 1h] = channel_number[ 8b] pc-xyz: [ 0h] = authentication_type.none[ 1b] pc-xyz: [ 0h] = authentication_type.md2[ 1b] pc-xyz: [ 1h] = authentication_type.md5[ 1b] pc-xyz: [ 0h] = authentication_type.reserved1[ 1b] pc-xyz: [ 0h] = authentication_type.straight_password_key[ 1b] pc-xyz: [ 0h] = authentication_type.oem_prop[ 1b] pc-xyz: [ 0h] = authentication_type.reserved2[ 1b] pc-xyz: [ 0h] = authentication_type.ipmi_v2.0_extended_capabilities_available[ 1b] pc-xyz: [ 0h] = authentication_status.anonymous_login[ 1b] pc-xyz: [ 0h] = authentication_status.null_username[ 1b] pc-xyz: [ 1h] = authentication_status.non_null_username[ 1b] pc-xyz: [ 0h] = authentication_status.user_level_authentication[ 1b] pc-xyz: [ 0h] = authentication_status.per_message_authentication[ 1b] pc-xyz: [ 0h] = authentication_status.k_g[ 1b] pc-xyz: [ 0h] = authentication_status.reserved[ 2b] pc-xyz: [ 0h] = channel_supports_ipmi_v1.5_connections[ 1b] pc-xyz: [ 0h] = channel_supports_ipmi_v2.0_connections[ 1b] pc-xyz: [ 0h] = reserved[ 6b] pc-xyz: [ 0h] = oem_id[24b] pc-xyz: [ 0h] = oem_auxiliary_data[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Session Challenge Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 0h] = authentication_type[ 8b] pc-xyz: [ 0h] = session_sequence_number[32b] pc-xyz: [ 0h] = session_id[32b] pc-xyz: [ 18h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = net_fn[ 6b] pc-xyz: [ C8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 15h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 39h] = cmd[ 8b] pc-xyz: [ 2h] = authentication_type[ 4b] pc-xyz: [ 0h] = reserved[ 4b] pc-xyz: [ BYTE ARRAY ... ] = user_name[16B] pc-xyz: [ 41h 44h 4Dh 49h 4Eh 00h 00h 00h ] pc-xyz: [ 00h 00h 00h 00h 00h 00h 00h 00h ] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 87h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Session Challenge Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 0h] = authentication_type[ 8b] pc-xyz: [ 0h] = session_sequence_number[32b] pc-xyz: [ 0h] = session_id[32b] pc-xyz: [ 1Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = net_fn[ 6b] pc-xyz: [ 63h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 15h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 39h] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 200F900h] = temp_session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = challenge_string[16B] pc-xyz: [ 56h 68h 67h 05h 5Dh EEh C3h 51h ] pc-xyz: [ 7Ch C0h 50h 64h 4Eh 87h F1h 1Eh ] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ FBh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Activiate Session Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 0h] = session_sequence_number[32b] pc-xyz: [ 200F900h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 51h 08h 60h E3h 95h D5h 45h 33h ] pc-xyz: [ FCh 1Ch 5Bh 26h 68h DFh 3Bh 4Ch ] pc-xyz: [ 1Dh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = net_fn[ 6b] pc-xyz: [ C8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 16h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Ah] = cmd[ 8b] pc-xyz: [ 2h] = authentication_type[ 4b] pc-xyz: [ 0h] = reserved1[ 4b] pc-xyz: [ 3h] = maximum_privilege_level[ 4b] pc-xyz: [ 0h] = reserved2[ 4b] pc-xyz: [ BYTE ARRAY ... ] = challenge_string[16B] pc-xyz: [ 56h 68h 67h 05h 5Dh EEh C3h 51h ] pc-xyz: [ 7Ch C0h 50h 64h 4Eh 87h F1h 1Eh ] pc-xyz: [ 1602A1B4h] = initial_outbound_sequence_number[32b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 1Eh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Activiate Session Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B4h] = session_sequence_number[32b] pc-xyz: [ 200F900h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ EBh 84h 40h 4Bh A6h 4Fh 1Ah 4Ch ] pc-xyz: [ CFh CAh 74h 49h BEh 3Ch 12h E1h ] pc-xyz: [ 12h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = net_fn[ 6b] pc-xyz: [ 63h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 16h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Ah] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 2h] = authentication_type[ 4b] pc-xyz: [ 0h] = reserved1[ 4b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ 1h] = initial_inbound_sequence_number[32b] pc-xyz: [ 3h] = maximum_privilege_level[ 4b] pc-xyz: [ 0h] = reserved2[ 4b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Ch] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Set Session Privilege Level Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B7h 05h 0Bh 32h AEh 77h 64h 63h ] pc-xyz: [ 66h FFh AFh DEh 80h 97h 0Bh 36h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = net_fn[ 6b] pc-xyz: [ C8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 17h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Bh] = cmd[ 8b] pc-xyz: [ 3h] = privilege_level[ 4b] pc-xyz: [ 0h] = reserved1[ 4b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E5h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Set Session Privilege Level Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 01h 39h 8Dh 0Fh D2h 3Ah 0Ah 2Ch ] pc-xyz: [ EEh 6Ch 12h A5h 2Ah F9h B5h 42h ] pc-xyz: [ 9h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = net_fn[ 6b] pc-xyz: [ 63h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 17h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Bh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 3h] = privilege_level[ 4b] pc-xyz: [ 0h] = reserved1[ 4b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 46h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get SDR Repository Info Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 92h 84h 60h 59h B0h D3h F4h E2h ] pc-xyz: [ 49h 45h 9Ch AFh 00h 4Bh 40h CAh ] pc-xyz: [ 7h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Ah] = net_fn[ 6b] pc-xyz: [ B8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 18h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 20h] = cmd[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ FFh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get SDR Repository Info Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ BDh A9h DBh 0Dh 8Bh B5h 49h 90h ] pc-xyz: [ 8Bh F9h F3h 0Dh E0h A9h 9Fh 98h ] pc-xyz: [ 16h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Bh] = net_fn[ 6b] pc-xyz: [ 53h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 18h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 20h] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 76h] = record_count[16b] pc-xyz: [ 644h] = free_space[16b] pc-xyz: [ FFFFFFFFh] = most_recent_addition_timestamp[32b] pc-xyz: [ FFFFFFFFh] = most_recent_erase_timestamp[32b] pc-xyz: [ 0h] = get_sdr_repository_allocation_info_command_supported[ 1b] pc-xyz: [ 1h] = reserve_sdr_repository_command_supported[ 1b] pc-xyz: [ 0h] = partial_add_sdr_command_supported[ 1b] pc-xyz: [ 0h] = delete_sdr_command_supported[ 1b] pc-xyz: [ 0h] = reserved[ 1b] pc-xyz: [ 2h] = modal_non_modal_sdr_repository_update_operation_supported[ 2b] pc-xyz: [ 0h] = overflow_flag[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 15h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 4h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 7h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 0h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 8h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 9h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 99h] = nominal_reading[ 8b] pc-xyz: [ A9h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 36h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 9Eh] = nominal_reading[ 8b] pc-xyz: [ B4h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DFh] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 50h 6Ch 61h 6Eh 61h 72h 20h 54h ] pc-xyz: [ 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 10h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 4Dh 4Fh 53h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 3h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 52h 4Fh 4Dh 42h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 10h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 11h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 12h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 54545620555043h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 13h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056352E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 14h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056382E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 15h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 4750205635h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 16h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 17h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 10h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 35h 56h 20h 52h 69h 73h 65h 72h ] pc-xyz: [ 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 18h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 19h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056392E30h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 24h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [4C49414620312E31h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 29h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 4Ch 4Fh 4Dh 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 20h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 41h 55h 58h 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 21h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 30h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 22h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 31h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 23h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 32h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 24h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 33h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 25h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 34h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 26h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 35h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 27h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 36h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 28h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 37h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 29h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 38h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 39h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 50h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 51h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 52h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 48h 65h 61h 74h 73h 69h 6Eh 6Bh ] pc-xyz: [ 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 30h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 54h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 31h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 55h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 32h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 56h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 50h 72h 65h 73h 65h 6Eh 63h 65h ] pc-xyz: [ 20h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 33h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 59h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 55h 53h 42h 20h 43h 61h 62h 6Ch ] pc-xyz: [ 65h 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 34h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Ch] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 52h 69h 73h 65h 72h 31h 20h 50h ] pc-xyz: [ 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 35h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 50h 46h 61h 75h 6Ch 74h 20h 46h ] pc-xyz: [ 61h 69h 6Ch 20h 53h 61h 66h 65h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 36h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 60h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 37h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 61h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 38h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 64h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 39h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 65h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 66h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 70h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 69h 44h 52h 41h 43h 36h 20h 45h ] pc-xyz: [ 6Eh 74h 20h 50h 52h 45h 53h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 71h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 23h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 1Eh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 72h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = id_string_type_length_code[ 8b] pc-xyz: [ 4C4553h] = id_string[24b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 73h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 5h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 49h 6Eh 74h 72h 75h 73h 69h 6Fh ] pc-xyz: [ 6Eh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 74h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 50h 53h 20h 52h 65h 64h 75h 6Eh ] pc-xyz: [ 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 40h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 75h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 6Eh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 41h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 76h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 54h 65h 6Dh 70h ] pc-xyz: [ 20h 49h 6Eh 74h 65h 72h 66h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 42h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 80h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Dh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 4h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 6576697244h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 43h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 90h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 61h 62h 6Ch 65h 20h 53h 41h ] pc-xyz: [ 53h 20h 41h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 44h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 94h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 45h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 95h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 46h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 96h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 47h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 97h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 48h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 98h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 6h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 7h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 2Fh] = nominal_reading[ 8b] pc-xyz: [ 30h] = normal_maximum[ 8b] pc-xyz: [ 2Ch] = normal_minimum[ 8b] pc-xyz: [ FEh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 61h] = upper_critical_threshold[ 8b] pc-xyz: [ 5Ch] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 4Ch ] pc-xyz: [ 65h 76h 65h 6Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 49h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 99h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C0h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 50h 6Fh 77h 65h 72h 20h 4Fh 70h ] pc-xyz: [ 74h 69h 6Dh 69h 7Ah 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Management Controller Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 12h] = record_type[ 8b] pc-xyz: [ Eh] = record_length[ 8b] pc-xyz: [ 0h] = device_slave_address.reserved[ 1b] pc-xyz: [ 10h] = device_slave_address[ 7b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = global_initialization.event_message_generation[ 2b] pc-xyz: [ 0h] = global_initialization.log_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = global_initialization.controller_logs_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = power_state_notification.reserved[ 1b] pc-xyz: [ 0h] = power_state_notification.controller[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_device_power_state_notification[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_system_power_state_notification[ 1b] pc-xyz: [ 1h] = device_capabilities.sensor_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sdr_repository_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sel_device[ 1b] pc-xyz: [ 1h] = device_capabilities.fru_inventory_device[ 1b] pc-xyz: [ 1h] = device_capabilities.ipmb_event_receiver[ 1b] pc-xyz: [ 0h] = device_capabilities.ipmb_event_generator[ 1b] pc-xyz: [ 1h] = device_capabilities.bridge[ 1b] pc-xyz: [ 1h] = device_capabilities.chassis_device[ 1b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = device_id_string_type_length[ 8b] pc-xyz: [ 434D42h] = device_id_string[24b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 17h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 7h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = device_id_string_type_length[ 8b] pc-xyz: [ BYTE ARRAY ... ] = device_id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 42h ] pc-xyz: [ 6Fh 61h 72h 64h ] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 2h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 3h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 50h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 5h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 51h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 317265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 52h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B1h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 327265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 53h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 45h 43h 43h 20h 43h 6Fh 72h 72h ] pc-xyz: [ 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 54h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 45h 43h 43h 20h 55h 6Eh 63h 6Fh ] pc-xyz: [ 72h 72h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 55h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 49h 2Fh 4Fh 20h 43h 68h 61h 6Eh ] pc-xyz: [ 6Eh 65h 6Ch 20h 43h 68h 6Bh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 56h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 4h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 50h 61h 72h 69h ] pc-xyz: [ 74h 79h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 57h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 53h 79h 73h 74h ] pc-xyz: [ 65h 6Dh 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 58h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 53h 42h 45h 20h 4Ch 6Fh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 59h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Ch 6Fh 67h 67h 69h 6Eh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 12h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 6E776F6E6B6E55h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 43h 50h 55h 20h 50h 72h 6Fh 74h ] pc-xyz: [ 6Fh 63h 6Fh 6Ch 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 42h 75h 73h 20h ] pc-xyz: [ 50h 45h 52h 52h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 49h 6Eh 69h 74h ] pc-xyz: [ 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 4Dh 61h 63h 68h ] pc-xyz: [ 69h 6Eh 65h 20h 43h 68h 6Bh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 53h ] pc-xyz: [ 70h 61h 72h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 60h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 4Dh ] pc-xyz: [ 69h 72h 72h 6Fh 72h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 61h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 41h 49h 44h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 62h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 41h ] pc-xyz: [ 64h 64h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 63h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 65h 6Dh 6Fh 76h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 64h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 43h ] pc-xyz: [ 66h 67h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 65h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 20h 47h 61h 69h 6Eh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 66h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 45h 20h 46h 61h 74h ] pc-xyz: [ 61h 6Ch 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 67h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 19h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 68h 69h 70h 73h 65h 74h 20h ] pc-xyz: [ 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 68h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C1h] = sensor_type[ 8b] pc-xyz: [ 7Eh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_lower_threshold_reading_mask[16b] pc-xyz: [ 0h] = deassertion_event_upper_threshold_reading_mask[16b] pc-xyz: [ 0h] = discrete_reading_settable_threshold_readable_threshold_mask[16b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 45h 72h 72h 20h 52h 65h 67h 20h ] pc-xyz: [ 50h 6Fh 69h 6Eh 74h 65h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 69h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 20h 45h 43h 43h 20h ] pc-xyz: [ 57h 61h 72h 6Eh 69h 6Eh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 20h 43h 52h 43h 20h ] pc-xyz: [ 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 55h 53h 42h 20h 4Fh 76h 65h 72h ] pc-xyz: [ 2Dh 63h 75h 72h 72h 65h 6Eh 74h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Fh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [7272452054534F50h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 48h 64h 77h 72h 20h 76h 65h 72h ] pc-xyz: [ 73h 69h 6Fh 6Eh 20h 65h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 20h 4Fh 76h 65h 72h ] pc-xyz: [ 74h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 53h 42h 20h 43h 52h 43h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 70h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 4Eh 42h 20h 43h 52h 43h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 71h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 23h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 11h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h 20h 54h 69h 6Dh 65h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 72h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 26h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Eh 6Fh 6Eh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 50h 43h 49h 20h 45h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 73h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 27h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 74h 61h 6Ch 20h 49h 4Fh ] pc-xyz: [ 20h 45h 72h 72h 6Fh 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 74h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 53h 52h 20h 49h 6Eh 66h 6Fh ] pc-xyz: [ 20h 4Ch 6Fh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Entity Association Record pc-xyz: ===================================================== pc-xyz: [ 75h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 8h] = record_type[ 8b] pc-xyz: [ 10h] = record_length[ 8b] pc-xyz: [ 7h] = container_entity_id[ 8b] pc-xyz: [ 1h] = container_entity_instance[ 8b] pc-xyz: [ 0h] = flags.reserved[ 5b] pc-xyz: [ 0h] = flags.sensor_presence[ 1b] pc-xyz: [ 1h] = flags.record_link[ 1b] pc-xyz: [ 1h] = flags.contained_entities[ 1b] pc-xyz: [ 3h] = entity_id_contained_entity_range_1[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_1[ 8b] pc-xyz: [ 3h] = entity_id_contained_entity_range_2[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_2[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_3[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_3[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_4[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_4[ 8b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 76h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 4h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 3h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 4h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 7h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 0h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 8h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 9h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 99h] = nominal_reading[ 8b] pc-xyz: [ A9h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 36h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 9Eh] = nominal_reading[ 8b] pc-xyz: [ B4h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DFh] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 50h 6Ch 61h 6Eh 61h 72h 20h 54h ] pc-xyz: [ 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 10h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 4Dh 4Fh 53h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 3h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 52h 4Fh 4Dh 42h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 10h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 11h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 12h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 54545620555043h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 13h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056352E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 14h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056382E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 15h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 4750205635h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 16h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 17h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 10h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 35h 56h 20h 52h 69h 73h 65h 72h ] pc-xyz: [ 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 18h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 19h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056392E30h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 24h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [4C49414620312E31h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 29h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 4Ch 4Fh 4Dh 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 20h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 41h 55h 58h 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 21h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 30h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 22h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 31h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 23h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 32h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 24h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 33h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 25h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 34h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 26h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 35h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 27h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 36h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 28h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 37h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 29h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 38h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 39h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 50h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 51h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 52h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 48h 65h 61h 74h 73h 69h 6Eh 6Bh ] pc-xyz: [ 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 30h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 54h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 31h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 55h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 32h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 56h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 50h 72h 65h 73h 65h 6Eh 63h 65h ] pc-xyz: [ 20h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 33h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 59h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 55h 53h 42h 20h 43h 61h 62h 6Ch ] pc-xyz: [ 65h 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 34h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Ch] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 52h 69h 73h 65h 72h 31h 20h 50h ] pc-xyz: [ 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 35h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 50h 46h 61h 75h 6Ch 74h 20h 46h ] pc-xyz: [ 61h 69h 6Ch 20h 53h 61h 66h 65h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 36h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 60h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 37h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 61h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 38h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 64h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 39h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 65h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 66h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 70h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 69h 44h 52h 41h 43h 36h 20h 45h ] pc-xyz: [ 6Eh 74h 20h 50h 52h 45h 53h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 71h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 23h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 1Eh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 72h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = id_string_type_length_code[ 8b] pc-xyz: [ 4C4553h] = id_string[24b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 73h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 5h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 49h 6Eh 74h 72h 75h 73h 69h 6Fh ] pc-xyz: [ 6Eh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 74h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 50h 53h 20h 52h 65h 64h 75h 6Eh ] pc-xyz: [ 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 40h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 75h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 6Eh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 41h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 76h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 54h 65h 6Dh 70h ] pc-xyz: [ 20h 49h 6Eh 74h 65h 72h 66h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 42h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 80h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Dh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 4h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 6576697244h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 43h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 90h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 61h 62h 6Ch 65h 20h 53h 41h ] pc-xyz: [ 53h 20h 41h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 44h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 94h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 45h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 95h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 46h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 96h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 47h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 97h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 48h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 98h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 6h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 7h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 2Fh] = nominal_reading[ 8b] pc-xyz: [ 30h] = normal_maximum[ 8b] pc-xyz: [ 2Ch] = normal_minimum[ 8b] pc-xyz: [ FEh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 61h] = upper_critical_threshold[ 8b] pc-xyz: [ 5Ch] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 4Ch ] pc-xyz: [ 65h 76h 65h 6Ch ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 49h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 99h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C0h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 50h 6Fh 77h 65h 72h 20h 4Fh 70h ] pc-xyz: [ 74h 69h 6Dh 69h 7Ah 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Management Controller Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 12h] = record_type[ 8b] pc-xyz: [ Eh] = record_length[ 8b] pc-xyz: [ 0h] = device_slave_address.reserved[ 1b] pc-xyz: [ 10h] = device_slave_address[ 7b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = global_initialization.event_message_generation[ 2b] pc-xyz: [ 0h] = global_initialization.log_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = global_initialization.controller_logs_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = power_state_notification.reserved[ 1b] pc-xyz: [ 0h] = power_state_notification.controller[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_device_power_state_notification[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_system_power_state_notification[ 1b] pc-xyz: [ 1h] = device_capabilities.sensor_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sdr_repository_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sel_device[ 1b] pc-xyz: [ 1h] = device_capabilities.fru_inventory_device[ 1b] pc-xyz: [ 1h] = device_capabilities.ipmb_event_receiver[ 1b] pc-xyz: [ 0h] = device_capabilities.ipmb_event_generator[ 1b] pc-xyz: [ 1h] = device_capabilities.bridge[ 1b] pc-xyz: [ 1h] = device_capabilities.chassis_device[ 1b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = device_id_string_type_length[ 8b] pc-xyz: [ 434D42h] = device_id_string[24b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 17h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 7h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = device_id_string_type_length[ 8b] pc-xyz: [ BYTE ARRAY ... ] = device_id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 42h ] pc-xyz: [ 6Fh 61h 72h 64h ] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 2h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 3h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 50h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 5h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 51h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 317265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 52h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B1h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 327265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 53h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 45h 43h 43h 20h 43h 6Fh 72h 72h ] pc-xyz: [ 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 54h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 45h 43h 43h 20h 55h 6Eh 63h 6Fh ] pc-xyz: [ 72h 72h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 55h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 49h 2Fh 4Fh 20h 43h 68h 61h 6Eh ] pc-xyz: [ 6Eh 65h 6Ch 20h 43h 68h 6Bh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 56h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 4h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 50h 61h 72h 69h ] pc-xyz: [ 74h 79h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 57h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 53h 79h 73h 74h ] pc-xyz: [ 65h 6Dh 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 58h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 53h 42h 45h 20h 4Ch 6Fh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 59h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Ch 6Fh 67h 67h 69h 6Eh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 12h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 6E776F6E6B6E55h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 43h 50h 55h 20h 50h 72h 6Fh 74h ] pc-xyz: [ 6Fh 63h 6Fh 6Ch 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 42h 75h 73h 20h ] pc-xyz: [ 50h 45h 52h 52h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 49h 6Eh 69h 74h ] pc-xyz: [ 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 4Dh 61h 63h 68h ] pc-xyz: [ 69h 6Eh 65h 20h 43h 68h 6Bh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 53h ] pc-xyz: [ 70h 61h 72h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 60h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 4Dh ] pc-xyz: [ 69h 72h 72h 6Fh 72h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 61h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 41h 49h 44h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 62h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 41h ] pc-xyz: [ 64h 64h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 63h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 65h 6Dh 6Fh 76h 65h 64h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 64h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 43h ] pc-xyz: [ 66h 67h 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 65h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 20h 47h 61h 69h 6Eh ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 66h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 45h 20h 46h 61h 74h ] pc-xyz: [ 61h 6Ch 20h 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 67h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 19h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 68h 69h 70h 73h 65h 74h 20h ] pc-xyz: [ 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 68h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C1h] = sensor_type[ 8b] pc-xyz: [ 7Eh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_lower_threshold_reading_mask[16b] pc-xyz: [ 0h] = deassertion_event_upper_threshold_reading_mask[16b] pc-xyz: [ 0h] = discrete_reading_settable_threshold_readable_threshold_mask[16b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 45h 72h 72h 20h 52h 65h 67h 20h ] pc-xyz: [ 50h 6Fh 69h 6Eh 74h 65h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 69h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 20h 45h 43h 43h 20h ] pc-xyz: [ 57h 61h 72h 6Eh 69h 6Eh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 20h 43h 52h 43h 20h ] pc-xyz: [ 45h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 55h 53h 42h 20h 4Fh 76h 65h 72h ] pc-xyz: [ 2Dh 63h 75h 72h 72h 65h 6Eh 74h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Fh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [7272452054534F50h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 48h 64h 77h 72h 20h 76h 65h 72h ] pc-xyz: [ 73h 69h 6Fh 6Eh 20h 65h 72h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 20h 4Fh 76h 65h 72h ] pc-xyz: [ 74h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 53h 42h 20h 43h 52h 43h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 70h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 4Eh 42h 20h 43h 52h 43h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 71h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 23h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 11h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h 20h 54h 69h 6Dh 65h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 72h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 26h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Eh 6Fh 6Eh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 50h 43h 49h 20h 45h 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 73h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 27h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 74h 61h 6Ch 20h 49h 4Fh ] pc-xyz: [ 20h 45h 72h 72h 6Fh 72h ] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 74h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 53h 52h 20h 49h 6Eh 66h 6Fh ] pc-xyz: [ 20h 4Ch 6Fh 67h ] pc-xyz: ===================================================== pc-xyz: SDR Entity Association Record pc-xyz: ===================================================== pc-xyz: [ 75h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 8h] = record_type[ 8b] pc-xyz: [ 10h] = record_length[ 8b] pc-xyz: [ 7h] = container_entity_id[ 8b] pc-xyz: [ 1h] = container_entity_instance[ 8b] pc-xyz: [ 0h] = flags.reserved[ 5b] pc-xyz: [ 0h] = flags.sensor_presence[ 1b] pc-xyz: [ 1h] = flags.record_link[ 1b] pc-xyz: [ 1h] = flags.contained_entities[ 1b] pc-xyz: [ 3h] = entity_id_contained_entity_range_1[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_1[ 8b] pc-xyz: [ 3h] = entity_id_contained_entity_range_2[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_2[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_3[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_3[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_4[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_4[ 8b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 76h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 4h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 3h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 02h AAh E0h 82h 27h 0Eh 57h E2h ] pc-xyz: [ 14h F6h 31h ABh 5Ch 3Dh B9h CCh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 19h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ EDh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 61h F8h 49h 14h B1h 1Bh 24h 75h ] pc-xyz: [ 4Ch 44h A2h 02h 69h 4Ah 78h 4Ch ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 19h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 44h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Bh] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled ID | Name | Type | Reading | Units | Event 1 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ B2h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DAh] = upper_critical_threshold[ 8b] pc-xyz: [ D5h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 85h] = lower_critical_threshold[ 8b] pc-xyz: [ 8Ah] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 4h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 9Bh 9Ch C4h 04h CFh 80h F0h B6h ] pc-xyz: [ E1h BBh 75h 9Dh 33h 12h 4Fh C0h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E8h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 14h 30h 38h 31h 6Ah D1h E9h 54h ] pc-xyz: [ 0Bh DDh AAh 28h FBh CAh 70h A1h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 42h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 49h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 2 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 61h 78h CAh F7h 80h CCh 9Dh C9h ] pc-xyz: [ 92h 41h 25h 7Fh DCh 73h 1Bh 03h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E1h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1B9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 5Ch CBh 7Dh 13h 75h AAh DBh 37h ] pc-xyz: [ 64h FDh 61h B8h 6Dh 35h 9Dh 2Dh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ A0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E7h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 3 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 4h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 50h 04h 53h 15h 11h 49h 81h 08h ] pc-xyz: [ DFh F5h C0h 9Eh D3h F7h 69h A8h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ DCh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BAh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ E6h B8h A0h B7h 9Bh 43h BAh F4h ] pc-xyz: [ 19h 8Fh A2h DEh E5h 07h A8h 55h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 9Eh] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E5h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 4 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 18h 9Bh 08h 7Ch FDh 3Fh 66h 97h ] pc-xyz: [ 05h ACh 58h D5h 7Eh 36h D8h B5h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D7h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BBh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 40h DDh 22h 3Dh B7h 41h 3Eh 8Eh ] pc-xyz: [ 45h A0h 8Dh 2Eh 06h 49h 9Dh F2h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 9Dh] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E2h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 5 | Ambient Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 3h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 3h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ A8h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ E4h] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 80h] = lower_critical_threshold[ 8b] pc-xyz: [ 85h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A5h E3h A2h 9Eh 1Fh EBh A8h 2Dh ] pc-xyz: [ 79h EDh 1Ah 4Eh 2Bh 84h 44h 9Ch ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D2h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BCh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 00h AEh 2Fh 41h 3Fh 17h EBh E0h ] pc-xyz: [ 0Dh 4Dh 7Fh 5Dh B3h CAh 6Bh 2Ah ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 9Bh] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E0h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 6 | Ambient Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 7h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 0h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ CAh CCh B1h 7Fh ACh 45h BAh 7Dh ] pc-xyz: [ 00h E2h BFh A6h 1Ah AAh 25h ABh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ CCh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BDh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DDh 27h 79h A5h 5Eh 52h 6Eh F1h ] pc-xyz: [ 62h 9Fh FEh 6Dh 67h 9Ch A5h CEh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 9Dh] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ DAh] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 7 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 8h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Ah] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 61h 47h 02h 4Ch D5h A9h 03h E0h ] pc-xyz: [ C0h 5Eh A0h DAh C9h 44h 70h 3Ah ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 20h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ C7h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BEh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 38h A0h B6h 83h F6h 15h 0Ch CBh ] pc-xyz: [ C6h 99h 15h B0h A3h 57h CDh 19h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 20h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ A1h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D2h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 8 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 9h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 2Fh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 8h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 97h] = nominal_reading[ 8b] pc-xyz: [ C5h] = normal_maximum[ 8b] pc-xyz: [ 8Bh] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = id_string_type_length_code[ 8b] pc-xyz: [ 706D6554h] = id_string[32b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Bh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 0Dh 81h 3Bh 98h 66h 9Dh F5h AAh ] pc-xyz: [ CFh 75h 2Ah 2Bh 94h F1h 70h 66h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 21h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ C2h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1BFh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ E3h D7h 15h EDh 60h 8Ah E2h 83h ] pc-xyz: [ 17h 14h F0h D5h 4Ch 26h 01h E0h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 21h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ ABh] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 0h] = all_event_messages[ 1b] pc-xyz: [ C8h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BCh] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 9 | Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 99h] = nominal_reading[ 8b] pc-xyz: [ A9h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ AFh] = upper_critical_threshold[ 8b] pc-xyz: [ AAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 41h 6Dh 62h 69h 65h 6Eh 74h 20h ] pc-xyz: [ 54h 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Ch] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F3h 88h 01h 7Ch 33h C0h EEh 73h ] pc-xyz: [ 0Bh 1Dh 99h 69h A5h 7Ch F1h 36h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 22h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ Eh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BCh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C0h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 3Ch DCh F9h 23h 7Ch 2Eh ABh C7h ] pc-xyz: [ E6h EFh C7h F6h 71h D6h F9h B4h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 22h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 96h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 15h] = checksum2[ 8b] 10 | Ambient Temp | Temperature | 22.00 | C | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 36h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 1h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 1h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 80h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 3h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 9Eh] = nominal_reading[ 8b] pc-xyz: [ B4h] = normal_maximum[ 8b] pc-xyz: [ 89h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ DFh] = upper_critical_threshold[ 8b] pc-xyz: [ DAh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 83h] = lower_critical_threshold[ 8b] pc-xyz: [ 88h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 1h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 1h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 50h 6Ch 61h 6Eh 61h 72h 20h 54h ] pc-xyz: [ 65h 6Dh 70h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Dh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F5h 8Eh 55h B8h 54h D1h A6h A2h ] pc-xyz: [ 9Ch 48h 76h F6h 54h 4Ah 40h 6Fh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 23h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ Fh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B7h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C1h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 65h A7h 75h F1h 86h E1h BCh FEh ] pc-xyz: [ 7Dh 03h 5Fh 64h 2Dh 98h 8Fh D4h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 23h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ A9h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 3Eh] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor scanning disabled 11 | Planar Temp | Temperature | N/A | C | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 10h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 4Dh 4Fh 53h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Eh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DDh 6Eh BBh 32h 7Eh 57h E8h 21h ] pc-xyz: [ 71h ADh 49h 8Eh 10h 89h F1h 0Ah ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 24h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 10h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B2h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C2h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B3h 45h B2h BFh A1h 66h 32h FBh ] pc-xyz: [ 13h DDh 56h 53h C1h E0h A1h 28h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 24h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 0h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E3h] = checksum2[ 8b] 12 | CMOS Battery | Battery | N/A | N/A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 3h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 29h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 52h 4Fh 4Dh 42h 20h 42h 61h 74h ] pc-xyz: [ 74h 65h 72h 79h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ Fh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Bh F3h 7Ch 35h 59h 15h 43h 2Ah ] pc-xyz: [ ABh 56h 0Eh AAh 52h 72h 98h 52h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 25h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ ADh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C3h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 39h C2h C9h 11h 87h 2Bh 2Ah 0Ah ] pc-xyz: [ 29h 0Fh 3Bh 6Bh BFh E9h 19h E7h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 25h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 0h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ DFh] = checksum2[ 8b] 13 | ROMB Battery | Battery | N/A | N/A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 10h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 06h BDh D0h EAh 17h 0Ch 73h D0h ] pc-xyz: [ 34h E2h 76h F7h D1h 63h F1h F4h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 26h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A8h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C4h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 12h 8Dh 60h 91h 8Dh 06h FAh CFh ] pc-xyz: [ 81h F1h F1h 59h 7Eh 8Bh B5h B1h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 26h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ DAh] = checksum2[ 8b] 14 | VCORE | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 45524F4356h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 11h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Ch 18h D0h 40h 1Ah 22h 4Eh C8h ] pc-xyz: [ 65h 9Ch 20h A5h 94h 7Ch 42h 80h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 27h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A3h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 86h 2Eh 0Ah 7Dh 65h 23h 84h 71h ] pc-xyz: [ 08h 6Fh D7h E1h A1h 79h 14h 78h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 27h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D6h] = checksum2[ 8b] 15 | VCORE | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 10h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 12h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ C6h 79h C6h 24h 85h FEh 4Ch 55h ] pc-xyz: [ 19h EDh 8Ah 53h 5Fh 3Ch 61h 80h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 28h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 9Eh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 94h C6h DEh 2Ah 7Eh 58h 13h B6h ] pc-xyz: [ F2h C8h 4Fh EFh 17h C3h E0h E4h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 28h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D2h] = checksum2[ 8b] 16 | 0.75 VTT CPU2 PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 11h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 30h 2Eh 37h 35h 20h 56h 54h 54h ] pc-xyz: [ 20h 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 13h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 2Ah A3h F1h 88h D7h 0Ah F9h 31h ] pc-xyz: [ C0h 33h E3h 11h 4Bh 61h 87h A2h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 29h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 99h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B9h 73h 1Ah EEh 4Eh 58h D2h B3h ] pc-xyz: [ 79h 72h B5h 55h 13h 7Bh A0h 0Fh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 29h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ CEh] = checksum2[ 8b] 17 | 0.75 VTT CPU1 PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 12h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 54545620555043h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 14h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 31h 94h 3Dh FDh 26h 48h C2h A6h ] pc-xyz: [ 95h FBh 60h 1Dh 25h 00h 70h F7h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 94h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 54h 9Dh 12h 91h BBh 51h 54h A3h ] pc-xyz: [ 92h 26h 0Ch 86h 10h 92h BBh B2h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ CAh] = checksum2[ 8b] 18 | CPU VTT | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 13h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056352E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 15h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D3h 9Bh 5Ch 32h DFh 14h 65h 6Eh ] pc-xyz: [ 33h 67h CAh E3h AAh 3Ah 7Ah 53h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 8Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1C9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 3Ch 54h 93h C2h C7h 88h 69h 2Ah ] pc-xyz: [ DFh BCh 16h 10h E1h 3Ah 8Bh 1Bh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ C6h] = checksum2[ 8b] 19 | 1.5V PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 14h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056382E31h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 16h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 94h 7Ch 51h 57h A6h 8Bh F0h 00h ] pc-xyz: [ A2h 3Dh 76h 33h ABh FEh E8h C3h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 8Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CAh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D7h ACh DCh B0h DBh 7Fh D6h 27h ] pc-xyz: [ 70h C5h 70h 11h 5Fh A4h 2Dh 53h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ C2h] = checksum2[ 8b] 20 | 1.8V PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 15h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 4750205635h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 17h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 0Dh 45h 49h B6h D9h 1Ch 14h 79h ] pc-xyz: [ FDh 14h 09h D5h 1Ch F4h 66h 2Fh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 84h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CBh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 9Ah 32h A2h 3Dh EBh FFh E6h 28h ] pc-xyz: [ FFh BCh AFh ACh 37h B4h DBh 3Eh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BEh] = checksum2[ 8b] 21 | 5V PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 16h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 18h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 12h 70h 06h CBh 09h ADh 20h 4Ah ] pc-xyz: [ 24h 08h AAh A8h 7Bh C8h DDh 04h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 7Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CCh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 75h E4h 06h C6h 89h 24h 59h 08h ] pc-xyz: [ F9h FEh 01h 3Dh 4Ch 76h 32h 3Dh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BAh] = checksum2[ 8b] 22 | MEM CPU2 FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 17h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 10h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 35h 56h 20h 52h 69h 73h 65h 72h ] pc-xyz: [ 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 19h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D0h BFh 9Eh 38h E5h 0Eh 4Dh 75h ] pc-xyz: [ 86h B6h DDh 4Bh 95h 78h 66h 6Ch ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 7Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CDh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F5h A4h 8Ch C0h 51h 0Bh 7Bh 19h ] pc-xyz: [ 1Dh 06h 9Fh 24h 6Bh 74h BFh A4h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B6h] = checksum2[ 8b] 23 | 5V Riser1 PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 18h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 45h 4Dh 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Ah] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B0h 05h 63h C7h 8Fh 7Bh 56h 72h ] pc-xyz: [ 2Ch 7Fh 76h A4h E7h 88h 58h 03h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 30h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 74h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CEh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D8h 7Ch F0h 4Eh F8h A5h 40h 6Dh ] pc-xyz: [ 5Ah F8h 9Bh ECh 56h C6h 5Ch 6Fh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 30h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B2h] = checksum2[ 8b] 24 | MEM CPU1 FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 19h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 32h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Bh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 2Dh ACh F4h 09h 24h ABh A6h 14h ] pc-xyz: [ AFh FDh D0h BEh CDh 10h B0h C0h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 31h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 6Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1CFh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D9h B1h 9Ch E5h 2Ch 22h 7Fh ACh ] pc-xyz: [ FBh 9Eh F2h FFh F9h 5Fh ACh EAh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 31h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ AEh] = checksum2[ 8b] 25 | VTT CPU2 FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 56h 54h 54h 20h 43h 50h 55h 31h ] pc-xyz: [ 20h 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Ch] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B6h 19h D5h 35h 25h 32h 08h B0h ] pc-xyz: [ 9Ch BBh B7h AEh 74h 50h 06h 03h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 32h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 6Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D0h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A0h A4h 31h F0h 20h 54h B9h 30h ] pc-xyz: [ 0Eh F8h 9Ah 00h 49h 51h A6h 40h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 32h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ AAh] = checksum2[ 8b] 26 | VTT CPU1 FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 47502056392E30h] = id_string[56b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Dh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 19h 42h 34h B8h CAh 65h FAh 2Fh ] pc-xyz: [ C4h A4h 64h 86h 9Bh A8h E8h 9Ch ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 33h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 65h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D1h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DAh D7h 85h F9h E3h 01h 02h F2h ] pc-xyz: [ F3h 72h D7h B5h 53h E0h F2h ACh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 33h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A6h] = checksum2[ 8b] 27 | 0.9V PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 32h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Eh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 42h 7Dh 21h 46h C5h 1Eh 84h ABh ] pc-xyz: [ B8h A9h 7Fh A5h 30h F7h CCh 77h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 34h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 60h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D2h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 51h 3Ch 5Ch EEh 58h E6h 03h 24h ] pc-xyz: [ 0Ah 69h FFh 37h 44h C2h 9Fh 44h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 34h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A2h] = checksum2[ 8b] 28 | 1.8 PLL CPU2 PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 24h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 31h 2Eh 38h 20h 50h 4Ch 4Ch 20h ] pc-xyz: [ 43h 50h 55h 31h 20h 50h 47h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1Fh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ E0h 6Fh 95h 5Dh F9h DDh B6h 8Ah ] pc-xyz: [ 59h 09h FCh 79h 38h 72h EBh 68h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 35h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 24h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 5Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D3h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ D5h 08h 9Ah 09h 8Bh A7h D9h 41h ] pc-xyz: [ 41h 58h 44h C9h 76h 36h 00h CBh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 35h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 9Eh] = checksum2[ 8b] 29 | 1.8 PLL CPU1 PG | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [4C49414620312E31h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 20h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 55h 31h D1h 98h 7Bh 1Dh 99h 6Dh ] pc-xyz: [ F7h EFh DAh 55h B6h DEh F2h 32h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 36h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 52h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D4h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 27h A5h 74h 81h 1Dh A5h 1Dh 34h ] pc-xyz: [ ABh 81h 12h 7Bh 6Ah ABh B2h C2h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 36h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 9Ah] = checksum2[ 8b] 30 | 1.1 FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 1Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 29h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 4Ch 4Fh 4Dh 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 21h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Dh 6Dh 72h 2Fh FAh 5Ah C4h 4Dh ] pc-xyz: [ B4h C4h D2h 4Ch 6Fh 4Ch C1h 93h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 37h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 29h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Dh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A6h 28h A3h 4Ah 72h 2Dh 10h B4h ] pc-xyz: [ 33h DFh 3Eh 9Ch E5h 20h D5h 49h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 37h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 96h] = checksum2[ 8b] 31 | 1.0 LOM FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 20h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 31h 2Eh 30h 20h 41h 55h 58h 20h ] pc-xyz: [ 46h 41h 49h 4Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 22h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A0h 0Ah 02h 4Dh 5Bh D9h 9Ah A8h ] pc-xyz: [ 6Eh 14h 30h 00h 4Dh 26h 06h 7Dh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 38h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 2Ah] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 48h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ EEh F6h 9Ch EBh B0h DDh 26h 7Bh ] pc-xyz: [ 58h DBh 26h 02h FFh 5Fh A8h D0h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 38h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 92h] = checksum2[ 8b] 32 | 1.0 AUX FAIL | Voltage | N/A | N/A | 'State Deasserted' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 21h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 30h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 23h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 43h 00h C4h 2Bh 34h 13h D1h 6Fh ] pc-xyz: [ A6h 9Dh 96h 8Dh 4Fh B3h B8h 48h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 39h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 30h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 3Eh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B8h 2Bh 3Ch 29h FCh 36h A0h 3Ch ] pc-xyz: [ 30h 51h 95h 03h A2h 85h 69h 09h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 39h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 37h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 18h] = checksum2[ 8b] 33 | FAN MOD 1A RPM | Fan | 6600.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 22h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 31h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 31h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 24h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 84h 5Fh 76h A4h 16h 02h 47h 2Eh ] pc-xyz: [ 84h 4Eh 43h 06h B5h 61h CDh E5h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 31h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 39h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 82h D0h 19h D4h FCh 1Eh 8Dh 13h ] pc-xyz: [ 76h CFh B1h B5h 98h 38h FCh E3h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 26h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 25h] = checksum2[ 8b] 34 | FAN MOD 1B RPM | Fan | 4560.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 23h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 32h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 25h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 2Ch 21h 5Ah 70h 4Fh 5Dh 34h 9Ah ] pc-xyz: [ E9h 11h 57h B0h 8Ch BCh F1h E8h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 32h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 34h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1D9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 34h 4Ah 28h A1h 16h E0h E9h 46h ] pc-xyz: [ DDh 79h BFh A5h BCh E5h 85h 64h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 37h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 10h] = checksum2[ 8b] 35 | FAN MOD 2A RPM | Fan | 6600.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 24h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 33h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 32h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 26h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 94h D2h 48h FDh 6Bh FEh 43h 9Ch ] pc-xyz: [ 7Bh 64h B9h BAh F6h 20h 16h 02h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 33h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 2Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DAh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 3Eh 4Eh 18h AFh 55h 98h 12h 08h ] pc-xyz: [ 27h C8h 8Fh 2Fh E4h FBh EBh 76h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 25h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 1Eh] = checksum2[ 8b] 36 | FAN MOD 2B RPM | Fan | 4440.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 25h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 34h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 27h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 64h A4h 87h 05h CAh 38h 30h 38h ] pc-xyz: [ 78h 23h 75h 04h E8h 3Dh 1Dh 23h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 34h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 2Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DBh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ AAh E0h D1h 9Bh 65h 13h 8Bh A5h ] pc-xyz: [ EFh 6Bh B7h F8h 1Fh 83h CBh 56h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 37h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 8h] = checksum2[ 8b] 37 | FAN MOD 3A RPM | Fan | 6600.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 26h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 35h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 33h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 28h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 8Dh 22h DAh EEh 30h 61h 97h B7h ] pc-xyz: [ C0h C0h 9Ch 49h 72h C2h 4Ah 19h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 35h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 25h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DCh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Eh 51h 61h C5h C8h DAh A9h 78h ] pc-xyz: [ A7h C2h AAh E1h 15h 5Eh DFh 79h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 25h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 16h] = checksum2[ 8b] 38 | FAN MOD 3B RPM | Fan | 4440.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 27h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 36h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 29h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Ch BDh 00h A8h 9Fh C0h 86h 91h ] pc-xyz: [ A3h B1h D1h A8h C8h 94h 99h ADh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 36h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 20h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DDh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 1Ah DCh E7h 8Ch AFh D9h E2h 3Ah ] pc-xyz: [ BDh 1Eh 2Ch A2h E0h 36h 70h 8Ah ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 48h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ EFh] = checksum2[ 8b] 39 | FAN MOD 4A RPM | Fan | 8640.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 28h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 37h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 34h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Ah] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F4h 89h 4Bh 5Ch 30h E5h 9Dh 54h ] pc-xyz: [ 63h F5h AFh 69h F1h FEh 53h 86h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 0h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 37h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 1Bh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DEh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F5h E0h 48h 03h CBh B6h DFh D4h ] pc-xyz: [ 5Fh 6Fh C2h 16h 3Dh 5Ah D0h 3Ch ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 0h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 33h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 0h] = checksum2[ 8b] 40 | FAN MOD 4B RPM | Fan | 6120.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 29h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 38h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Bh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 30h 0Fh 3Ah AEh 72h 9Bh B6h 1Ah ] pc-xyz: [ 3Ah FCh A9h 37h B2h 7Ch AAh 5Ch ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 38h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 16h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1DFh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ E4h EFh FCh EFh F8h CEh 3Dh F6h ] pc-xyz: [ 75h B0h 96h 9Fh ECh BBh 84h 7Ch ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 36h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ F9h] = checksum2[ 8b] 41 | FAN MOD 5A RPM | Fan | 6480.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 39h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 35h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Ch] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 79h 43h 9Dh F6h B9h 1Fh C7h 56h ] pc-xyz: [ FEh 16h 7Eh 28h 1Eh 22h 94h 62h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 2h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 39h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 11h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E0h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F1h 8Dh 65h 66h 7Ah 82h 6Dh 82h ] pc-xyz: [ 67h 2Bh CBh 4Fh 0Dh 9Ah F6h 95h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 2h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 26h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 5h] = checksum2[ 8b] 42 | FAN MOD 5B RPM | Fan | 4560.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Ah] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 1Eh] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 16h] = lower_critical_threshold[ 8b] pc-xyz: [ 16h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 41h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Dh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Ah 4Fh FDh F6h 5Dh 0Fh F7h 0Bh ] pc-xyz: [ 0Ch FCh 53h CDh B6h AAh B9h 31h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 3h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 3Ah] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ Ch] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E1h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 29h EDh E9h 5Ah 19h 2Ah 79h CEh ] pc-xyz: [ D8h F3h D4h 01h E3h B0h 82h 76h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 3h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 37h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ F0h] = checksum2[ 8b] 43 | FAN MOD 6A RPM | Fan | 6600.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 39h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3Bh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 1h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 12h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 78h] = m_ls[ 8b] pc-xyz: [ 2h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 2h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 3h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 17h] = nominal_reading[ 8b] pc-xyz: [ FFh] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ FFh] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ FFh] = upper_critical_threshold[ 8b] pc-xyz: [ FFh] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 10h] = lower_critical_threshold[ 8b] pc-xyz: [ 10h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 5h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 5h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 41h 4Eh 20h 4Dh 4Fh 44h 20h ] pc-xyz: [ 36h 42h 20h 52h 50h 4Dh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Eh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 41h C0h E2h 75h 29h 7Fh 7Bh C7h ] pc-xyz: [ E1h 81h 54h E7h 83h 71h 5Dh D8h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 4h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 3Bh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 7h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E2h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 97h 20h 90h C2h 69h F6h FCh 6Dh ] pc-xyz: [ 44h DBh 03h 37h 59h 27h A0h A4h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 25h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ FEh] = checksum2[ 8b] 44 | FAN MOD 6B RPM | Fan | 4440.00 | RPM | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 50h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 2Fh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 44h 8Eh 82h 31h 30h F3h 4Ah 54h ] pc-xyz: [ B7h 53h 1Eh E0h E3h 12h 6Fh 5Ah ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 50h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ EEh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E3h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 67h 4Ch 2Ch 26h BEh BAh 57h D9h ] pc-xyz: [ 6Ah 3Bh 3Bh 31h 9Eh E5h DCh 2Eh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 5h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 5Eh] = checksum2[ 8b] 45 | Presence | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 51h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 30h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 2Bh FFh 22h B9h E8h A6h B0h B7h ] pc-xyz: [ C2h A5h 66h B2h 75h 37h 46h B3h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 6h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 51h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E9h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E4h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 3Ch 49h F8h F5h 9Ah 6Ah 59h 76h ] pc-xyz: [ F2h CCh B2h FBh 8Ah E2h BDh 8Ah ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 5Ah] = checksum2[ 8b] 46 | Presence | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 2Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 52h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 48h 65h 61h 74h 73h 69h 6Eh 6Bh ] pc-xyz: [ 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 31h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 26h 77h F0h D5h 08h CCh 45h 52h ] pc-xyz: [ F2h 4Bh FCh F0h B9h 81h D8h FDh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 52h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ E4h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ ABh EBh D2h 4Ch 79h D8h FCh A2h ] pc-xyz: [ 3Ch 72h C8h 1Ch 38h 7Fh F2h 09h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 7h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 56h] = checksum2[ 8b] 47 | Heatsink Pres | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 30h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 54h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 32h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 59h 5Ah 0Bh 73h D3h 8Ah 03h 05h ] pc-xyz: [ 49h 45h 4Ah B1h EAh AFh 3Ch EDh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 8h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 54h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ DEh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A1h 90h 48h 09h 8Fh DFh F4h 83h ] pc-xyz: [ 26h 1Dh FFh 2Eh 01h 3Fh 36h 89h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 8h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 52h] = checksum2[ 8b] 48 | Presence | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 31h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 55h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [65636E6573657250h] = id_string[64b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 33h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 27h 7Fh 2Eh 3Eh 77h C4h A5h A7h ] pc-xyz: [ 48h 19h B8h 22h 3Fh 08h B1h 50h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 9h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 55h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D9h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 36h 89h 18h 72h 85h F4h BFh 05h ] pc-xyz: [ D6h 21h DFh 73h BBh 5Dh 42h 45h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 9h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Eh] = checksum2[ 8b] 49 | Presence | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 32h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 56h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 50h 72h 65h 73h 65h 6Eh 63h 65h ] pc-xyz: [ 20h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 34h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 56h 54h 53h FDh 66h 14h DEh FFh ] pc-xyz: [ 75h BDh C0h EEh DBh E9h 46h A5h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 56h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ D4h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 54h FAh 8Eh A2h 49h E9h B1h 92h ] pc-xyz: [ BBh E1h ACh 51h 44h 61h 80h 48h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Ah] = checksum2[ 8b] 50 | Presence | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 33h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 59h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 55h 53h 42h 20h 43h 61h 62h 6Ch ] pc-xyz: [ 65h 20h 50h 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 35h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 55h AFh 7Fh EEh DFh 1Ah A8h FDh ] pc-xyz: [ 65h 7Bh 04h FAh 4Ah 05h 1Ch F5h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 59h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ CDh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1E9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F2h 10h 1Fh B0h 2Dh CDh 55h F0h ] pc-xyz: [ 7Dh 66h 85h 2Ch 7Dh 18h E1h E6h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 46h] = checksum2[ 8b] 51 | USB Cable Pres | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 34h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Ch] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 52h 69h 73h 65h 72h 31h 20h 50h ] pc-xyz: [ 72h 65h 73h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 36h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 33h 21h 0Ah CDh 18h 5Bh 3Ah 64h ] pc-xyz: [ 59h CAh 76h 38h 5Bh 43h 5Eh 04h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 5Ch] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ C6h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1EAh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A2h 7Bh DCh 4Fh 67h 51h 6Ch 87h ] pc-xyz: [ 58h 8Dh 4Bh ACh 15h DBh 7Eh 33h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 42h] = checksum2[ 8b] 52 | Riser1 Pres | Entity Presence | N/A | N/A | 'Entity Present' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 35h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5Fh] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 50h 46h 61h 75h 6Ch 74h 20h 46h ] pc-xyz: [ 61h 69h 6Ch 20h 53h 61h 66h 65h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 37h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ BCh 6Bh D9h 9Ah BEh D3h C8h C0h ] pc-xyz: [ 8Ch 70h 1Fh 9Eh B3h 25h 1Ah 43h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 5Fh] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BFh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1EBh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 1Fh 70h EBh EAh D9h 06h C4h C2h ] pc-xyz: [ 36h 77h 75h 28h C1h E7h 1Ch 5Ah ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ CBh] = comp_code[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B4h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor reading unavailable 53 | PFault Fail Safe | Voltage | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 36h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 60h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 38h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 7Bh ADh A4h E0h 4Bh 12h 1Eh 5Ch ] pc-xyz: [ 0Eh C0h A5h 19h 50h 56h 4Dh DDh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 60h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BAh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1ECh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 5Ah 02h AFh 1Dh 37h 22h 9Ch 14h ] pc-xyz: [ 62h 36h 84h FDh 8Eh 0Fh 97h 54h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 80h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BBh] = checksum2[ 8b] 54 | Status | Processor | N/A | N/A | 'Processor Presence detected' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 37h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 61h] = sensor_number[ 8b] pc-xyz: [ 3h] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 39h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ EEh 1Eh 98h 71h 8Eh 74h 71h AFh ] pc-xyz: [ D1h 7Bh 42h 00h 7Bh 9Fh 14h EDh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 61h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B5h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1EDh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 6Fh EDh 43h 3Eh 71h 67h 6Fh B6h ] pc-xyz: [ 92h A4h 63h F6h EBh 69h E0h 56h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 80h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B7h] = checksum2[ 8b] 55 | Status | Processor | N/A | N/A | 'Processor Presence detected' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 38h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 64h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Ah] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A9h 87h BBh 66h 62h 85h 52h 54h ] pc-xyz: [ 66h 5Ch 9Dh 6Ch 44h 26h A8h E2h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 10h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 64h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ AEh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1EEh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ FDh 19h E0h F4h 58h BCh 29h E6h ] pc-xyz: [ F3h 79h 06h 3Ch 30h 48h 5Ch 84h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 10h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 32h] = checksum2[ 8b] 56 | Status | Power Supply | N/A | N/A | 'Presence detected' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 39h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 65h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Bh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 49h 02h BEh 9Eh B2h D1h DBh C2h ] pc-xyz: [ DBh CAh F9h C1h 4Ch E7h E0h 0Ch ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 11h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 65h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A9h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1EFh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 02h 55h F9h E6h 70h E7h 30h 0Fh ] pc-xyz: [ 97h 49h C8h 63h D0h 7Dh 74h E2h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 11h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 2Eh] = checksum2[ 8b] 57 | Status | Power Supply | N/A | N/A | 'Presence detected' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 21h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 66h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = id_string_type_length_code[ 8b] pc-xyz: [ 737574617453h] = id_string[48b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Ch] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 55h F6h D0h 83h D5h 80h E9h 37h ] pc-xyz: [ 36h E3h 63h 0Eh 4Bh F8h 46h BCh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 12h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 66h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ A4h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F0h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DAh 6Ch E1h 12h 3Fh 50h F2h 12h ] pc-xyz: [ 3Dh D2h EEh 15h A3h E8h 06h 79h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 12h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 2Ah] = checksum2[ 8b] 58 | Status | Cable/Interconnect | N/A | N/A | 'Cable/Interconnect is connected' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 70h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 25h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 69h 44h 52h 41h 43h 36h 20h 45h ] pc-xyz: [ 6Eh 74h 20h 50h 52h 45h 53h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Dh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DCh 55h 2Eh 4Ch 12h 85h 9Ch 0Bh ] pc-xyz: [ E2h 31h A6h 2Ch 4Eh 44h D1h 43h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 13h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 70h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 96h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F1h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 16h A9h 67h 51h 39h 25h 2Fh C6h ] pc-xyz: [ F4h 6Bh 16h C0h E1h 8Eh 5Bh CCh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 13h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 2h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 25h] = checksum2[ 8b] 59 | iDRAC6 Ent PRES | Entity Presence | N/A | N/A | 'Entity Absent' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 71h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 23h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Eh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ AFh FDh 2Ch DCh A2h B5h FFh F2h ] pc-xyz: [ 45h DFh 8Eh 25h 52h 09h B8h B0h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 14h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 71h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 91h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F2h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ C5h E9h B7h 57h 9Ah F9h 15h 4Eh ] pc-xyz: [ 23h 12h 4Ah ABh 0Fh 7Ah 36h 58h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 14h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 0h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 23h] = checksum2[ 8b] 60 | OS Watchdog | Watchdog 2 | N/A | N/A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 1Eh] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 72h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = id_string_type_length_code[ 8b] pc-xyz: [ 4C4553h] = id_string[24b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 3Fh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ DFh 13h D4h 99h 7Dh 28h DCh 3Bh ] pc-xyz: [ 01h 36h 98h 61h 87h 15h D9h 04h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 15h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 72h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 8Ch] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F3h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 8Bh D4h 0Dh 11h D3h 4Bh 6Eh 7Bh ] pc-xyz: [ C0h C7h 3Ch 91h CFh 52h A2h 7Dh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 15h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ CBh] = comp_code[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 94h] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor reading unavailable 61 | SEL | Event Logging Disabled | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 24h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 73h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 5h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 49h 6Eh 74h 72h 75h 73h 69h 6Fh ] pc-xyz: [ 6Eh ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 40h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 1Ch 7Ah EAh 31h FEh 35h 18h 64h ] pc-xyz: [ F1h C0h B5h AAh 4Ah DDh 73h 50h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 16h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 73h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 87h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F4h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 99h 47h 5Ah 22h 79h 65h 97h 8Fh ] pc-xyz: [ 2Fh 0Bh 43h ACh F8h 55h F7h CDh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 16h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 0h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 1Bh] = checksum2[ 8b] 62 | Intrusion | Physical Security | N/A | N/A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 3Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 74h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 8h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 50h 53h 20h 52h 65h 64h 75h 6Eh ] pc-xyz: [ 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 41h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A8h 46h 06h 2Bh 27h B9h 95h A1h ] pc-xyz: [ D7h EFh 48h 6Bh FDh 38h 3Eh 7Ah ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 17h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 74h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 82h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F5h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 1Dh 9Fh 9Dh DCh 1Ch CAh E1h ACh ] pc-xyz: [ D5h 54h C5h 10h 85h B0h 8Dh 6Eh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 17h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 16h] = checksum2[ 8b] 63 | PS Redundancy | Power Supply | N/A | N/A | 'Fully Redundant' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 40h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 75h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 4h] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 1h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 6Eh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 64h 61h 6Eh 63h 79h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 42h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 3Fh F7h 7Fh A2h 70h F5h 19h C7h ] pc-xyz: [ 5Fh 97h 2Eh 14h D8h 26h 31h 84h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 18h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 75h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 7Dh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F6h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 23h 5Eh 1Ch 4Ah 3Dh D9h CBh 4Fh ] pc-xyz: [ 46h 15h 15h 87h 8Eh 4Bh 45h 39h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 18h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 12h] = checksum2[ 8b] 64 | Fan Redundancy | Fan | N/A | N/A | 'Fully Redundant' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 41h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 76h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1h] = sensor_type[ 8b] pc-xyz: [ 3h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 54h 65h 6Dh 70h ] pc-xyz: [ 20h 49h 6Eh 74h 65h 72h 66h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 43h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 0Eh 4Bh 85h 69h 54h 56h 42h 88h ] pc-xyz: [ 1Eh DDh 1Fh F6h 0Eh 8Fh 5Bh B3h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 19h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 76h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 78h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F7h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 4Bh 3Fh 43h 34h ACh A5h 65h 74h ] pc-xyz: [ 9Bh DFh BCh F5h 63h E3h D0h A6h ] pc-xyz: [ Ah] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 19h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 1h] = reading_state[ 1b] pc-xyz: [ 0h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ AFh] = checksum2[ 8b] Sensor reading/event bitmask not available: sensor reading unavailable 65 | CPU Temp Interf | Temperature | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 42h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 20h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 80h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Dh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 4h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C5h] = id_string_type_length_code[ 8b] pc-xyz: [ 6576697244h] = id_string[40b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 44h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ A2h FCh 1Fh 99h D3h 31h 14h C4h ] pc-xyz: [ 13h 96h F7h C1h FFh 5Eh C8h 71h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 80h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 6Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F8h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 5Ah 8Eh CBh C9h 8Dh 9Ch 80h CEh ] pc-xyz: [ AFh 64h 45h 14h A8h 79h D1h ECh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Ah] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ Ah] = checksum2[ 8b] 66 | Drive | Drive Slot | N/A | N/A | 'Drive Presence' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 43h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 90h] = sensor_number[ 8b] pc-xyz: [ 1Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 1Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 61h 62h 6Ch 65h 20h 53h 41h ] pc-xyz: [ 53h 20h 41h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 45h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 4Dh DAh 0Fh 83h 6Eh 08h 60h E5h ] pc-xyz: [ 0Eh 0Dh A3h 0Fh 3Bh 6Ah 23h 72h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 90h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 56h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1F9h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ B9h A7h E4h 43h 40h B1h 3Dh CAh ] pc-xyz: [ 4Dh D0h 2Bh 92h A5h EFh 44h 4Fh ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Bh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 6h] = checksum2[ 8b] 67 | Cable SAS A | Cable/Interconnect | N/A | N/A | 'Cable/Interconnect is connected' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 44h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 94h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 46h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 53h 50h 97h D6h 40h DEh C0h 31h ] pc-xyz: [ EBh C9h ADh 1Eh 3Fh F5h FCh E0h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 94h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 4Eh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FAh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 8Bh EAh BBh 7Bh F8h E3h 8Fh 8Ah ] pc-xyz: [ E2h BCh B6h EBh 86h 07h D2h BCh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Ch] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 7h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BCh] = checksum2[ 8b] 68 | Current 1 | Current | 0.28 | A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 45h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 95h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 5h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 4h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ Eh] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 64h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 43h 75h 72h 72h 65h 6Eh 74h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 47h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 79h B0h 12h 64h 74h E4h 0Fh D1h ] pc-xyz: [ 40h D5h 6Ch ABh A6h B0h E6h 01h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 95h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 49h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FBh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F1h 57h 9Ch 88h 47h 27h D1h 04h ] pc-xyz: [ A6h B6h 92h 76h B3h 02h EEh 8Fh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Dh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 7h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ B8h] = checksum2[ 8b] 69 | Current 2 | Current | 0.28 | A | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 46h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 96h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 31h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 48h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 6Bh 71h 21h ABh C0h 5Fh 01h CEh ] pc-xyz: [ CEh 4Bh 98h BBh 5Bh 3Eh 50h 3Bh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 96h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 44h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FCh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ CEh 7Ah A2h 98h 70h 03h 16h 9Ch ] pc-xyz: [ 01h DDh 15h 33h 50h 8Dh 46h 37h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Eh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 73h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 48h] = checksum2[ 8b] 70 | Voltage 1 | Voltage | 230.00 | V | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 47h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 34h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 97h] = sensor_number[ 8b] pc-xyz: [ Ah] = entity_id[ 8b] pc-xyz: [ 2h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 4h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 2h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 0h] = nominal_reading[ 8b] pc-xyz: [ 0h] = normal_maximum[ 8b] pc-xyz: [ 0h] = normal_minimum[ 8b] pc-xyz: [ FFh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = upper_critical_threshold[ 8b] pc-xyz: [ 0h] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C9h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[ 9B] pc-xyz: [ 56h 6Fh 6Ch 74h 61h 67h 65h 20h ] pc-xyz: [ 32h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 49h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 20h A5h EFh 42h B1h 7Dh 0Ah B2h ] pc-xyz: [ 42h 72h 90h ADh 9Bh 36h 20h 32h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 1Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 97h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 3Fh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FDh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ F1h D7h 54h 6Ah D5h A0h 3Ch C2h ] pc-xyz: [ 00h 9Dh CEh 49h 62h 42h 55h ACh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 1Fh] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 74h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 43h] = checksum2[ 8b] 71 | Voltage 2 | Voltage | 232.00 | V | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Full Sensor Record pc-xyz: ===================================================== pc-xyz: [ 48h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 1h] = record_type[ 8b] pc-xyz: [ 37h] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 98h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 2h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 3h] = sensor_type[ 8b] pc-xyz: [ 1h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = lower_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b] pc-xyz: [ 1h] = threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b] pc-xyz: [ 0h] = threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b] pc-xyz: [ 0h] = upper_threshold_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b] pc-xyz: [ 1h] = readable_threshold_mask.upper_critical_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = readable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 1h] = settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_critical_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved1[ 1b] pc-xyz: [ 0h] = settable_threshold_mask.reserved2[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 6h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 0h] = linearization[ 7b] pc-xyz: [ 0h] = linearization.reserved[ 1b] pc-xyz: [ 7h] = m_ls[ 8b] pc-xyz: [ 0h] = tolerance[ 6b] pc-xyz: [ 0h] = m_ms[ 2b] pc-xyz: [ 0h] = b_ls[ 8b] pc-xyz: [ 0h] = accuracy_ls[ 6b] pc-xyz: [ 0h] = b_ms[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = accuracy_exp[ 2b] pc-xyz: [ 0h] = accuracy_ms[ 4b] pc-xyz: [ 0h] = b_exponent[ 4b] pc-xyz: [ 0h] = r_exponent[ 4b] pc-xyz: [ 1h] = analog_characteristics_flag.nominal_reading[ 1b] pc-xyz: [ 1h] = analog_characteristics_flag.normal_max[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.normal_min[ 1b] pc-xyz: [ 0h] = analog_characteristics_flag.reserved[ 5b] pc-xyz: [ 2Fh] = nominal_reading[ 8b] pc-xyz: [ 30h] = normal_maximum[ 8b] pc-xyz: [ 2Ch] = normal_minimum[ 8b] pc-xyz: [ FEh] = sensor_maximum_reading[ 8b] pc-xyz: [ 0h] = sensor_minimum_reading[ 8b] pc-xyz: [ 0h] = upper_non_recoverable_threshold[ 8b] pc-xyz: [ 61h] = upper_critical_threshold[ 8b] pc-xyz: [ 5Ch] = upper_non_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_recoverable_threshold[ 8b] pc-xyz: [ 0h] = lower_critical_threshold[ 8b] pc-xyz: [ 0h] = lower_non_critical_threshold[ 8b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[16b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 4Ch ] pc-xyz: [ 65h 76h 65h 6Ch ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 4Ah] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 04h F6h E4h 22h FFh 60h 2Dh AFh ] pc-xyz: [ 99h 46h 4Ch 41h C4h 6Fh DAh A2h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 20h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 98h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 3Ah] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FEh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 80h 9Bh 6Eh 5Ch 56h 00h 96h DAh ] pc-xyz: [ A5h 4Bh 24h ADh BAh C5h 53h CDh ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 20h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 17h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ C0h] = sensor_event_bitmask1[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 9Ch] = checksum2[ 8b] 72 | System Level | Current | 161.00 | W | 'OK' pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 49h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 0h] = sensor_owner_id.type[ 1b] pc-xyz: [ 10h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 99h] = sensor_number[ 8b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 1h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 1h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C0h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 0h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 50h 6Fh 77h 65h 72h 20h 4Fh 70h ] pc-xyz: [ 74h 69h 6Dh 69h 7Ah 65h 64h ] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 4Bh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 45h CDh 45h 80h 3Ah 20h 11h A0h ] pc-xyz: [ 8Fh AEh 80h 04h 52h FBh B1h E4h ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 4h] = net_fn[ 6b] pc-xyz: [ D0h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 21h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 99h] = sensor_number[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 35h] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Get Sensor Reading Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A1FFh] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 18h BBh 30h 00h F2h 75h 96h D7h ] pc-xyz: [ 2Ch A6h 13h 5Ah 4Fh 2Eh 62h 44h ] pc-xyz: [ Ch] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 5h] = net_fn[ 6b] pc-xyz: [ 6Bh] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 21h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 2Dh] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: [ 0h] = sensor_reading[ 8b] pc-xyz: [ 0h] = reserved1[ 5b] pc-xyz: [ 0h] = reading_state[ 1b] pc-xyz: [ 1h] = sensor_scanning[ 1b] pc-xyz: [ 1h] = all_event_messages[ 1b] pc-xyz: [ 1h] = sensor_event_bitmask1[ 8b] pc-xyz: [ 0h] = sensor_event_bitmask2[ 7b] pc-xyz: [ 1h] = reserved2[ 1b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ EEh] = checksum2[ 8b] 73 | Power Optimized | OEM Reserved | N/A | N/A | 'OEM Event = 0001h' pc-xyz: ===================================================== pc-xyz: SDR Management Controller Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 12h] = record_type[ 8b] pc-xyz: [ Eh] = record_length[ 8b] pc-xyz: [ 0h] = device_slave_address.reserved[ 1b] pc-xyz: [ 10h] = device_slave_address[ 7b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = global_initialization.event_message_generation[ 2b] pc-xyz: [ 0h] = global_initialization.log_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = global_initialization.controller_logs_initialization_agent_errors[ 1b] pc-xyz: [ 0h] = power_state_notification.reserved[ 1b] pc-xyz: [ 0h] = power_state_notification.controller[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_device_power_state_notification[ 1b] pc-xyz: [ 0h] = power_state_notification.acpi_system_power_state_notification[ 1b] pc-xyz: [ 1h] = device_capabilities.sensor_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sdr_repository_device[ 1b] pc-xyz: [ 1h] = device_capabilities.sel_device[ 1b] pc-xyz: [ 1h] = device_capabilities.fru_inventory_device[ 1b] pc-xyz: [ 1h] = device_capabilities.ipmb_event_receiver[ 1b] pc-xyz: [ 0h] = device_capabilities.ipmb_event_generator[ 1b] pc-xyz: [ 1h] = device_capabilities.bridge[ 1b] pc-xyz: [ 1h] = device_capabilities.chassis_device[ 1b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 7h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C3h] = device_id_string_type_length[ 8b] pc-xyz: [ 434D42h] = device_id_string[24b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 17h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 7h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = device_id_string_type_length[ 8b] pc-xyz: [ BYTE ARRAY ... ] = device_id_string[12B] pc-xyz: [ 53h 79h 73h 74h 65h 6Dh 20h 42h ] pc-xyz: [ 6Fh 61h 72h 64h ] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 3h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32555043h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 2h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 31205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 4Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ Fh] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 3h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ Ah] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C4h] = device_id_string_type_length[ 8b] pc-xyz: [ 32205350h] = device_id_string[32b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 50h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 5h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 51h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B0h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 1h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 317265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 52h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 11h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ B1h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 2h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 0h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 0h] = device_type[ 8b] pc-xyz: [ 0h] = device_type_modifier[ 8b] pc-xyz: [ 10h] = fru_entity_id[ 8b] pc-xyz: [ 2h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C6h] = device_id_string_type_length[ 8b] pc-xyz: [ 327265736952h] = device_id_string[48b] pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 53h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 45h 43h 43h 20h 43h 6Fh 72h 72h ] pc-xyz: [ 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 83 | ECC Corr Err | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 54h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 2h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 45h 43h 43h 20h 55h 6Eh 63h 6Fh ] pc-xyz: [ 72h 72h 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 84 | ECC Uncorr Err | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 55h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 3h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 49h 2Fh 4Fh 20h 43h 68h 61h 6Eh ] pc-xyz: [ 6Eh 65h 6Ch 20h 43h 68h 6Bh ] Sensor reading/event bitmask not available: sensor is system software sensor 85 | I/O Channel Chk | Critical Interrupt | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 56h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 4h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 50h 61h 72h 69h ] pc-xyz: [ 74h 79h 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 86 | PCI Parity Err | Critical Interrupt | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 57h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 5h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 20h 53h 79h 73h 74h ] pc-xyz: [ 65h 6Dh 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 87 | PCI System Err | Critical Interrupt | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 58h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 6h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 53h 42h 45h 20h 4Ch 6Fh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 88 | SBE Log Disabled | Event Logging Disabled | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 59h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 7h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 10h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Ch 6Fh 67h 67h 69h 6Eh 67h 20h ] pc-xyz: [ 44h 69h 73h 61h 62h 6Ch 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 89 | Logging Disabled | Event Logging Disabled | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 22h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 8h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 12h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = id_string_type_length_code[ 8b] pc-xyz: [ 6E776F6E6B6E55h] = id_string[56b] Sensor reading/event bitmask not available: sensor is system software sensor 90 | Unknown | System Event | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 43h 50h 55h 20h 50h 72h 6Fh 74h ] pc-xyz: [ 6Fh 63h 6Fh 6Ch 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 91 | CPU Protocol Err | Processor | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 42h 75h 73h 20h ] pc-xyz: [ 50h 45h 52h 52h ] Sensor reading/event bitmask not available: sensor is system software sensor 92 | CPU Bus PERR | Processor | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 43h 50h 55h 20h 49h 6Eh 69h 74h ] pc-xyz: [ 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 93 | CPU Init Err | Processor | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 7h] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 43h 50h 55h 20h 4Dh 61h 63h 68h ] pc-xyz: [ 69h 6Eh 65h 20h 43h 68h 6Bh ] Sensor reading/event bitmask not available: sensor is system software sensor 94 | CPU Machine Chk | Processor | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 5Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 28h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 11h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CDh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[13B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 53h ] pc-xyz: [ 70h 61h 72h 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 95 | Memory Spared | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 60h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 12h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 4Dh ] pc-xyz: [ 69h 72h 72h 6Fh 72h 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 96 | Memory Mirrored | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 61h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 13h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 41h 49h 44h ] Sensor reading/event bitmask not available: sensor is system software sensor 97 | Memory RAID | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 62h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 14h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 41h ] pc-xyz: [ 64h 64h 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 98 | Memory Added | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 63h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 15h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 52h ] pc-xyz: [ 65h 6Dh 6Fh 76h 65h 64h ] Sensor reading/event bitmask not available: sensor is system software sensor 99 | Memory Removed | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 64h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 16h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 43h ] pc-xyz: [ 66h 67h 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 100 | Memory Cfg Err | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 65h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 17h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ Bh] = event_reading_type_code[ 8b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 4Dh 65h 6Dh 20h 52h 65h 64h 75h ] pc-xyz: [ 6Eh 20h 47h 61h 69h 6Eh ] Sensor reading/event bitmask not available: sensor is system software sensor 101 | Mem Redun Gain | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 66h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 18h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 50h 43h 49h 45h 20h 46h 61h 74h ] pc-xyz: [ 61h 6Ch 20h 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 102 | PCIE Fatal Err | Critical Interrupt | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 67h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 19h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 13h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 43h 68h 69h 70h 73h 65h 74h 20h ] pc-xyz: [ 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 103 | Chipset Err | Critical Interrupt | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 68h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ah] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ C1h] = sensor_type[ 8b] pc-xyz: [ 7Eh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_lower_threshold_reading_mask[16b] pc-xyz: [ 0h] = deassertion_event_upper_threshold_reading_mask[16b] pc-xyz: [ 0h] = discrete_reading_settable_threshold_readable_threshold_mask[16b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 45h 72h 72h 20h 52h 65h 67h 20h ] pc-xyz: [ 50h 6Fh 69h 6Eh 74h 65h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 104 | Err Reg Pointer | OEM Reserved | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 69h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Ah] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Bh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 1h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 1h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CFh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[15B] pc-xyz: [ 4Dh 65h 6Dh 20h 45h 43h 43h 20h ] pc-xyz: [ 57h 61h 72h 6Eh 69h 6Eh 67h ] Sensor reading/event bitmask not available: sensor is system software sensor 105 | Mem ECC Warning | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ah] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 26h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Ch] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CBh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[11B] pc-xyz: [ 4Dh 65h 6Dh 20h 43h 52h 43h 20h ] pc-xyz: [ 45h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 106 | Mem CRC Err | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Bh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Dh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 7h] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 55h 53h 42h 20h 4Fh 76h 65h 72h ] pc-xyz: [ 2Dh 63h 75h 72h 72h 65h 6Eh 74h ] Sensor reading/event bitmask not available: sensor is system software sensor 107 | USB Over-current | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Ch] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 23h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Eh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Fh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C8h] = id_string_type_length_code[ 8b] pc-xyz: [7272452054534F50h] = id_string[64b] Sensor reading/event bitmask not available: sensor is system software sensor 108 | POST Err | System Firmware Progress | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Dh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 1Fh] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 2Bh] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 48h 64h 77h 72h 20h 76h 65h 72h ] pc-xyz: [ 73h 69h 6Fh 6Eh 20h 65h 72h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 109 | Hdwr version err | Version Change | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Eh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 20h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 65h 6Dh 20h 4Fh 76h 65h 72h ] pc-xyz: [ 74h 65h 6Dh 70h ] Sensor reading/event bitmask not available: sensor is system software sensor 110 | Mem Overtemp | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 6Fh] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 21h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 53h 42h 20h 43h 52h 43h ] Sensor reading/event bitmask not available: sensor is system software sensor 111 | Mem Fatal SB CRC | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 70h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 22h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Dh 65h 6Dh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 4Eh 42h 20h 43h 52h 43h ] Sensor reading/event bitmask not available: sensor is system software sensor 112 | Mem Fatal NB CRC | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 71h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 23h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ 11h] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Fh 53h 20h 57h 61h 74h 63h 68h ] pc-xyz: [ 64h 6Fh 67h 20h 54h 69h 6Dh 65h ] Sensor reading/event bitmask not available: sensor is system software sensor 113 | OS Watchdog Time | Watchdog 1 | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 72h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 2Bh] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 26h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ D0h] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[16B] pc-xyz: [ 4Eh 6Fh 6Eh 20h 46h 61h 74h 61h ] pc-xyz: [ 6Ch 20h 50h 43h 49h 20h 45h 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 114 | Non Fatal PCI Er | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 73h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 29h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 27h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CEh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[14B] pc-xyz: [ 46h 61h 74h 61h 6Ch 20h 49h 4Fh ] pc-xyz: [ 20h 45h 72h 72h 6Fh 72h ] Sensor reading/event bitmask not available: sensor is system software sensor 115 | Fatal IO Error | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Compact Sensor Record pc-xyz: ===================================================== pc-xyz: [ 74h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 2h] = record_type[ 8b] pc-xyz: [ 27h] = record_length[ 8b] pc-xyz: [ 1h] = sensor_owner_id.type[ 1b] pc-xyz: [ 58h] = sensor_owner_id[ 7b] pc-xyz: [ 0h] = sensor_owner_lun[ 2b] pc-xyz: [ 0h] = sensor_owner_lun.reserved[ 2b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 28h] = sensor_number[ 8b] pc-xyz: [ 22h] = entity_id[ 8b] pc-xyz: [ 1h] = entity_instance[ 7b] pc-xyz: [ 0h] = entity_instance.type[ 1b] pc-xyz: [ 0h] = sensor_initialization.sensor_scanning[ 1b] pc-xyz: [ 1h] = sensor_initialization.event_generation[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_sensor_type[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_hysteresis[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_thresholds[ 1b] pc-xyz: [ 1h] = sensor_initialization.init_events[ 1b] pc-xyz: [ 0h] = sensor_initialization.init_scanning[ 1b] pc-xyz: [ 0h] = sensor_initialization.reserved[ 1b] pc-xyz: [ 0h] = sensor_capabilities.event_message_control_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.threshold_access_support[ 2b] pc-xyz: [ 0h] = sensor_capabilities.hysteresis_support[ 2b] pc-xyz: [ 1h] = sensor_capabilities.auto_re_arm_support[ 1b] pc-xyz: [ 0h] = sensor_capabilities.entity_ignore_support[ 1b] pc-xyz: [ Ch] = sensor_type[ 8b] pc-xyz: [ 6Fh] = event_reading_type_code[ 8b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = assertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = assertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_0[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_1[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_2[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_3[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_4[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_5[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_6[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_7[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_8[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_9[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_10[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_11[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_12[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_13[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.event_offset_14[ 1b] pc-xyz: [ 0h] = deassertion_event_mask.reserved[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_0[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_1[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_2[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_3[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_4[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_5[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_6[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_7[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_8[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_9[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_10[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_11[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_12[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_13[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.state_bit_14[ 1b] pc-xyz: [ 0h] = discrete_reading_mask.reserved[ 1b] pc-xyz: [ 0h] = sensor_unit1.percentage[ 1b] pc-xyz: [ 0h] = sensor_unit1.modifier_unit[ 2b] pc-xyz: [ 0h] = sensor_unit1.rate_unit[ 3b] pc-xyz: [ 0h] = sensor_unit1.analog_data_format[ 2b] pc-xyz: [ 0h] = sensor_unit2.base_unit[ 8b] pc-xyz: [ 0h] = sensor_unit3.modifier_unit[ 8b] pc-xyz: [ 1h] = share_count[ 4b] pc-xyz: [ 1h] = id_string_instance_modifier_type[ 2b] pc-xyz: [ 0h] = sensor_direction[ 2b] pc-xyz: [ 0h] = id_string_instance_modifier_offset[ 7b] pc-xyz: [ 0h] = entity_instance_sharing[ 1b] pc-xyz: [ 0h] = positive_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = negative_going_threshold_hysteresis[ 8b] pc-xyz: [ 0h] = reserved[24b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ CCh] = id_string_type_length_code[ 8b] pc-xyz: [ BYTE ARRAY ... ] = id_string[12B] pc-xyz: [ 4Dh 53h 52h 20h 49h 6Eh 66h 6Fh ] pc-xyz: [ 20h 4Ch 6Fh 67h ] Sensor reading/event bitmask not available: sensor is system software sensor 116 | MSR Info Log | Memory | N/A | N/A | N/A pc-xyz: ===================================================== pc-xyz: SDR Entity Association Record pc-xyz: ===================================================== pc-xyz: [ 75h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 8h] = record_type[ 8b] pc-xyz: [ 10h] = record_length[ 8b] pc-xyz: [ 7h] = container_entity_id[ 8b] pc-xyz: [ 1h] = container_entity_instance[ 8b] pc-xyz: [ 0h] = flags.reserved[ 5b] pc-xyz: [ 0h] = flags.sensor_presence[ 1b] pc-xyz: [ 1h] = flags.record_link[ 1b] pc-xyz: [ 1h] = flags.contained_entities[ 1b] pc-xyz: [ 3h] = entity_id_contained_entity_range_1[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_1[ 8b] pc-xyz: [ 3h] = entity_id_contained_entity_range_2[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_2[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_3[ 8b] pc-xyz: [ 1h] = instance_id_contained_entity_range_3[ 8b] pc-xyz: [ Ah] = entity_id_contained_entity_range_4[ 8b] pc-xyz: [ 2h] = instance_id_contained_entity_range_4[ 8b] pc-xyz: ===================================================== pc-xyz: SDR FRU Device Locator Record pc-xyz: ===================================================== pc-xyz: [ 76h] = record_id[16b] pc-xyz: [ 1h] = sdr_version_major[ 4b] pc-xyz: [ 5h] = sdr_version_minor[ 4b] pc-xyz: [ 11h] = record_type[ 8b] pc-xyz: [ 12h] = record_length[ 8b] pc-xyz: [ 0h] = device_access_address.reserved[ 1b] pc-xyz: [ 10h] = device_access_address[ 7b] pc-xyz: [ 4h] = logical_fru_device_device_slave_address[ 8b] pc-xyz: [ 0h] = private_bus_id[ 3b] pc-xyz: [ 0h] = lun_for_master_write_read_fru_command[ 2b] pc-xyz: [ 0h] = logical_physical_access_lun_bus_id.reserved[ 2b] pc-xyz: [ 1h] = logical_physical_fru_device[ 1b] pc-xyz: [ 0h] = channel_number.reserved[ 4b] pc-xyz: [ 0h] = channel_number[ 4b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ 9h] = device_type[ 8b] pc-xyz: [ 2h] = device_type_modifier[ 8b] pc-xyz: [ 1Ah] = fru_entity_id[ 8b] pc-xyz: [ 3h] = fru_entity_instance[ 8b] pc-xyz: [ 0h] = oem[ 8b] pc-xyz: [ C7h] = device_id_string_type_length[ 8b] pc-xyz: [ 656761726F7453h] = device_id_string[56b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Close Session Request pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 4Ch] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 40h D0h A9h 24h A5h C7h B9h 18h ] pc-xyz: [ 85h 26h 7Fh 8Ch 7Bh 02h 77h 24h ] pc-xyz: [ Bh] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 6h] = net_fn[ 6b] pc-xyz: [ C8h] = checksum1[ 8b] pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 22h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Ch] = cmd[ 8b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ BFh] = checksum2[ 8b] pc-xyz: ===================================================== pc-xyz: IPMI 1.5 Close Session Response pc-xyz: ===================================================== pc-xyz: RMCP Header: pc-xyz: ------------ pc-xyz: [ 6h] = version[ 8b] pc-xyz: [ 0h] = reserved[ 8b] pc-xyz: [ FFh] = sequence_number[ 8b] pc-xyz: [ 7h] = message_class.class[ 5b] pc-xyz: [ 0h] = message_class.reserved[ 2b] pc-xyz: [ 0h] = message_class.ack[ 1b] pc-xyz: IPMI Session Header: pc-xyz: -------------------- pc-xyz: [ 2h] = authentication_type[ 8b] pc-xyz: [ 1602A200h] = session_sequence_number[32b] pc-xyz: [ 200FA00h] = session_id[32b] pc-xyz: [ BYTE ARRAY ... ] = authentication_code[16B] pc-xyz: [ 49h 0Fh C5h E1h 21h 68h 27h 4Ah ] pc-xyz: [ D0h AEh 07h 3Ch 10h C5h 4Ch 0Bh ] pc-xyz: [ 8h] = ipmi_msg_len[ 8b] pc-xyz: IPMI Message Header: pc-xyz: -------------------- pc-xyz: [ 81h] = rq_addr[ 8b] pc-xyz: [ 0h] = rq_lun[ 2b] pc-xyz: [ 7h] = net_fn[ 6b] pc-xyz: [ 63h] = checksum1[ 8b] pc-xyz: [ 20h] = rs_addr[ 8b] pc-xyz: [ 0h] = rs_lun[ 2b] pc-xyz: [ 22h] = rq_seq[ 6b] pc-xyz: IPMI Command Data: pc-xyz: ------------------ pc-xyz: [ 3Ch] = cmd[ 8b] pc-xyz: [ 0h] = comp_code[ 8b] pc-xyz: IPMI Trailer: pc-xyz: -------------- pc-xyz: [ 1Ch] = checksum2[ 8b]