Use a dirty flag to only update EPD when something has changed.
Makes the rotary use more friendly. Still not perfect as we miss all event
during a refresh... The less refresh, the less lost events...
Make config loop frequency higher (2s -> 100ms).
Use simple dirty bool to skip refresh when nothing has changed. Currently
handles both epd and leds, but should be split. LEDs are a bit longer to refresh
and can overflow the queue (1-sized).
Config now cycles between hour, minute and brightness.
Leds data now wrapped in a struct with everything needed inside.
Re-enable partial refresh by setting the refresh count to 200 until a full
refresh must be done.
Nearly possible to enable/disable epd,bme and rtc parts.
gpiod ISR still need to be commented, so not only via cargo features.
Rewired rotary switch from PB7 to PC4 as it's shorting the board. Most probably
the pin can't be used like this on the stellaris board (should better check).
Reorder task in priority order for easier read.
refresh_time does not always refresh the EPD, avoiding some priority problem
that led to uncorrect behavior.
Refactor for RTIC 0.6.
Change tasks priorities as this is most certainly the underlying problem.
Party drop support for bme680 crate, only use drogue's crate now.
Rotary encoder+switch are not monitor when state is not Configuration(_).
When entering configuration mode, start a polling task for both rotary encoder
and switch (no more interrupt here).
Toggle switch is still monitored using interrupt: a debounce task is started
when an IT is raised and the task is not already running/queued.
Strange behavior observed on EPD, changing pin to avoid problems with using a
GPIO port also used with interrupt. Should not change anything... and it does
not change anything.
The sensors becomes unresponsive after some time (can be quick, can be very
long) until a reset is done. Using a soft reset seems to be working, but most
likely there's something incorrect elsewhere.
Looks like my prototype has something wrong with bme680.
Sensor stops reponding sometimes and a full hw reset is needed.
Handle errors and count them (until a reset is done...)
Config can cycle hour/minute change by pressing rotary.
Going back from config to normal using toggle saves new time in RTC.
Leave out partial refresh of EPD for now.