...

Package serial

import "github.com/jacobsa/go-serial/serial"
Overview
Index

Overview ▾

Variables

var (
    // The list of standard baud-rates.
    StandardBaudRates = map[uint]bool{
        50:     true,
        75:     true,
        110:    true,
        134:    true,
        150:    true,
        200:    true,
        300:    true,
        600:    true,
        1200:   true,
        1800:   true,
        2400:   true,
        4800:   true,
        7200:   true,
        9600:   true,
        14400:  true,
        19200:  true,
        28800:  true,
        38400:  true,
        57600:  true,
        76800:  true,
        115200: true,
        230400: true,
    }
)

func IsStandardBaudRate

func IsStandardBaudRate(baudRate uint) bool

IsStandardBaudRate checks whether the specified baud-rate is standard.

Some operating systems may support non-standard baud-rates (OSX) via additional IOCTL.

func Open

func Open(options OpenOptions) (io.ReadWriteCloser, error)

Open creates an io.ReadWriteCloser based on the supplied options struct.

type OpenOptions

OpenOptions is the struct containing all of the options necessary for opening a serial port.

type OpenOptions struct {
    // The name of the port, e.g. "/dev/tty.usbserial-A8008HlV".
    PortName string

    // The baud rate for the port.
    BaudRate uint

    // The number of data bits per frame. Legal values are 5, 6, 7, and 8.
    DataBits uint

    // The number of stop bits per frame. Legal values are 1 and 2.
    StopBits uint

    // The type of parity bits to use for the connection. Currently parity errors
    // are simply ignored; that is, bytes are delivered to the user no matter
    // whether they were received with a parity error or not.
    ParityMode ParityMode

    // Enable RTS/CTS (hardware) flow control.
    RTSCTSFlowControl bool

    InterCharacterTimeout uint
    MinimumReadSize       uint

    // Use to enable RS485 mode -- probably only valid on some Linux platforms
    Rs485Enable bool

    // Set to true for logic level high during send
    Rs485RtsHighDuringSend bool

    // Set to true for logic level high after send
    Rs485RtsHighAfterSend bool

    // set to receive data during sending
    Rs485RxDuringTx bool

    // RTS delay before send
    Rs485DelayRtsBeforeSend int

    // RTS delay after send
    Rs485DelayRtsAfterSend int
}

type ParityMode

Valid parity values.

type ParityMode int
const (
    PARITY_NONE ParityMode = 0
    PARITY_ODD  ParityMode = 1
    PARITY_EVEN ParityMode = 2
)