serial.nimSat, Apr 1, 2017
A Nim library to read from and write to serial ports across various platforms. Supports both synchronous and asynchronous reading and writing via Nim’s
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 two examples in the
examples directory, showing reading from and writing to a serialport.
Listing serial ports
import serial # Or: `import serial/utils` for port in listSerialPorts(): echo port
Reading from/writing to a serial port (echoing data)
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])
Using the SerialStream
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())