20 lines
495 B
Python
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
|
|
|