finding a bug

This commit is contained in:
Daniel Ledda
2020-10-31 18:37:42 +01:00
parent 86eca4d41e
commit 2eb0d1271c

14
main.go
View File

@@ -66,6 +66,7 @@ func sendStartSignal(pin *gpio.Pin) {
} }
func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) { func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) {
cycles := [80]int{}
sendStartSignal(pin) sendStartSignal(pin)
if cyclesForReading(pin, gpio.Low) == Timeout { if cyclesForReading(pin, gpio.Low) == Timeout {
return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "low")) return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "low"))
@@ -73,8 +74,11 @@ func readDataFromDHT(pin *gpio.Pin) ([5]byte, error) {
if cyclesForReading(pin, gpio.High) == Timeout { if cyclesForReading(pin, gpio.High) == Timeout {
return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "high")) return [5]byte{}, errors.New(fmt.Sprintf(TimeoutErrInitial, "high"))
} }
pulsesAsCycles := readPulsesAsCycles(pin) for i := 0; i < 80; i += 2 {
receivedInput, err := storeCycleCountsAsBinarySequence(&pulsesAsCycles) cycles[i] = cyclesForReading(pin, gpio.Low)
cycles[i + 1] = cyclesForReading(pin, gpio.High)
}
receivedInput, err := storeCycleCountsAsBinarySequence(&cycles)
if err != nil { if err != nil {
return [5]byte{}, err return [5]byte{}, err
} }
@@ -93,11 +97,7 @@ func cyclesForReading(pin *gpio.Pin, level gpio.Level) int {
} }
func readPulsesAsCycles(pin *gpio.Pin) [80]int { func readPulsesAsCycles(pin *gpio.Pin) [80]int {
cycles := [80]int{}
for i := 0; i < 80; i += 2 {
cycles[i] = cyclesForReading(pin, gpio.Low)
cycles[i + 1] = cyclesForReading(pin, gpio.High)
}
return cycles return cycles
} }