diff options
author | jet tsang zeon-git <zeon-git@jettsang.com> | 2020-08-05 15:40:16 +0800 |
---|---|---|
committer | jet tsang zeon-git <zeon-git@jettsang.com> | 2020-08-05 15:40:16 +0800 |
commit | fd22d4ed6abbf234995039085031dd6069786159 (patch) | |
tree | b73fbc1c159d0b106baddb00775f824ed172bb66 | |
parent | implementation instructions for lx servo (diff) | |
download | lobot-fd22d4ed6abbf234995039085031dd6069786159.tar.gz lobot-fd22d4ed6abbf234995039085031dd6069786159.tar.bz2 lobot-fd22d4ed6abbf234995039085031dd6069786159.zip |
Add set-position example.
Signed-off-by: jet tsang zeon-git <zeon-git@jettsang.com>
-rw-r--r-- | example/set-position/set-position.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/example/set-position/set-position.go b/example/set-position/set-position.go new file mode 100644 index 0000000..a0b2f47 --- /dev/null +++ b/example/set-position/set-position.go @@ -0,0 +1,54 @@ +package main + +import ( + "flag" + "fmt" + "log" + "os" + + "git.jettsang.com/drivers/lobot/network" + "git.jettsang.com/drivers/lobot/servo" + "git.jettsang.com/drivers/lobot/servo/lx" + "github.com/jacobsa/go-serial/serial" +) + +var ( + portName = flag.String("port", "/dev/tty.usbserial-A9ITPZVR", "the serial port path") + servoID = flag.Int("id", 1, "the ID of the servo to move") + position = flag.Int("position", 512, "the goal position to set") + debug = flag.Bool("debug", false, "show serial traffic") +) + +func main() { + flag.Parse() + + options := serial.OpenOptions{ + PortName: *portName, + BaudRate: 115200, + DataBits: 8, + StopBits: 1, + MinimumReadSize: 0, + InterCharacterTimeout: 100, + } + + serial, err := serial.Open(options) + if err != nil { + fmt.Printf("open error: %s\n", err) + os.Exit(1) + } + + network := network.New(serial) + if *debug { + network.Logger = log.New(os.Stderr, "", log.LstdFlags) + } + + network.Flush() + + var servo *servo.Servo + servo, err = lx.New(network, *servoID) + err = servo.MoveTimeWrite(uint16(*position), 500) + if err != nil { + fmt.Printf("move error: %s\n", err) + os.Exit(1) + } +} |