Add parsing of get health parameters reader command.

This commit is contained in:
Mikaël Ates 2013-10-08 13:02:02 +02:00
parent 989d0d3838
commit bee762c6b2
2 changed files with 45 additions and 1 deletions

25
demo.py
View File

@ -104,6 +104,24 @@ def reset_rf_settings(reader):
except Exception, err:
print str(err)
def get_health_parameters(reader):
print 'Get_HealthParameters'
try:
command = models.ReaderCommand(command_name='Get_HealthParameters',
reader=reader)
response = reader.send(command)
command.pretty_print()
response.pretty_print()
health_parameters = response.data
print "Antenna 0 connection quality : %d" % health_parameters['Tune0']
print "Antenna 1 connection quality : %d" % health_parameters['Tune1']
print "Antenna 2 connection quality : %d" % health_parameters['Tune2']
print "Antenna 3 connection quality : %d" % health_parameters['Tune3']
print "Reader core temperature: %d" % health_parameters['TempCore']
print "Reader power amplificator temperature: %d" % health_parameters['PA']
except Exception, err:
print str(err)
def test_1(reader):
get_rf_settings(reader)
inventory(reader)
@ -125,10 +143,13 @@ def test_4(reader):
test_3(reader)
reset_rf_settings(reader)
def test_5(reader):
get_health_parameters(reader)
if __name__ == '__main__':
reader = models.RFIDReader()
# Detect same tags before and after changing RF parameters
test_1(reader)
# test_1(reader)
# Detect same tags before and after changing RF parameters and reader
# reboot
@ -140,3 +161,5 @@ if __name__ == '__main__':
# test_4(reader)
# Do hard reader reboot
# test_3(reader)
test_5(reader)

View File

@ -84,3 +84,24 @@ def set_rfsettings(command):
def set_rfsettings_saved(command):
return set_rfsettings(command)
def get_healthparameters(response):
'''
Parse response content of 'Get_HealthParameters' command.
Return a dict of values.
'''
if not response.raw_data:
raise MalformedDataError('Data content is malformed.')
if len(response.raw_data) != 6:
raise MalformedDataError('Data content is malformed.')
health_parameters = dict()
health_parameters['Tune0'] = int(response.raw_data[0].encode('hex'), 16)
health_parameters['Tune1'] = int(response.raw_data[1].encode('hex'), 16)
health_parameters['Tune2'] = int(response.raw_data[2].encode('hex'), 16)
health_parameters['Tune3'] = int(response.raw_data[3].encode('hex'), 16)
health_parameters['TempCore'] = int(response.raw_data[4].encode('hex'), 16)
health_parameters['PA'] = int(response.raw_data[5].encode('hex'), 16)
print health_parameters
response.data = health_parameters