finding a bug
This commit is contained in:
12
main.go
12
main.go
@@ -38,8 +38,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer gpio.Close()
|
defer gpio.Close()
|
||||||
|
|
||||||
pinNumber := gpio.GPIO4
|
pin := gpio.NewPin(gpio.GPIO4)
|
||||||
pin := gpio.NewPin(pinNumber)
|
|
||||||
dhtData, err := readDataFromDHT(pin)
|
dhtData, err := readDataFromDHT(pin)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(fmt.Sprintf("Bad read! Reason: %s!", err.Error()))
|
fmt.Println(fmt.Sprintf("Bad read! Reason: %s!", err.Error()))
|
||||||
@@ -57,15 +56,18 @@ func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) {
|
|||||||
pin.Output()
|
pin.Output()
|
||||||
time.Sleep(1100 * time.Microsecond)
|
time.Sleep(1100 * time.Microsecond)
|
||||||
pin.Input()
|
pin.Input()
|
||||||
time.Sleep(40 * time.Microsecond)
|
time.Sleep(30 * time.Microsecond)
|
||||||
// Wait for high low signal
|
// 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"))
|
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"))
|
return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "high"))
|
||||||
}
|
}
|
||||||
pulsesAsCycles := readPulsesAsCycles(pin)
|
pulsesAsCycles := readPulsesAsCycles(pin)
|
||||||
|
fmt.Printf("lo %v, hi %v", cyclesLo, cyclesHi)
|
||||||
receivedInput, err := storeCycleCountsAsBinarySequence(&pulsesAsCycles)
|
receivedInput, err := storeCycleCountsAsBinarySequence(&pulsesAsCycles)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return [5]byte{}, err
|
return [5]byte{}, err
|
||||||
|
|||||||
Reference in New Issue
Block a user