func dance(pin gpio.Pin, ctrlChan chan bool) { enabled := false for { select { case val := <-ctrlChan: fmt.Printf("dancing? %+v\n", val) enabled = val default: if enabled { pin.Set() time.Sleep(500 * time.Millisecond) pin.Clear() time.Sleep(500 * time.Millisecond) } } } }