summaryrefslogtreecommitdiff
path: root/servo/instructions.go
diff options
context:
space:
mode:
Diffstat (limited to 'servo/instructions.go')
-rw-r--r--servo/instructions.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/servo/instructions.go b/servo/instructions.go
new file mode 100644
index 0000000..1465827
--- /dev/null
+++ b/servo/instructions.go
@@ -0,0 +1,60 @@
+// +build !windows
+
+/* SPDX-License-Identifier: MIT
+ *
+ * Copyright (C) 2020 jet tsang zeon-git. All Rights Reserved.
+ */
+
+package servo
+
+//go:generate stringer -type=InstName
+type InstName int
+type InstByte byte
+type Access bool
+
+type InstructionMap map[InstName]*Instruction
+
+type Instruction struct {
+ //
+ InstByte byte
+
+ Length int
+
+ Access Access
+ // Min int
+ // Max int
+}
+
+const (
+ MoveTimeWrite InstName = iota
+ MoveTimeRead
+ MoveTimeWaitWrite
+ MoveTimeWaitRead
+ MoveStart
+ MoveStop
+ IDWrite
+ IDRead
+ AngleOffsetAdjust
+ AngleOffsetWrite
+ AngleOffsetRead
+ AngleLimitWrite
+ AngleLimitRead
+ VoltageLimitWrite
+ VoltageLimitRead
+ TemperatureMaxLimitWrite
+ TemperatureMaxLimitRead
+ TemperatureRead
+ VoltageRead
+ PositionRead
+ MotorModeWrite
+ MotorModeRead
+ LoadOrUnloadWrite
+ LoadOrUnloadRead
+ LEDControlWrite
+ LEDControlRead
+ LEDErrorWrite
+ LEDErrorRead
+
+ RO Access = false
+ RW Access = true
+)