diff --git a/tests/holding_register_test.py b/tests/holding_register_test.py deleted file mode 100755 index 335669f..0000000 --- a/tests/holding_register_test.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python3 -from time import sleep -import minimalmodbus -import serial - -slave_address = 254 -instrument = minimalmodbus.Instrument('/dev/ttyUSB0', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal) - -instrument.serial.baudrate = 19200 -instrument.serial.bytesize = 8 -instrument.serial.parity = serial.PARITY_EVEN -instrument.serial.stopbits = 1 -instrument.serial.timeout = 0.05 # seconds -instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode -instrument.clear_buffers_before_each_transaction = True - -# holding register numbers -LED_on_register = 0 -LED_brightness_register = 1 -LED_smooth_register = 2 -CO2_alert_limit_1_register = 3 -CO2_alert_limit_2_register = 4 -SCD4x_temperature_offset_register = 5 -MODBUS_address_register = 6 -baudrate_register = 7 -# holding register readout -print('---- Reading from holding registers ----') -#LED_on = int(instrument.read_register(LED_on_register, 1, functioncode=3) * 10) -#LED_brightness = int(instrument.read_register(LED_brightness_register, 1, functioncode=3) * 10) -#LED_smooth = int(instrument.read_register(LED_smooth_register, 1, functioncode=3) * 10) -#CO2_alert_limit_1 = int(instrument.read_register(CO2_alert_limit_1_register, 1, functioncode=3) * 10) -#CO2_alert_limit_2 = int(instrument.read_register(CO2_alert_limit_2_register, 1, functioncode=3) * 10) -#SCD4x_temperature_offset = int(instrument.read_register(SCD4x_temperature_offset_register, 1, functioncode=3) * 10) -#MODBUS_address = int(instrument.read_register(MODBUS_address_register, 1, functioncode=3) * 10) -#baudrate = int(instrument.read_register(baudrate_register, 1, functioncode=3) * 10) -# print -#print( -#f'''LED_on = {LED_on} -#LED_brightness = {LED_brightness} -#LED_smooth = {LED_smooth} -#CO2_alert_limit_1 = {CO2_alert_limit_1} -#CO2_alert_limit_2 = {CO2_alert_limit_2} -#SCD4x_temperature_offset = {SCD4x_temperature_offset} -#MODBUS_address = {MODBUS_address} -#baudrate = {baudrate} -#''') -# write to holding register -print('---- Writing to holding registers ----') -instrument.write_register(LED_on_register, 0, functioncode=6) diff --git a/tests/minimalmodbus_test.py b/tests/read_input_register_test.py similarity index 94% rename from tests/minimalmodbus_test.py rename to tests/read_input_register_test.py index 999ae00..e1067c5 100755 --- a/tests/minimalmodbus_test.py +++ b/tests/read_input_register_test.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 from time import sleep +from sys import exit import minimalmodbus import serial @@ -14,6 +15,7 @@ instrument.serial.timeout = 0.05 # seconds instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode instrument.clear_buffers_before_each_transaction = True +print('---- Reading from input registers ----') # read CO2_addr = 9 CO2 = instrument.read_register(CO2_addr, 1, functioncode=4) * 10 @@ -36,3 +38,5 @@ print(f'[{T_SCD4x_addr+30001}] T_SCD4x:\t{T_SCD4x} deg C') print(f'[{RH_SCD4x_addr+30001}] RH_SCD4x:\t{RH_SCD4x} %') print(f'[{T_SHT4x_signed_addr+30001}] T_SHT4x_signed:\t{T_SHT4x_signed} deg C') print(f'[{T_SCD4x_signed_addr+30001}] T_SCD4x_signed:\t{T_SCD4x_signed} deg C') +print('---- DONE ----') +exit(0) diff --git a/tests/read_write_holding_registers_test.py b/tests/read_write_holding_registers_test.py new file mode 100755 index 0000000..8225a71 --- /dev/null +++ b/tests/read_write_holding_registers_test.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +from time import sleep +from sys import exit +import minimalmodbus +import serial + +slave_address = 254 +instrument = minimalmodbus.Instrument('/dev/ttyUSB0', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal) + +instrument.serial.baudrate = 19200 +instrument.serial.bytesize = 8 +instrument.serial.parity = serial.PARITY_EVEN +instrument.serial.stopbits = 1 +instrument.serial.timeout = 0.05 # seconds +instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode +instrument.clear_buffers_before_each_transaction = True + +# holding register numbers +LED_on_register = 0 +LED_brightness_register = 1 +LED_smooth_register = 2 +CO2_alert_limit_1_register = 3 +CO2_alert_limit_2_register = 4 +SCD4x_temperature_offset_register = 5 +MODBUS_address_register = 6 +baudrate_register = 7 +# holding register readout +print('---- Reading from holding registers ----') +LED_on = int(instrument.read_register(LED_on_register, 1, functioncode=3) * 10) +LED_brightness = int(instrument.read_register(LED_brightness_register, 1, functioncode=3) * 10) +LED_smooth = int(instrument.read_register(LED_smooth_register, 1, functioncode=3) * 10) +CO2_alert_limit_1 = int(instrument.read_register(CO2_alert_limit_1_register, 1, functioncode=3) * 10) +CO2_alert_limit_2 = int(instrument.read_register(CO2_alert_limit_2_register, 1, functioncode=3) * 10) +SCD4x_temperature_offset = int(instrument.read_register(SCD4x_temperature_offset_register, 1, functioncode=3) * 10) +MODBUS_address = int(instrument.read_register(MODBUS_address_register, 1, functioncode=3) * 10) +baudrate = int(instrument.read_register(baudrate_register, 1, functioncode=3) * 10) +# print +reg_base = 40001 +print( +f'''[{LED_on_register+reg_base}] LED_on = {LED_on} +[{LED_brightness_register+reg_base}] LED_brightness = {LED_brightness} +[{LED_smooth_register+reg_base}] LED_smooth = {LED_smooth} +[{CO2_alert_limit_1_register+reg_base}] CO2_alert_limit_1 = {CO2_alert_limit_1} +[{CO2_alert_limit_2_register+reg_base}] CO2_alert_limit_2 = {CO2_alert_limit_2} +[{SCD4x_temperature_offset_register+reg_base}] SCD4x_temperature_offset = {SCD4x_temperature_offset} +[{MODBUS_address_register+reg_base}] MODBUS_address = {MODBUS_address} +[{baudrate_register+reg_base}] baudrate = {baudrate}''') +# write to holding register +print('---- Writing to holding registers ----') +instrument.write_register(LED_on_register, 1, functioncode=6) +print('---- DONE ----') +exit(0)