40 lines
452 B
Go
40 lines
452 B
Go
package PinControlService
|
|
|
|
type Mode uint8
|
|
type State uint8
|
|
type Pull uint8
|
|
type Edge uint8
|
|
|
|
type HardwarePinInterface interface {
|
|
Toggle()
|
|
High()
|
|
Low()
|
|
Input()
|
|
Output()
|
|
Detect(Edge)
|
|
PullUp()
|
|
PullDown()
|
|
PullOff()
|
|
Read() State
|
|
EdgeDetected() bool
|
|
}
|
|
|
|
const (
|
|
ModeInput Mode = iota
|
|
ModeOutput
|
|
ModeClock
|
|
ModePwm
|
|
)
|
|
|
|
const (
|
|
LowState State = iota
|
|
HighState
|
|
)
|
|
|
|
const (
|
|
NoEdge Edge = iota
|
|
RiseEdge
|
|
FallEdge
|
|
AnyEdge = RiseEdge | FallEdge
|
|
)
|