From 91489f1134568813fd5fac1e651d21cfd91e4ccd Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 25 Sep 2016 14:30:18 +0200 Subject: wip --- plot.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'plot.go') diff --git a/plot.go b/plot.go index 7993885..d939b7f 100644 --- a/plot.go +++ b/plot.go @@ -2,9 +2,26 @@ package robo import ( "fmt" + "log" "strings" ) +type Robo struct { + dev Device +} + +func NewRobo() (Robo, error) { + dev, err := Open() + if err != nil { + return Robo{}, err + } + return Robo{dev}, nil +} + +func (r Robo) Close() error { + return r.dev.Close() +} + type Plotter interface { Plot() []byte } @@ -39,3 +56,20 @@ func CuttingArea(p Point) string { return "FU" + p.String() } //func Calibration(p Point) string { return "TB72" + p.String() } func Curve(a int, p ...Point) string { return fmt.Sprintf("Y%d,%v", a, Path(p)) } + +func (r Robo) Version() string { + r.dev.WriteString("FG") + resp, _ := r.dev.ReadString() + return resp +} + +func (r Robo) Init() { + r.dev.Command([]byte{4}) +} + +func (r Robo) Ready() bool { + r.dev.Command([]byte{5}) + resp, _ := r.dev.ReadString() + log.Printf("ready %q", resp) + return resp == "0" +} -- cgit v1.2.3