This release focuses on two areas: the MAX7219 driver, and the boop sensor.
MAX7219 Driver
- The MAX7219 driver now remembers which rows on which panels have been updated, and only updates those that have changed. Otherwise, it sends a
NOP
instruction to the panels. There is an option to override this with a compile flag. - The driver now sets appropriate GPIO drive strengths and slew rates to minimize glitching along the display chain.
Note: This assumes that you have connected the
CLK
line to the approximate middle of the chain. I was getting weird issues when I had it at the end, and this solved them.
Boop Sensor
- The boop sensor now maintains a record of the minimum recorded position value over the past few seconds. If the current sensor reading is above this value by some threshold, it now detects that it's booped. This should enable the boop sensor to work reliably in varying light conditions.
- The visor detection feature is now deactivated. It wasn't tuned properly, and was a weak link that could lead to failure at a convention, so it has been deactivated for this con.
- The auto-brightness EMA coefficient has been tuned a bit, to account for the slower sample rate of the sensor. The minimum brightness has also been changed from 0 to 2, to provide a reasonable baseline brightness for most indoor conditions.