Added SetStopBits (linux only)

This commit is contained in:
Cristian Maglie
2014-12-14 18:50:29 +01:00
parent 3351cd50e0
commit f84dc80d3e
3 changed files with 28 additions and 1 deletions

View File

@@ -266,6 +266,20 @@ func (port *linuxSerialPort) SetDataBits(bits int) error {
return setTermSettings(port.Handle, settings)
}
func (port *linuxSerialPort) SetStopBits(bits StopBits) error {
settings, err := getTermSettings(port.Handle)
if err != nil {
return err
}
switch bits {
case STOPBITS_ONE:
settings.c_cflag &= ^C.tcflag_t(syscall.CSTOPB)
case STOPBITS_ONEPOINTFIVE, STOPBITS_TWO:
settings.c_cflag |= syscall.CSTOPB
}
return setTermSettings(port.Handle, settings)
}
func OpenPort(portName string, exclusive bool) (SerialPort, error) {
handle, err := syscall.Open(portName, syscall.O_RDWR|syscall.O_NOCTTY|syscall.O_NDELAY, 0)
if err != nil {