Files
modbusmaster/pyserialext/RS485Ext.py

20 lines
495 B
Python

import serial.rs485
import serial.serialutil
import ctypes
class RS485Ext(serial.rs485.RS485):
def __init__(self, *args, **kwargs):
super(RS485Ext, self).__init__(*args, **kwargs)
self.writec = ctypes.cdll.LoadLibrary('writec.so')
fd = self.fileno()
r = self.writec.set_rs485_mode(fd)
def write(self, b):
d = serial.serialutil.to_bytes(b)
l = len(d)
fd = self.fileno()
r = self.writec.writec(fd, d, l)
return r