Skip to content

Diagnostics

Travis Goodspeed edited this page Dec 13, 2017 · 2 revisions

The GoodWatch firmware runs a self-test during startup, then again when you hold the 7 button in the Clock application. These tests are implemented by the post() function in main.c, which explains the error codes.

For more detailed information, or to test a board during flashing before attaching an LCD, you can run make dmesg in the firmware/ directory of the repository.

x270% make flash
../bin/cc430-bsl.py -r 38400 -etf goodwatch.hex
Setting baud rate to 38400
Mass erasing.
Writing goodwatch.hex as Intel hex.
100% |##############################################################|
x270% make dmesg
../bin/cc430-bsl.py -r 38400 -P goodwatch.hex -uD
Setting baud rate to 38400
Zeroed buffer for bad magic.

----
Initializing LCD rtc key but osc Initializing UART cp rad Power 0->0.
This watch has a radio.
Power 0->0.
Beginning POST.
Booted.


----
Initializing LCD rtc key but osc 
x270% 

In this trace, the watch first booted properly but almost booted a second time during the BSL initialization sequence. If you see the boot sequence getting stuck at osc, the 32kHz crystal or its pads on the CC430 are likely mis-soldered.

Clone this wiki locally