mirror of
https://opendev.org/x/pyghmi
synced 2025-02-05 13:32:48 +00:00
Fix software sensor data
Software sensors are not in the SDR, and the owner ID is used to distinguish them. Incorporate the owner ID to qualify the sensors. Change-Id: I984eaab21fd992bfd9bf8eda4e22943f9812a104
This commit is contained in:
parent
39ed56e94e
commit
2dd0d1e4d2
@ -498,7 +498,8 @@ class EventHandler(object):
|
||||
raise pygexc.PyghmiException(
|
||||
'Unrecognized Event message version {0}'.format(eventdata[2]))
|
||||
sensor_type = eventdata[3]
|
||||
sensorid = '{0}.{1}'.format(eventdata[4], eventdata[1] & 0b11)
|
||||
sensorid = '{0}.{1}.{2}'.format(
|
||||
eventdata[0], eventdata[4], eventdata[1] & 0b11)
|
||||
event_data = eventdata[6:]
|
||||
deassertion = (eventdata[5] & 0b10000000 == 0b10000000)
|
||||
event_type = eventdata[5] & 0b1111111
|
||||
|
@ -377,6 +377,7 @@ class SDREntry(object):
|
||||
# event only, compact and full are very similar
|
||||
# this function handles the common aspects of compact and full
|
||||
# offsets from spec, minus 6
|
||||
self.sensor_owner = entry[0]
|
||||
self.sensor_lun = entry[1] & 0x03
|
||||
self.sensor_number = entry[2]
|
||||
self.entity = ipmiconst.entity_ids.get(
|
||||
@ -836,7 +837,8 @@ class SDR(object):
|
||||
newent = SDREntry(sdrbytes, self.ipmicmd, False, self.mfg_id,
|
||||
self.prod_id)
|
||||
if newent.sdrtype == TYPE_SENSOR:
|
||||
id = '{0}.{1}'.format(newent.sensor_number, newent.sensor_lun)
|
||||
id = '{0}.{1}.{2}'.format(
|
||||
newent.sensor_owner, newent.sensor_number, newent.sensor_lun)
|
||||
if id in self.sensors:
|
||||
self.broken_sensor_ids[id] = True
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user