Signed test
This commit is contained in:
parent
5a756e47c1
commit
0fed3b5376
@ -122,6 +122,7 @@ for name, number in all_registers.items():
|
||||
if action == 'read' or action == 'all':
|
||||
print('---- Register readout ----')
|
||||
for register in register_name + register_number:
|
||||
signed = False
|
||||
if isinstance(register, str):
|
||||
reg_name = register
|
||||
if reg_name in all_registers:
|
||||
@ -134,7 +135,9 @@ if action == 'read' or action == 'all':
|
||||
# try reverse lookup
|
||||
reg_name = all_register_numbers[reg_number] if reg_number in all_register_numbers else ''
|
||||
try:
|
||||
result = int(s.read_register(reg_number))
|
||||
signed = '_signed' in reg_name
|
||||
print(f'DEBUG: register {reg_name} is {signed} (signed)')
|
||||
result = int(s.read_register(reg_number, signed=signed))
|
||||
except:
|
||||
result = 'N/A'
|
||||
print(f'{reg_number : <10} {result : <10} {reg_name}')
|
||||
|
@ -112,7 +112,7 @@ class Sensor:
|
||||
def RH_SCD4x(self):
|
||||
return self.read_register(self.input_registers['RH_SCD4x'])
|
||||
|
||||
def read_register(self, register_number, retries=10):
|
||||
def read_register(self, register_number, signed=False, retries=10):
|
||||
if self.input_register_start <= register_number <= self.input_register_end:
|
||||
function_code = 4
|
||||
register_offset = register_number - self.input_register_start
|
||||
@ -127,7 +127,7 @@ class Sensor:
|
||||
try:
|
||||
self.readout_total += 1
|
||||
# minimalmodbus divides received register value by 10
|
||||
return self.serial.read_register(register_offset, 1, functioncode=function_code) * 10
|
||||
return self.serial.read_register(register_offset, 1, functioncode=function_code, signed=signed) * 10
|
||||
except minimalmodbus.NoResponseError as e:
|
||||
last_exception = e
|
||||
self.readout_error_no_response += 1
|
||||
|
Loading…
Reference in New Issue
Block a user