mrpt.comms
mrpt-comms Python API — TCP sockets and RS-232 / USB serial ports.
- Classes:
CClientTCPSocket: connect to a TCP server, send/receive bytes
CSerialPort: open and configure a serial port (RS-232 / FTDI / USB-serial)
Both classes support Python context managers (with statement).
Example — TCP:
from mrpt.comms import CClientTCPSocket
with CClientTCPSocket() as sock:
sock.connect("127.0.0.1", 9000, timeout_ms=3000)
sock.write(b"hello")
data = sock.read(1024)
Example — Serial:
from mrpt.comms import CSerialPort
with CSerialPort("/dev/ttyUSB0", openNow=True) as port:
port.setConfig(baudRate=115200)
port.write(b"AT\r")
response = port.read(64)
Package Contents
- class mrpt.comms.CClientTCPSocket
C++ API: class mrpt::comms::CClientTCPSocket
Bases:
mrpt.io.CStream- close() None
- connect(remotePartAddress: str, remotePartTCPPort: int, timeout_ms: int = 0) None
Establish a TCP connection to host:port. timeout_ms=0 means no timeout.
- isConnected() bool
- read(count: int, timeout_ms: int = -1) bytes
Read up to count bytes from the socket, returns bytes object
- sendString(str: CClientTCPSocket.sendString.str) None
Send a std::string over the TCP connection
- write(data: bytes, timeout_ms: int = -1) int
Write bytes to the socket, returns number of bytes written
- class mrpt.comms.CSerialPort
C++ API: class mrpt::comms::CSerialPort
CSerialPort(portName: str, openNow: bool = True)
Bases:
mrpt.io.CStream- close() None
- isOpen() bool
- open() None
- open(COM_name: str) None
Open the named port
- purgeBuffers() None
- read(count: int) bytes
Read up to count bytes from the serial port, returns bytes object
- setConfig(baudRate: int, parity: int = 0, bits: int = 8, nStopBits: int = 1, enableFlowControl: bool = False) None
Configure baud rate and framing (parity: 0=none, 1=odd, 2=even)
- setSerialPortName(portName: str) None
Set the serial port name (e.g. ‘/dev/ttyUSB0’ or ‘COM3’)
- setTimeouts(ReadIntervalTimeout: int, ReadTotalTimeoutMultiplier: int, ReadTotalTimeoutConstant: int, WriteTotalTimeoutMultiplier: int, WriteTotalTimeoutConstant: int) None
Set read/write timeouts in milliseconds
- write(data: bytes) int
Write bytes to the serial port, returns number of bytes written