gobot.io/x/gobot@v1.16.0/examples/firmata_wiichuck.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 /* 6 How to run 7 Pass serial port to use as the first param: 8 9 go run examples/firmata_wiichuck.go /dev/ttyACM0 10 */ 11 12 package main 13 14 import ( 15 "fmt" 16 "os" 17 18 "gobot.io/x/gobot" 19 "gobot.io/x/gobot/drivers/i2c" 20 "gobot.io/x/gobot/platforms/firmata" 21 ) 22 23 func main() { 24 firmataAdaptor := firmata.NewAdaptor(os.Args[1]) 25 wiichuck := i2c.NewWiichuckDriver(firmataAdaptor) 26 27 work := func() { 28 wiichuck.On(wiichuck.Event("joystick"), func(data interface{}) { 29 fmt.Println("joystick", data) 30 }) 31 32 wiichuck.On(wiichuck.Event("c"), func(data interface{}) { 33 fmt.Println("c") 34 }) 35 36 wiichuck.On(wiichuck.Event("z"), func(data interface{}) { 37 fmt.Println("z") 38 }) 39 40 wiichuck.On(wiichuck.Event("error"), func(data interface{}) { 41 fmt.Println("Wiichuck error:", data) 42 }) 43 } 44 45 robot := gobot.NewRobot("chuck", 46 []gobot.Connection{firmataAdaptor}, 47 []gobot.Device{wiichuck}, 48 work, 49 ) 50 51 robot.Start() 52 }