package plotter import ( "codeisalie/gono/pkg/comm" "codeisalie/gono/pkg/plotter" "fmt" "time" ) // Run ... func Run(c *comm.Comm) { svg := plotter.SvgParser{} svg.Parse("drawing.svg", c.Cfg) // for _, path := range svg.Paths { // fmt.Printf("%+v\n", path) // for _, point := range path.List { // fmt.Printf("-- %+v\n", point) // } // } // svg.Paths fmt.Println(svg.Root.ViewBox) c.Send(comm.EnableMotors) c.Send(comm.GetReportPosition) for _, path := range svg.Paths { fmt.Printf("%+v\n", path) // if len(path.List) <= 1 { // continue // } c.Send(comm.SetPenUp) for idx, point := range path.List { c.Send(comm.DrawLine, point.X, point.Y, 1) if idx == 0 && len(path.List) > 1 { c.Send(comm.SetPenDown) } } c.Send(comm.SetPenUp) } c.Send(comm.DrawLine, c.Cfg.DrawingArea.Home.X, c.Cfg.DrawingArea.Home.Y, 1) c.Send(comm.DisableMotors) time.Sleep(2 * time.Second) }