Skip to content
Discussion options

You must be logged in to vote

Thanks to the examples kindly provided by @robert-hh, I got something working well on a Pico W. The driver is here, and uses two state machines:

  • The first one (sm0) reports the low pulses durations out of the TSic.
  • The second state machine (sm1) raises an IRQ when it detects a high pulse longer than ~5 ms, which only happens in between temperature readings.
  • The callback to that IRQ starts a DMA transfer which will copy the next twenty pulse durations reported by sm0 and write them to a buffer array dmabuf. It also schedules the decoding of dmabuf into a temperature reading

Any comments or suggestions for improvements are welcome, and thanks again to @robert-hh.

Update: Due to #8431, the…

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
1 reply
@mdaeron
Comment options

Comment options

You must be logged in to vote
0 replies
Answer selected by mdaeron
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants