dektronics / printalyzer-timer

F-Stop enlarging timer and print exposure meter
24 stars 6 forks source link

Connect TCA8418 reset signal to the MCU #73

Closed dkonigsberg closed 1 month ago

dkonigsberg commented 2 months ago

During all the work surrounding #72, it was discovered that the TCA8418 keypad IC sometimes comes up in a weird state. This usually happens if the device is turned off and on in quick succession, and results in the IC returning results that confuse the bootloader logic. The impact is a ~10s startup delay.

While there are many possible causes of the behavior, there is one simple fix that should lead to a more robust system. That fix is to give the MCU control over the TCA8418's reset signal, so it can explicitly reset the controller on bootloader and firmware startup. This way the keypad IC will always be in a clean and known state before being initialized, hopefully mitigating all sorts of possible startup issues.

The plan is to bodge this into the Rev E hardware, then implement it directly into the Rev F hardware.