finding a bug

This commit is contained in:
Daniel Ledda
2020-10-31 16:09:15 +01:00
parent 07f9503dd1
commit 97a1f0ade8

12
main.go
View File

@@ -38,8 +38,7 @@ func main() {
}
defer gpio.Close()
pinNumber := gpio.GPIO4
pin := gpio.NewPin(pinNumber)
pin := gpio.NewPin(gpio.GPIO4)
dhtData, err := readDataFromDHT(pin)
if err != nil {
fmt.Println(fmt.Sprintf("Bad read! Reason: %s!", err.Error()))
@@ -57,15 +56,18 @@ func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) {
pin.Output()
time.Sleep(1100 * time.Microsecond)
pin.Input()
time.Sleep(40 * time.Microsecond)
time.Sleep(30 * time.Microsecond)
// Wait for high low signal
if cyclesForReading(pin, gpio.Low) == Timeout {
cyclesLo := cyclesForReading(pin, gpio.Low)
if cyclesLo == Timeout {
return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "low"))
}
if cyclesForReading(pin, gpio.High) == Timeout {
cyclesHi := cyclesForReading(pin, gpio.High)
if cyclesHi == Timeout {
return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "high"))
}
pulsesAsCycles := readPulsesAsCycles(pin)
fmt.Printf("lo %v, hi %v", cyclesLo, cyclesHi)
receivedInput, err := storeCycleCountsAsBinarySequence(&pulsesAsCycles)
if err != nil {
return [5]byte{}, err