RF input decoding using PICO PIO
The work on the F007 has now moved to another repository - https://github.com/peter-g-wilson/yaesa
The changes going to the yaesa repository are
- even more commonality for message and bit queues and also the bit-stream decoding
- added DS18B20 and one-wire
- added BME280
- some name changing
- moved most documentation to the readme and code
I had a fridge that kept freezing vegetables. It was interesting to see how bad the overshoot and undershoot of the controller was.
And why not monitor the freezer too. It had a much tighter controller.
The attic was getting extra loft insulation and I wondered how cold the water tank now got.
There is a water softener in the garage that didn't want to get too cold.
So I got 5 Ambient Weather F007T sensors with base station.
The base station was rubbish, invariably displaying 'HH', impossible temperatures and push button switches from the 1960's.
Then my youngest son inherited a Fine Offset WH1080 weather station from his grandfather ...
- PICO_PIO_F007T_WH1080.c has the CPU core 0 main entry point that calls the WH1080 and F007T timer and PIO initialisations and also has the core 1 entry point to handle the 2nd UART and the output of messages that have been received
- PICO_PIO_F007T_WH1080.pio has the two state machine programs - both feeding their FIFOs with data bits
- PICO_PIO_WH1080.c and PICO_PIO_F007T.c use repeating timer callbacks to read the PIO FIFOs and "parse" the data bits looking for their respective messages
- queues_for_msgs_and_bits.c has support routines for message and bit queues
- uart_IO.c has support routines for the 2nd UART where the message data is sent over RS232
- output_format.c prints to std output (1st UART) debug and statistics