summaryrefslogtreecommitdiff
path: root/software/vendor/go.bug.st/serial/serial_darwin_64.go
blob: d1ae7c4a1b24bfafc1c90799554ba4391bdfe08c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//
// Copyright 2014-2023 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.
//

//go:build darwin && (amd64 || arm64)

package serial

import "golang.org/x/sys/unix"

// termios manipulation functions

var baudrateMap = map[int]uint64{
	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,
}

var databitsMap = map[int]uint64{
	0: unix.CS8, // Default to 8 bits
	5: unix.CS5,
	6: unix.CS6,
	7: unix.CS7,
	8: unix.CS8,
}

const tcCMSPAR uint64 = 0 // may be CMSPAR or PAREXT
const tcIUCLC uint64 = 0

const tcCCTS_OFLOW uint64 = 0x00010000
const tcCRTS_IFLOW uint64 = 0x00020000

const tcCRTSCTS uint64 = (tcCCTS_OFLOW | tcCRTS_IFLOW)

func toTermiosSpeedType(speed uint64) uint64 {
	return speed
}