From 148524f55bf464a28d3f1ff079f31a06c5d19c0c Mon Sep 17 00:00:00 2001 From: Daniel Ledda Date: Sat, 31 Oct 2020 15:33:27 +0100 Subject: [PATCH] working now --- main.go | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index b944944..9c7414f 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "errors" "github.com/warthog618/gpio" "math" "time" @@ -62,14 +63,12 @@ func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) { time.Sleep(40 * time.Microsecond) // Get Data - time.Sleep(80 * time.Microsecond) - time.Sleep(80 * time.Microsecond) - //if cyclesForReading(pin, gpio.Low) == Timeout { - // return receivedInput, errors.New(fmt.Sprintf(TimeoutErrInitial, "low")) - //} - //if cyclesForReading(pin, gpio.High) == Timeout { - // return receivedInput, errors.New(fmt.Sprintf(TimeoutErrInitial, "high")) - //} + if cyclesForReading(pin, gpio.Low) == Timeout { + return receivedInput, errors.New(fmt.Sprintf(TimeoutErrInitial, "low")) + } + if cyclesForReading(pin, gpio.High) == Timeout { + return receivedInput, errors.New(fmt.Sprintf(TimeoutErrInitial, "high")) + } // Store cycle number for each low and high pulse cycles := [80]int{} @@ -90,9 +89,9 @@ func storeCycleCountsAsBinarySequence(store *[5]byte, cycles *[80]int) error { for i := 0; i < 40; i++ { lowCycles := cycles[2 * i] highCycles := cycles[2 * i + 1] - //if (lowCycles == Timeout) || (highCycles == Timeout) { - // return errors.New("Timed out waiting for sensor pulse!") - //} + if (lowCycles == Timeout) || (highCycles == Timeout) { + return errors.New("Timed out waiting for sensor pulse!") + } store[i / 8] <<= 1 if highCycles > lowCycles { store[i / 8] |= 1