README
¶
term
import "github.com/pkg/term"
Package term manages POSIX terminals. As POSIX terminals are connected to, or emulate, a UART, this package also provides control over the various UART and serial line parameters.
func CBreakMode
func CBreakMode(t *Term) error
CBreakMode places the terminal into cbreak mode.
func RawMode
func RawMode(t *Term) error
RawMode places the terminal into raw mode.
func Speed
func Speed(baud int) func(*Term) error
Speed sets the baud rate option for the terminal.
type Term
type Term struct {
// contains filtered or unexported fields
}
Term represents an asynchronous communications port.
func Open
func Open(name string, options ...func(*Term) error) (*Term, error)
Open opens an asynchronous communications port.
func (*Term) Available
func (t *Term) Available() (int, error)
Available returns how many bytes are unused in the buffer.
func (*Term) Buffered
func (t *Term) Buffered() (int, error)
Buffered returns the number of bytes that have been written into the current buffer.
func (*Term) Close
func (t *Term) Close() error
Close closes the device and releases any associated resources.
func (*Term) DTR
func (t *Term) DTR() (bool, error)
DTR returns the state of the DTR (data terminal ready) signal.
func (*Term) Flush
func (t *Term) Flush() error
Flush flushes both data received but not read, and data written but not transmitted.
func (*Term) RTS
func (t *Term) RTS() (bool, error)
RTS returns the state of the RTS (data terminal ready) signal.
func (*Term) Read
func (t *Term) Read(b []byte) (int, error)
Read reads up to len(b) bytes from the terminal. It returns the number of bytes read and an error, if any. EOF is signaled by a zero count with err set to io.EOF.
func (*Term) Restore
func (t *Term) Restore() error
Restore restores the state of the terminal captured at the point that the terminal was originally opened.
func (*Term) SendBreak
func (t *Term) SendBreak() error
SendBreak sends a break signal.
func (*Term) SetCbreak
func (t *Term) SetCbreak() error
SetCbreak sets cbreak mode.
func (*Term) SetDTR
func (t *Term) SetDTR(v bool) error
SetDTR sets the DTR (data terminal ready) signal.
func (*Term) SetOption
func (t *Term) SetOption(options ...func(*Term) error) error
SetOption takes one or more option function and applies them in order to Term.
func (*Term) SetRTS
func (t *Term) SetRTS(v bool) error
SetRTS sets the RTS (data terminal ready) signal.
func (*Term) SetRaw
func (t *Term) SetRaw() error
SetRaw sets raw mode.
func (*Term) SetSpeed
func (t *Term) SetSpeed(baud int) error
SetSpeed sets the receive and transmit baud rates.
func (*Term) Write
func (t *Term) Write(b []byte) (int, error)
Write writes len(b) bytes to the terminal. It returns the number of bytes written and an error, if any. Write returns a non-nil error when n != len(b).
Generated by godoc2md
Documentation
¶
Overview ¶
Package term manages POSIX terminals. As POSIX terminals are connected to, or emulate, a UART, this package also provides control over the various UART and serial line parameters.
Index ¶
- Constants
- func CBreakMode(t *Term) error
- func FlowControl(kind int) func(*Term) error
- func RawMode(t *Term) error
- func ReadTimeout(d time.Duration) func(*Term) error
- func Speed(baud int) func(*Term) error
- type Term
- func (t *Term) Available() (int, error)
- func (t *Term) Buffered() (int, error)
- func (t *Term) Close() error
- func (t *Term) DTR() (bool, error)
- func (t *Term) Flush() error
- func (t *Term) GetSpeed() (int, error)
- func (t *Term) RTS() (bool, error)
- func (t *Term) Read(b []byte) (int, error)
- func (t *Term) Restore() error
- func (t *Term) SendBreak() error
- func (t *Term) SetCbreak() error
- func (t *Term) SetDTR(v bool) error
- func (t *Term) SetFlowControl(kind int) error
- func (t *Term) SetOption(options ...func(*Term) error) error
- func (t *Term) SetRTS(v bool) error
- func (t *Term) SetRaw() error
- func (t *Term) SetReadTimeout(d time.Duration) error
- func (t *Term) SetSpeed(baud int) error
- func (t *Term) Write(b []byte) (int, error)
Examples ¶
Constants ¶
const ( NONE = iota // flow control off XONXOFF // software flow control HARDWARE // hardware flow control )
const ( // CBaudMask is the logical of CBAUD and CBAUDEX, except // that those values were not exposed via the syscall // package. Many of these values will be redundant, but // this long definition ensures we are portable if some // architecture defines different values for them (unlikely). CBaudMask = unix.B50 | unix.B75 | unix.B110 | unix.B134 | unix.B150 | unix.B200 | unix.B300 | unix.B600 | unix.B1200 | unix.B1800 | unix.B2400 | unix.B4800 | unix.B9600 | unix.B19200 | unix.B38400 | unix.B57600 | unix.B115200 | unix.B230400 | unix.B460800 | unix.B500000 | unix.B576000 | unix.B921600 | unix.B1000000 | unix.B1152000 | unix.B1500000 | unix.B2000000 | unix.B2500000 | unix.B3000000 | unix.B3500000 | unix.B4000000 )
Variables ¶
Functions ¶
func FlowControl ¶
FlowControl sets the flow control option for the terminal.
func ReadTimeout ¶
ReadTimeout sets the read timeout option for the terminal.
Types ¶
type Term ¶
type Term struct {
// contains filtered or unexported fields
}
Term represents an asynchronous communications port.
func Open ¶
Open opens an asynchronous communications port.
Example ¶
Open a terminal in raw mode at 19200 baud.
Output:
func (*Term) Buffered ¶
Buffered returns the number of bytes that have been written into the current buffer.
func (*Term) Flush ¶
Flush flushes both data received but not read, and data written but not transmitted.
func (*Term) Read ¶
Read reads up to len(b) bytes from the terminal. It returns the number of bytes read and an error, if any. EOF is signaled by a zero count with err set to io.EOF.
func (*Term) Restore ¶
Restore restores the state of the terminal captured at the point that the terminal was originally opened.
Example ¶
Restore the terminal state
Output:
func (*Term) SendBreak ¶
SendBreak sends a break signal.
Example ¶
Send Break to the remote DTE.
Output:
func (*Term) SetDTR ¶
SetDTR sets the DTR (data terminal ready) signal.
Example ¶
Reset an Arduino by toggling the DTR signal.
Output:
func (*Term) SetFlowControl ¶
SetFlowControl sets whether hardware flow control is enabled.
func (*Term) SetOption ¶
SetOption takes one or more option function and applies them in order to Term.
func (*Term) SetReadTimeout ¶
SetReadTimeout sets the read timeout. A zero value for d means read operations will not time out.