示例#1
0
文件: led.go 项目: opendoor-labs/gong
func main() {
	flag.Parse()

	if err := embd.InitLED(); err != nil {
		panic(err)
	}
	defer embd.CloseLED()

	led, err := embd.NewLED(3)
	if err != nil {
		panic(err)
	}
	defer func() {
		led.Off()
		led.Close()
	}()

	quit := make(chan os.Signal, 1)
	signal.Notify(quit, os.Interrupt, os.Kill)
	defer signal.Stop(quit)

	for {
		select {
		case <-time.After(250 * time.Millisecond):
			if err := led.Toggle(); err != nil {
				panic(err)
			}
			fmt.Println("Toggled")
		case <-quit:
			return
		}
	}
}
示例#2
0
func main() {
	flag.Parse()

	panicIf(embd.InitLED())
	defer embd.CloseLED()

	led, err := embd.NewLED(ledToBlink())
	panicIf(err)
	defer led.Off()

	quit := make(chan os.Signal, 1)
	signal.Notify(quit, os.Interrupt, os.Kill)
	defer signal.Stop(quit)

	for {
		select {
		case <-time.After(200 * time.Millisecond):
			panicIf(led.Toggle())
		case <-quit:
			return
		}
	}
}