travisgoodspeed / goodwatch

Replacement board for Casio Calculator Watches using the CC430F6147
504 stars 55 forks source link

Recovery from Momentary Oscillator Faults #41

Closed travisgoodspeed closed 6 years ago

travisgoodspeed commented 6 years ago

Every now and then, by act of god or mistake of soldering, the low frequency crystal might fail to oscillate. The watch will automatically switch to the DCO, displaying the division symbol to indicate the fault. Running POST by holding the 7 button will display an error message to the same effect.

Often, the fault is recoverable, and the watch can be restored without a reboot. Close this issue when that behavior is implemented, so that the POST will fix an errant XT1 oscillator.

docprofsky commented 6 years ago

Should the POST function block indefinitely until it can recover oscillation, block for a limited time, or try once each time it is called?

travisgoodspeed commented 6 years ago

The current behavior is that it is called in a loop at startup, so that you will see that the fault exists before putting the watch in the case. After boot, when you press the 7 key, it only tests for as long as that key is held.

Now that we have dmesg logging, we can test these things are programming time, to better know the condition of a board before installing it in a watch.