Skip to content

Commit d0d5c7e

Browse files
committed
features/unit/RS485 is a TTL to RS485 convertor
1 parent b12afb7 commit d0d5c7e

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

m5stack/libs/unit/rs485.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from driver.modbus.master.uSerial import uSerial
2+
3+
class RS485(uSerial):
4+
5+
def __init__(self, port, debug=False):
6+
self._port = port
7+
self._debug = debug
8+
9+
def init(self, uart, tx_pin=17, rx_pin=18, baudrate=9600, data_bits=8, stop_bits=1, parity=None, ctrl_pin=None):
10+
if tx_pin != None and rx_pin != None:
11+
self._port = (rx_pin, tx_pin)
12+
if data_bits == None and stop_bits == None:
13+
data_bits=8
14+
stop_bits=1
15+
super().__init__(uart, tx=self._port[1], rx=self._port[0], baudrate=baudrate, data_bits=data_bits, parity=parity,
16+
stop_bits=stop_bits, ctrl_pin=ctrl_pin, debug=self._debug)
17+
18+
def write(self, payload):
19+
self._mdbus_uart.write(payload)
20+
21+
def read(self, byte=None):
22+
if byte is not None:
23+
return self._mdbus_uart.read(byte)
24+
else:
25+
return self._mdbus_uart.read()
26+
27+
def readline(self):
28+
return self._mdbus_uart.readline()
29+
30+
def any(self):
31+
return self._mdbus_uart.any()
32+

0 commit comments

Comments
 (0)