Skip to content

Driver allowing to read the state of a button

License

Notifications You must be signed in to change notification settings

raspberrypi-go-drivers/button

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Button

Go Reference golangci-lint Go Report Card License: MIT

This drivers allows interact with a button connected to the GPIO

Documentation

For full documentation, please visit Go Reference

Quick start

import (
	"fmt"

	"github.com/raspberrypi-go-drivers/button"
	"github.com/stianeikeland/go-rpio/v4"
	log "github.com/sirupsen/logrus"
)

func main() {
	err := rpio.Open()
	if err != nil {
		os.Exit(1)
	}
	defer rpio.Close()
	b1 := button.NewButton(17)
	if err := b1.EnableEventDetection(); err != nil {
		log.WithField("error", err).Error("impossible to enable edge detection")
	}
	for event := range b1.EventChan {
		if event == button.Pressed {
			fmt.Println("Button pressed")
		} else if event == button.Released {
			fmt.Println("Button released")
		}
	}
}

Raspberry Pi compatibility

This driver has has only been tested on an Raspberry Pi Zero WH but should work well on every Raspberry Pi

License

MIT License


Special thanks to @stianeikeland

This driver is based on his work in stianeikeland/go-rpio