embd icon indicating copy to clipboard operation
embd copied to clipboard

Give rpi some time to link digital pin property

Open wujiang opened this issue 10 years ago • 1 comments

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

wujiang avatar Jan 21 '16 20:01 wujiang

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.

tve avatar Aug 27 '16 21:08 tve