embd
embd copied to clipboard
Give rpi some time to link digital pin property
It looks like Raspberry pi needs some time to get a digital pin link properly after it is being exported.
Sample code to run:
package main
import (
"fmt"
"github.com/kidoman/embd"
_ "github.com/kidoman/embd/host/rpi"
)
func main() {
defer embd.CloseGPIO()
fmt.Println(embd.SetDirection(10, embd.Out))
}
- before the change, the output is
open /sys/class/gpio/gpio10/direction: permission denied - after the change, the output is
<nil>
Close #52
IMHO the proper fix would not add a blind delay but use a shorter delay and check the permissions, and then loop until these change. Overall this sucks. Maybe we should add an explicit call to export a list of GPIO pins, this way they could all be exported and then it could wait for the permissions to all get fixed.