예제 #1
0
파일: detect.go 프로젝트: bgentry/embd
func detect(c *cli.Context) {
	host, rev, err := embd.DetectHost()
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	fmt.Printf("detected host %v (rev %#x)\n", host, rev)
}
예제 #2
0
파일: gpiodetect.go 프로젝트: bgentry/embd
func main() {
	flag.Parse()

	h, _, err := embd.DetectHost()
	if err != nil {
		return
	}

	var pinNo interface{}

	switch h {
	case embd.HostBBB:
		pinNo = "P9_31"
	case embd.HostRPi:
		pinNo = 10
	default:
		panic("host not supported (yet :P)")
	}

	if err := embd.InitGPIO(); err != nil {
		panic(err)
	}
	defer embd.CloseGPIO()

	led, err := embd.NewDigitalPin(pinNo)
	if err != nil {
		panic(err)
	}
	defer led.Close()

	if err := led.SetDirection(embd.Out); err != nil {
		panic(err)
	}
	if err := led.Write(embd.High); err != nil {
		panic(err)
	}

	time.Sleep(1 * time.Second)

	if err := led.SetDirection(embd.In); err != nil {
		panic(err)
	}
}