@@ -16,6 +16,9 @@ env:
|
|||||||
- TEST_OS=darwin TEST_ARCH=amd64
|
- TEST_OS=darwin TEST_ARCH=amd64
|
||||||
- TEST_OS=freebsd TEST_ARCH=amd64
|
- TEST_OS=freebsd TEST_ARCH=amd64
|
||||||
- TEST_OS=dragonfly TEST_ARCH=amd64
|
- TEST_OS=dragonfly TEST_ARCH=amd64
|
||||||
|
- TEST_OS=openbsd TEST_ARCH=amd64
|
||||||
|
- TEST_OS=openbsd TEST_ARCH=386
|
||||||
|
- TEST_OS=openbsd TEST_ARCH=arm
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
|||||||
@@ -47,3 +47,7 @@ const tcCCTS_OFLOW uint32 = 0x00010000
|
|||||||
const tcCRTS_IFLOW uint32 = 0x00020000
|
const tcCRTS_IFLOW uint32 = 0x00020000
|
||||||
|
|
||||||
const tcCRTSCTS uint32 = (tcCCTS_OFLOW | tcCRTS_IFLOW)
|
const tcCRTSCTS uint32 = (tcCCTS_OFLOW | tcCRTS_IFLOW)
|
||||||
|
|
||||||
|
func toTermiosSpeedType(speed uint32) uint32 {
|
||||||
|
return speed
|
||||||
|
}
|
||||||
|
|||||||
@@ -47,3 +47,7 @@ const tcCCTS_OFLOW uint64 = 0x00010000
|
|||||||
const tcCRTS_IFLOW uint64 = 0x00020000
|
const tcCRTS_IFLOW uint64 = 0x00020000
|
||||||
|
|
||||||
const tcCRTSCTS uint64 = (tcCCTS_OFLOW | tcCRTS_IFLOW)
|
const tcCRTSCTS uint64 = (tcCCTS_OFLOW | tcCRTS_IFLOW)
|
||||||
|
|
||||||
|
func toTermiosSpeedType(speed uint64) uint64 {
|
||||||
|
return speed
|
||||||
|
}
|
||||||
|
|||||||
@@ -56,3 +56,7 @@ const tcCRTSCTS uint32 = tcCCTS_OFLOW
|
|||||||
const ioctlTcgetattr = unix.TIOCGETA
|
const ioctlTcgetattr = unix.TIOCGETA
|
||||||
const ioctlTcsetattr = unix.TIOCSETA
|
const ioctlTcsetattr = unix.TIOCSETA
|
||||||
const ioctlTcflsh = unix.TIOCFLUSH
|
const ioctlTcflsh = unix.TIOCFLUSH
|
||||||
|
|
||||||
|
func toTermiosSpeedType(speed uint32) uint32 {
|
||||||
|
return speed
|
||||||
|
}
|
||||||
|
|||||||
@@ -63,3 +63,7 @@ const tcCRTSCTS uint32 = unix.CRTSCTS
|
|||||||
const ioctlTcgetattr = unix.TCGETS
|
const ioctlTcgetattr = unix.TCGETS
|
||||||
const ioctlTcsetattr = unix.TCSETS
|
const ioctlTcsetattr = unix.TCSETS
|
||||||
const ioctlTcflsh = unix.TCFLSH
|
const ioctlTcflsh = unix.TCFLSH
|
||||||
|
|
||||||
|
func toTermiosSpeedType(speed uint32) uint32 {
|
||||||
|
return speed
|
||||||
|
}
|
||||||
|
|||||||
62
serial_openbsd.go
Normal file
62
serial_openbsd.go
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
//
|
||||||
|
// Copyright 2014-2017 Cristian Maglie. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
//
|
||||||
|
|
||||||
|
package serial // import "go.bug.st/serial.v1"
|
||||||
|
|
||||||
|
import "golang.org/x/sys/unix"
|
||||||
|
|
||||||
|
const devFolder = "/dev"
|
||||||
|
const regexFilter = "^(cu|tty)\\..*"
|
||||||
|
|
||||||
|
// termios manipulation functions
|
||||||
|
|
||||||
|
var baudrateMap = map[int]uint32{
|
||||||
|
0: unix.B9600, // Default to 9600
|
||||||
|
50: unix.B50,
|
||||||
|
75: unix.B75,
|
||||||
|
110: unix.B110,
|
||||||
|
134: unix.B134,
|
||||||
|
150: unix.B150,
|
||||||
|
200: unix.B200,
|
||||||
|
300: unix.B300,
|
||||||
|
600: unix.B600,
|
||||||
|
1200: unix.B1200,
|
||||||
|
1800: unix.B1800,
|
||||||
|
2400: unix.B2400,
|
||||||
|
4800: unix.B4800,
|
||||||
|
9600: unix.B9600,
|
||||||
|
19200: unix.B19200,
|
||||||
|
38400: unix.B38400,
|
||||||
|
57600: unix.B57600,
|
||||||
|
115200: unix.B115200,
|
||||||
|
230400: unix.B230400,
|
||||||
|
//460800: unix.B460800,
|
||||||
|
//921600: unix.B921600,
|
||||||
|
}
|
||||||
|
|
||||||
|
var databitsMap = map[int]uint32{
|
||||||
|
0: unix.CS8, // Default to 8 bits
|
||||||
|
5: unix.CS5,
|
||||||
|
6: unix.CS6,
|
||||||
|
7: unix.CS7,
|
||||||
|
8: unix.CS8,
|
||||||
|
}
|
||||||
|
|
||||||
|
const tcCMSPAR uint32 = 0 // may be CMSPAR or PAREXT
|
||||||
|
const tcIUCLC uint32 = 0
|
||||||
|
|
||||||
|
const tcCCTS_OFLOW uint32 = 0x00010000
|
||||||
|
const tcCRTS_IFLOW uint32 = 0x00020000
|
||||||
|
|
||||||
|
const tcCRTSCTS uint32 = tcCCTS_OFLOW
|
||||||
|
|
||||||
|
const ioctlTcgetattr = unix.TIOCGETA
|
||||||
|
const ioctlTcsetattr = unix.TIOCSETA
|
||||||
|
const ioctlTcflsh = unix.TIOCFLUSH
|
||||||
|
|
||||||
|
func toTermiosSpeedType(speed uint32) int32 {
|
||||||
|
return int32(speed)
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
//
|
//
|
||||||
|
|
||||||
// +build linux darwin freebsd
|
// +build linux darwin freebsd openbsd
|
||||||
|
|
||||||
package serial // import "go.bug.st/serial.v1"
|
package serial // import "go.bug.st/serial.v1"
|
||||||
|
|
||||||
@@ -252,8 +252,8 @@ func setTermSettingsBaudrate(speed int, settings *unix.Termios) error {
|
|||||||
}
|
}
|
||||||
// set new baudrate
|
// set new baudrate
|
||||||
settings.Cflag |= baudrate
|
settings.Cflag |= baudrate
|
||||||
settings.Ispeed = baudrate
|
settings.Ispeed = toTermiosSpeedType(baudrate)
|
||||||
settings.Ospeed = baudrate
|
settings.Ospeed = toTermiosSpeedType(baudrate)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
9
syscall_openbsd.go
Normal file
9
syscall_openbsd.go
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//
|
||||||
|
// Copyright 2014-2017 Cristian Maglie. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
//
|
||||||
|
|
||||||
|
package serial // import "go.bug.st/serial.v1"
|
||||||
|
|
||||||
|
//sys ioctl(fd int, req uint64, data uintptr) (err error)
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
//
|
//
|
||||||
|
|
||||||
// +build linux darwin freebsd
|
// +build linux darwin freebsd openbsd
|
||||||
|
|
||||||
package unixutils // import "go.bug.st/serial.v1/unixutils"
|
package unixutils // import "go.bug.st/serial.v1/unixutils"
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
//
|
//
|
||||||
|
|
||||||
// +build linux darwin freebsd
|
// +build linux darwin freebsd openbsd
|
||||||
|
|
||||||
package unixutils // "go.bug.st/serial.v1/unixutils"
|
package unixutils // "go.bug.st/serial.v1/unixutils"
|
||||||
|
|
||||||
|
|||||||
21
zsyscall_openbsd.go
Normal file
21
zsyscall_openbsd.go
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// Copyright 2014-2017 Cristian Maglie. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
//
|
||||||
|
|
||||||
|
// This file is machine generated by the command:
|
||||||
|
// mksyscall.pl serial_openbsd.go
|
||||||
|
// The generated stub is modified to make it compile under the "serial" package
|
||||||
|
|
||||||
|
package serial // import "go.bug.st/serial.v1"
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
func ioctl(fd int, req uint64, data uintptr) (err error) {
|
||||||
|
_, _, e1 := syscall.Syscall(syscall.SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(data))
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user