From 789bbbd89f26e94a59d3e957d3928336f20d47a6 Mon Sep 17 00:00:00 2001 From: Jason Del Ponte <961963+jasdel@users.noreply.github.com> Date: Thu, 8 Dec 2022 17:15:27 -0800 Subject: [PATCH] Update DHT22 receive to use runtime/interrupt Fixes #483 by updating the DHT22 device to use runtime/interrupt instead of machine.UART1 for interrupt disabling while receiving signals from the device. --- dht/thermometer.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dht/thermometer.go b/dht/thermometer.go index 336cbbe..4718140 100644 --- a/dht/thermometer.go +++ b/dht/thermometer.go @@ -11,6 +11,7 @@ package dht // import "tinygo.org/x/drivers/dht" import ( "machine" + "runtime/interrupt" "time" ) @@ -160,8 +161,8 @@ func (t *device) read() error { // interrupts func receiveSignals(pin machine.Pin, result []counter) { i := uint8(0) - machine.UART1.Interrupt.Disable() - defer machine.UART1.Interrupt.Enable() + mask := interrupt.Disable() + defer interrupt.Restore(mask) for ; i < 40; i++ { result[i*2] = expectChange(pin, false) result[i*2+1] = expectChange(pin, true)