Module serial
The serial library enables communication over the serial port.
It provides the usual open, read, write, and close file handling
methods, as well as serial port configuration features.
Type serial
| serial.open(port, config) |
Creates and returns a new serial device instance: #serialdev. |
Type config
| config.baudRate |
to set the baudrate of the serial port
accepted values are: |
| config.flowControl |
to configure flow control on the serial port
accepted values are: |
| config.numDataBits |
to set the number of data bits in each character
accepted values are: |
| config.numStopBits |
to configure the serial port stop bit
accepted values are: |
| config.parity |
to set serial port parity
accepted values are (as a string): |
Type serialdev
| serialdev:close() |
Closes the serial library instance. |
| serialdev:configure(config) |
Configures the serial port. |
| serialdev:flush() |
Flushes pending data. |
| serialdev:read(pattern) |
Reads data from the serial port. |
| serialdev:write(buffer) |
Writes buffer to the serial port. |
Type serial
Field(s)
- serial.open(port, config)
-
Creates and returns a new serial device instance: #serialdev.
Parameters
-
port: the serial port to open. It can be given as a port number, or as a POSIX device file path such as"/dev/ttyS0"on POSIX operating systems. -
config: an optional #config table. Default values are{ parity = "none", flowControl = "none", numDataBits = 8, numStopBits = 1, baudRate = 115200 }
Return values
-
#serialdev: a new instance of #serialdev as a table when successful
-
nilfollowed by an error message otherwise
-
Type config
Serial port configuration table.
Can be given to serialdev.configure and serial.open functions:
Field(s)
- config.baudRate
-
to set the baudrate of the serial port accepted values are:
1200, 9600, 19200, 38400, 57600and115200(as an integer).
- config.flowControl
-
to configure flow control on the serial port accepted values are:
"none","rtscts"or"xon/xoff"(as a string).
- config.numDataBits
-
to set the number of data bits in each character accepted values are:
5, 6, 7and8(as an integer).
- config.numStopBits
-
to configure the serial port stop bit accepted values are:
1to disable it,2to enable it (as an integer).
- config.parity
-
to set serial port parity accepted values are (as a string):
"none","odd","even"
Type serialdev
Serial class.
Field(s)
- serialdev:close()
-
Closes the serial library instance.
Once close has been successfully called, the serialdev instance becomes unusable. A new one may be created if needed.
Return values
-
"ok"on success. -
nilfollowed by an error message otherwise.
-
- serialdev:configure(config)
-
Configures the serial port.
Parameter
Return values
-
"ok"on success. -
nilfollowed by error string otherwise.
-
- serialdev:flush()
-
Flushes pending data.
Return values
-
"ok"on success. -
nilfollowed by an error message otherwise.
-
- serialdev:read(pattern)
-
Reads data from the serial port.
Parameter
-
pattern: can be a pattern string conforming to the Lua File API, or a number of bytes to read.
Return values
-
the read data, as a string, on success.
-
nilfollowed by error string otherwise.
-
- serialdev:write(buffer)
-
Writes buffer to the serial port.
Parameter
-
buffer: string containing data to send over the serial port.
Return values
-
the number of bytes written on success.
-
nilfollowed by an error message otherwise.
-