A library to work with serial ports using pure Nim.
serial
can be installed using Nimble:
nimble install serial
Or add the following to your .nimble file:
# Dependencies
requires "serial >= 1.0.0"
There are some examples in the examples
directory, showing reading from and writing to a serialport.
import serial # Or: `import serial/utils`
for port in listSerialPorts():
echo port
import serial # Or: `import serial/serialport`
let port = newSerialPort("COM1")
# use 9600bps, no parity, 8 data bits and 1 stop bit
port.open(9600, Parity.None, 8, StopBits.One)
# You can modify the baud rate, parity, databits, etc. after opening the port
port.baudRate = 2400
var receiveBuffer = newString(1024)
while true:
let numReceived = port.read(receiveBuffer)
discard port.write(receiveBuffer[0 ..< numReceived])
import serial # Or: `import serial/serialstream`
let port = newSerialStream("COM1", 9600, Parity.None, 8, StopBits.One, buffered=true)
while true:
# Read a line from the serial port then write it back.
port.writeLine(port.readLine())
SetupDiGetClassDevs
SerialPortStream
that complies with the streams
APIasyncdispatch
for reading from and writing to a port