Hmm... I actually looked at that .On method. It does in fact call Subscribe(), then spawns a go routine. Strange, so maybe it is a device specific issue.
Maybe try to move those .On handlers before the work := func() block, just in case... On Monday, 12 February 2018 00:41:58 UTC-5, Silviu Capota Mera wrote: > > Hi Curtis, > > I used to play a bit with a Beaglebone Black a few years ago, but it's now > gathering dust at my father's place. I really liked it at the time. > > Can you double check that you are correctly using your *work := func() > ...* construct ? > > Here's what that documentation of the gobot.NewRobot initializer says at: > https://github.com/hybridgroup/gobot/blob/master/robot.go#L104 > "func(): The work routine the robot will execute once all devices and > connections have been initialized and started" > > Could it be that your two *"button.On(...)"* handlers are actually only > executed once, then they are lost for ever ? > > Maybe you can try using the Subscribe method ? > https://github.com/hybridgroup/gobot/blob/master/eventer.go#L108 > > e,g, *myEventsChan := button.Subscribe()* (just before the *work := > func()* block , then launch a go routing with that channel as a parameter > ? ) > > Just a thought > > Cheers, > Silviu > > > On Sunday, 11 February 2018 23:21:57 UTC-5, Curtis Paul wrote: >> >> Anybody out there have any experience with BeagleBone Black and gobot? >> I need some advice on how I could go about troubleshooting this...or if >> you know what the issue is, etc... >> >> I have a very simple Gobot/GPIO Button circuit. >> It should show output when button is pushed and then again when released, >> but it doesn't do anything. >> It's not working. >> >> Running image BBB-blank-debian-9.3-iot-armhf-2018-02-04-4gb.img.xz. (I >> also tried the version posted on the BeagleBone site) >> Modified /boot/uEnv.txt according to instructions at >> https://gobot.io/documentation/platforms/beaglebone. >> >> I can see all the gpio's in /sys/class/gpio. >> >> I'm using gpio67, so I cat the value file and see 0 when button is not >> pushed, then see 1 when button is pushed. I know my circuit is good. >> >> This is my gobot code for interacting with the button: >> FYI...P8_8 is gpio67 >> >> package main >> >> import ( >> "fmt" >> >> "gobot.io/x/gobot" >> "gobot.io/x/gobot/drivers/gpio" >> "gobot.io/x/gobot/platforms/beaglebone" >> ) >> >> func main() { >> beagleboneAdaptor := beaglebone.NewAdaptor() >> button := gpio.NewButtonDriver(beagleboneAdaptor, "P8_8") >> >> work := func() { >> button.On(gpio.ButtonPush, func(data interface{}) { >> fmt.Println("button pressed") >> }) >> >> button.On(gpio.ButtonRelease, func(data interface{}) { >> fmt.Println("button released") >> }) >> } >> >> robot := gobot.NewRobot("buttonBot", >> []gobot.Connection{beagleboneAdaptor}, >> []gobot.Device{button}, >> work, >> ) >> >> robot.Start() >> } >> >> >> This is what it looks like when the code runs. No errors, etc... >> Push the button and don't get any of the Println's. >> >> 2018/02/12 04:14:03 Initializing connections... >> 2018/02/12 04:14:03 Initializing connection BeagleboneBlack-65FB3BAE ... >> 2018/02/12 04:14:03 Initializing devices... >> 2018/02/12 04:14:03 Initializing device Button-51E1127C ... >> 2018/02/12 04:14:03 Robot buttonBot initialized. >> 2018/02/12 04:14:03 Starting Robot buttonBot ... >> 2018/02/12 04:14:03 Starting connections... >> 2018/02/12 04:14:03 Starting connection BeagleboneBlack-65FB3BAE... >> 2018/02/12 04:14:03 Starting devices... >> 2018/02/12 04:14:03 Starting device Button-51E1127C on pin P8_8... >> 2018/02/12 04:14:03 Starting work... >> >> I should be seeing "button pressed" when I press the P8_8 button....but I >> don't see anything. >> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.