goodwatch/firmware
2018-05-24 14:44:25 -04:00
..
apps RPN calculator now supports negative values. 2018-05-24 14:44:25 -04:00
libs Full alphabet in the Morse library. #46 2017-11-28 18:28:14 -05:00
.gitignore Full alphabet in the Morse library. #46 2017-11-28 18:28:14 -05:00
api.h clock: use first 7 digits for git hash 2018-05-17 11:38:09 -04:00
applist.c RPN Calculator is now a subapplication. 2018-04-23 18:27:49 -04:00
applist.h Initial implementation of a frequency counter from 410 to 470 MHz. #87 2018-04-20 16:33:26 -04:00
apps.c Fixes an uninitialized variable that caused the CC430F6147 watch to lock up during app_init(). #75 2018-04-20 22:29:16 -04:00
apps.h Functional OOK emulation example. #85 2018-04-05 15:32:05 -04:00
buzz.c some refinements to the alarm. This seems to be working well now. 2018-02-10 15:15:54 -05:00
buzz.h use Travis' buzz driver instead of mine, re-add alarm app to list 2018-02-10 12:28:12 -05:00
codeplug.c Functional VFO mode in Tuner applet. Close #51. 2018-04-15 18:21:30 -04:00
codeplug.h Functional VFO mode in Tuner applet. Close #51. 2018-04-15 18:21:30 -04:00
codeplug.txt Finishes codeplug support. Close #50. 2017-12-02 22:49:33 -05:00
configdefault.h RSSI app works, so long as you pass through Morse first. I don't know why. #49 2017-11-29 20:20:06 -05:00
configtemplate.h Emulation of the SET button is now disabled by default, may be enabled in config.h 2018-04-15 14:32:48 -04:00
configure Configuration script and template. 2017-11-28 18:29:52 -05:00
descriptor.c Beginnings of a module to parse the descriptor tables. We don't investigate the TLV yet, but it's enough to read the model number. #75 2018-04-21 14:04:00 -04:00
descriptor.h Beginnings of a module to parse the descriptor tables. We don't investigate the TLV yet, but it's enough to read the model number. #75 2018-04-21 14:04:00 -04:00
dmesg.c DMESG in the debug monitor. #55 2017-12-08 19:51:01 -05:00
dmesg.h DMESG in the debug monitor. #55 2017-12-08 19:51:01 -05:00
Doxyfile Remaining doxygen headers and Doxyfile. Close #39. 2017-11-14 14:07:10 -05:00
keypad.c Functional OOK emulation example. #85 2018-04-05 15:32:05 -04:00
keypad.h The RPN calculator now uses key interrupts rather than polling. Close #25. 2018-01-27 17:08:55 -05:00
lcd.c Recovers from an oscillator fault. Close #41. 2018-04-20 15:14:17 -04:00
lcd.h Remaining doxygen headers and Doxyfile. Close #39. 2017-11-14 14:07:10 -05:00
lcdtext.c RPN calculator now supports negative values. 2018-05-24 14:44:25 -04:00
lcdtext.h Shows RTCDOW when holding '9' in the clock app. #43 2017-11-15 21:33:13 -05:00
main.c Beginnings of a module to parse the descriptor tables. We don't investigate the TLV yet, but it's enough to read the model number. #75 2018-04-21 14:04:00 -04:00
Makefile first pass at bcd; why is __bcd_add_long undefined? 2018-05-19 19:24:23 -04:00
memory.x Dmesg can now be dumped by 'make dmesg'. Close #45. 2017-11-18 14:56:46 -05:00
monitor.c Added command to export random integers as per suggestion in #63 2018-01-28 14:36:40 -06:00
monitor.h Failed attempt at #56. 2017-12-10 12:27:40 -05:00
msp430.x Imported linker scripts, so we can force dmesg to a static address. #45 2017-11-18 14:29:58 -05:00
optim.c Cleanup of the new BCD/HEX conversion. 2018-05-24 14:17:51 -04:00
optim.h Cleanup of the new BCD/HEX conversion. 2018-05-24 14:17:51 -04:00
packet.c Functional OOK emulation example. #85 2018-04-05 15:32:05 -04:00
packet.h Beacon application works. First packets between devices! 2017-12-05 17:34:39 -05:00
periph.x Imported linker scripts, so we can force dmesg to a static address. #45 2017-11-18 14:29:58 -05:00
power.c Proper power management for the radio. #46 #44 2017-11-28 17:24:10 -05:00
power.h Power management and basics of the radio toward #44. 2017-11-16 12:53:12 -05:00
radio.c Functional OOK emulation example. #85 2018-04-05 15:32:05 -04:00
radio.h Functional OOK emulation example. #85 2018-04-05 15:32:05 -04:00
README.md README for the firmware directory. 2017-09-29 15:39:05 -04:00
rng.c Addressing #67 - RNG now has more uniform distribution 2018-02-12 01:57:10 +01:00
rng.h Cleanup to the new RNG, #63. 2018-01-27 14:50:28 -05:00
rtc.c Printf cut. 2018-04-23 17:38:22 -04:00
rtc.h Workaround for the RTC3 errata. Close #47. 2017-11-28 12:54:30 -05:00
rtcasm.h Workaround for the RTC3 errata. Close #47. 2017-11-28 12:54:30 -05:00
rtcasm.S Restores alignment to rtcasm.S. I think this closes #47, but I've thought that before. 2017-11-28 19:00:47 -05:00
sidebutton.c Emulation of the SET button is now disabled by default, may be enabled in config.h 2018-04-15 14:32:48 -04:00
sidebutton.h Remaining doxygen headers and Doxyfile. Close #39. 2017-11-14 14:07:10 -05:00
uart.c Failed attempt at #56. 2017-12-10 12:27:40 -05:00
uart.h Failed attempt at #56. 2017-12-10 12:27:40 -05:00
ucs.c Reduces 32kHz load capacitance. I believe it is now at the appropriate level. 2018-04-06 11:30:19 -04:00
ucs.h Proper UCS driver. Close #20. 2017-12-09 07:34:21 -05:00

Howdy y'all,

The GoodWatch firmware is in this directory. You will find user-level applications in the apps/ subdirectory, while *.c in the root directory contain low-level drivers.

To add your own application, for one of the smaller examples, such as stopwatch.c. Your app must provide functions for _init() (to run at startup), _draw() (to run every quarter-second for rendering), and _exit() which should just return 0 unless you need to intercept the Mode button, in which case it may return 1 to delay the exit. Add these three functions to a line of the apps[] structure in applist.h.

In general, we try not to over-abstract the hardware because we don't intend the design to be portable away from the CC430. Include <msp430.h> if you need to access the CC430's IO registers or "api.h" for all the standard functions of the GoodWatch firmware.

Cheers,

--Travis