Query script fixes & updates
This commit is contained in:
parent
12dca6c778
commit
45895f179e
@ -22,10 +22,14 @@ Read only CO2 register from sensor 123, baudrate 4800:
|
|||||||
{argv[0]} 123 4800 read CO2
|
{argv[0]} 123 4800 read CO2
|
||||||
Read CO2, T_SHT4x and RH_SCD4x from sensor 222, default baudrate:
|
Read CO2, T_SHT4x and RH_SCD4x from sensor 222, default baudrate:
|
||||||
{argv[0]} 222 read CO2 T_SHT4x RH_SCD4x
|
{argv[0]} 222 read CO2 T_SHT4x RH_SCD4x
|
||||||
|
Read register 30010 from sensor 247, default baudrate:
|
||||||
|
{argv[0]} 247 read 30010
|
||||||
|
Read registers 30011, 30012, 30020 from sensor 247, baudrate 19200:
|
||||||
|
{argv[0]} 247 19200 read 30011 30012 30020
|
||||||
Turn LED off for sensor 247, baud 115200:
|
Turn LED off for sensor 247, baud 115200:
|
||||||
{argv[0]} 247 115200 write 0 LED_on_register
|
{argv[0]} 247 115200 write LED_on 0
|
||||||
Set brightness of all connected sensors to 50%:
|
Set brightness of all connected sensors to 50%, default baudrate (broadcast message):
|
||||||
{argv[0]} 0 write 50 LED_brightness_register
|
{argv[0]} 0 write LED_brightness 50
|
||||||
''')
|
''')
|
||||||
|
|
||||||
# default values
|
# default values
|
||||||
@ -84,7 +88,7 @@ if action != 'read' and action != 'write' and action != 'all' and action != 'res
|
|||||||
print(f'Unknown action {action}')
|
print(f'Unknown action {action}')
|
||||||
exit(-4)
|
exit(-4)
|
||||||
if action == 'write' and value == None:
|
if action == 'write' and value == None:
|
||||||
print(f'Action "write" needs value"')
|
print(f'Action "write" needs value')
|
||||||
exit(-5)
|
exit(-5)
|
||||||
if action == 'write' and len(register_number) + len(register_name) != 1:
|
if action == 'write' and len(register_number) + len(register_name) != 1:
|
||||||
print(f'Action "write" needs exactly one register to write to')
|
print(f'Action "write" needs exactly one register to write to')
|
||||||
@ -106,13 +110,16 @@ if action == 'write':
|
|||||||
print(f'Value to be written: {value}')
|
print(f'Value to be written: {value}')
|
||||||
# open device
|
# open device
|
||||||
s = Sensor(address=addr, baudrate=baudrate)
|
s = Sensor(address=addr, baudrate=baudrate)
|
||||||
|
all_registers = Sensor.input_registers.copy()
|
||||||
|
all_registers.update(Sensor.holding_registers)
|
||||||
|
all_register_numbers = {}
|
||||||
|
for name, number in all_registers.items():
|
||||||
|
all_register_numbers[number] = name
|
||||||
if action == 'read' or action == 'all':
|
if action == 'read' or action == 'all':
|
||||||
print('---- Register readout ----')
|
print('---- Register readout ----')
|
||||||
for register in register_name + register_number:
|
for register in register_name + register_number:
|
||||||
if isinstance(register, str):
|
if isinstance(register, str):
|
||||||
reg_name = register
|
reg_name = register
|
||||||
all_registers = Sensor.input_registers.copy()
|
|
||||||
all_registers.update(Sensor.holding_registers)
|
|
||||||
if reg_name in all_registers:
|
if reg_name in all_registers:
|
||||||
reg_number = all_registers[reg_name]
|
reg_number = all_registers[reg_name]
|
||||||
else:
|
else:
|
||||||
@ -120,13 +127,13 @@ if action == 'read' or action == 'all':
|
|||||||
exit(-7)
|
exit(-7)
|
||||||
else:
|
else:
|
||||||
reg_number = register
|
reg_number = register
|
||||||
reg_name = ''
|
# try reverse lookup
|
||||||
|
reg_name = all_register_numbers[reg_number] if reg_number in all_register_numbers else ''
|
||||||
try:
|
try:
|
||||||
result = s.read_register(reg_number)
|
result = int(s.read_register(reg_number))
|
||||||
except:
|
except:
|
||||||
print(f'{reg_number : <10} {"N/A" : <10} Failed to read register')
|
result = 'N/A'
|
||||||
continue
|
print(f'{reg_number : <10} {result : <10} {reg_name}')
|
||||||
print(f'{reg_number : <10} {int(result) : <10} {reg_name}')
|
|
||||||
elif action == 'write':
|
elif action == 'write':
|
||||||
if len(register_name) > 0:
|
if len(register_name) > 0:
|
||||||
if register_name[0] not in Sensor.holding_registers:
|
if register_name[0] not in Sensor.holding_registers:
|
||||||
|
Loading…
Reference in New Issue
Block a user