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
|
package lx
import (
"io"
"git.jettsang.com/drivers/lobot/protocal"
"git.jettsang.com/drivers/lobot/servo"
)
var Instructions servo.InstructionMap
func init() {
Instructions = servo.InstructionMap{
servo.MoveTimeWrite: {1, 4, servo.RW},
servo.MoveTimeRead: {2, 0, servo.RO},
servo.MoveTimeWaitWrite: {7, 4, servo.RW},
servo.MoveTimeWaitRead: {8, 0, servo.RO},
servo.MoveStart: {11, 0, servo.RW},
servo.MoveStop: {12, 0, servo.RW},
servo.IDWrite: {13, 1, servo.RW},
servo.IDRead: {14, 0, servo.RO},
servo.AngleOffsetAdjust: {17, 1, servo.RW},
servo.AngleOffsetWrite: {18, 0, servo.RW},
servo.AngleOffsetRead: {19, 0, servo.RO},
servo.AngleLimitWrite: {20, 4, servo.RW},
servo.AngleLimitRead: {21, 0, servo.RO},
servo.VoltageLimitWrite: {22, 4, servo.RW},
servo.VoltageLimitRead: {23, 0, servo.RO},
servo.TemperatureMaxLimitWrite: {24, 1, servo.RW},
servo.TemperatureMaxLimitRead: {25, 0, servo.RO},
servo.TemperatureRead: {26, 0, servo.RO},
servo.VoltageRead: {27, 0, servo.RO},
servo.PositionRead: {28, 0, servo.RO},
servo.MotorModeWrite: {29, 4, servo.RW},
servo.MotorModeRead: {30, 0, servo.RO},
servo.LoadOrUnloadWrite: {31, 1, servo.RW},
servo.LoadOrUnloadRead: {32, 0, servo.RO},
servo.LEDControlWrite: {33, 1, servo.RW},
servo.LEDControlRead: {34, 0, servo.RO},
servo.LEDErrorWrite: {35, 1, servo.RW},
servo.LEDErrorRead: {36, 0, servo.RO},
}
}
// New returns a new LX servo with the given ID.
func New(network io.ReadWriter, ID int) (*servo.Servo, error) {
return servo.New(protocal.New(network), Instructions, ID), nil
}
|