Commit Graph

24 Commits

Author SHA1 Message Date
Markus Koch 82614c65d7 fw: Implement charging indicator 2020-08-09 12:14:21 +02:00
Markus Koch 66031c1389 fw: Adapt SBCMON to new hardware 2020-08-08 19:20:24 +02:00
Markus Koch 8fec7fbc8b fw: Fix rotary input
Accidentally disabled pull-ups instead of enabling them.
2020-08-08 17:27:49 +02:00
Markus Koch 577ba83a58 fw: Render display immediately after the last byte has been received 2020-08-08 16:54:51 +02:00
Markus Koch 87b3bf280f fw: Adapt I/O pins to new hardware 2020-08-08 16:54:23 +02:00
Markus Koch c6ff3c4923 fw: Add proper battery level thresholds 2020-08-08 16:53:48 +02:00
Markus Koch cec6bd2c0b des: Do not wait for SBC at boot
Waiting here may cause the controller to "freeze" in an
active state, draining the battery.
2020-07-31 20:49:40 +02:00
Markus Koch 1b1d3a14d6 fw: Invert polarity of SBCMON pin 2020-07-31 19:18:26 +02:00
Markus Koch 6ae88b0101 fw: Implement SBC controls 2020-07-31 19:07:11 +02:00
Markus Koch a396052487 fw: Implement power-on battery check 2020-07-31 18:23:58 +02:00
Markus Koch b4cfb40bb7 fw: Fix battery voltage calculation 2020-07-31 18:23:39 +02:00
Markus Koch 0e5e87af7c fw: Export post() PM function 2020-07-30 21:42:09 +02:00
Markus Koch eed5435335 fw: Implement main loop scheduler 2020-07-30 21:41:50 +02:00
Markus Koch e4afc61eba fw: Remove unused variable 2020-07-30 21:41:32 +02:00
Markus Koch 86b6b0897a fw: Fix debouncing for rotary encoder 2020-07-30 21:41:22 +02:00
Markus Koch ba069861ff fw: Implement better battery voltage monitoring 2020-07-30 21:40:57 +02:00
Markus Koch e26471381a fw: Implement power management 2020-07-30 20:05:09 +02:00
Markus Koch 9e9e2ff5c4 fw: Implement battery voltage readout 2020-07-30 17:11:48 +02:00
Markus Koch 475c9cdd4a fw: Fix noisy picture?
Had noise artifacts on the OLED display... and for some reason,
this commit fixes it. But, I mean, WTF?!
2020-07-30 16:23:23 +02:00
Markus Koch c618e058dd Return switch and decoder values over SPI 2020-07-28 21:54:20 +02:00
Markus Koch 09bc6979e9 Implement switches and rotary encoder 2020-07-27 21:39:29 +02:00
Markus Koch f71c65106f fw: Only update display if a full frame was received
Sometimes, the RPi fails to send out a message in time, leading
to two, back-to-back SPI transactions. The beginning of the second
is then lost in the long lcd_display() call. By applying this
patch, we now miss the incomplete frame entirely, but at least we
don't display garbage on the screen. Just looks like stutter.

The real solution would be to fix in on the Linux / Python side,
but this workaround is better than nothing for now.
2020-07-19 21:20:30 +02:00
Markus Koch 633d2d0fe2 fw: Implement display output 2020-07-19 18:40:44 +02:00
Markus Koch 61a1ae5dc8 Add firmware template 2020-07-11 12:41:08 +02:00