-
Notifications
You must be signed in to change notification settings - Fork 4
Home
jsgf edited this page Sep 13, 2010
·
19 revisions
This is a set of heavily modified firmware for the Adafruit Industries Ice Tube Clock.
The internals are significantly different from the original firmware, but there are also a number of new user-visible features.
This is a great feature comparison chart
- Four selectable seconds display modes:
- Normal seconds display
- AM/PM display (US region)
- “Dial” display (show seconds to 10second resolution around edge of a display digit, blinking center segment)
- None – just a blinking dot
- Animated transitions between various screens (date/alarm/menu/etc)
- Time-based auto-dim: set “morning” and “evening” hours and brightnesses
- Alarm blinks brightness from min to max (even while snooze is active)
- Alarm every day or only on weekends or weekdays
- Animated transitions for moving around menu and other displays
- Selectable snooze time
- Don’t show leading ‘0’ on hours (in US region) or days
- Drift correction
Work in progress:
- Auto-detection of lightsensor to enable auto-dim functionality
- Improved/simplified drift correction
Todo:
- multiple alarms
- selectable alarm tones
- 2-deep menus
The internals have been considerably changed:
-
Central button state machine to handle debounce and repeat (avoiding a pile of repeated code on every button-read)
- Incorporates “debounce crash” fix
- Table-driven menu display
- New menus are just a new table
- All time/date display reuses the menu display code
- All “application” logic moved to main loop
- No display updates from interrupt routines
- Double-buffered display updates, to allow for transitions
- New display buffer is built up, then a transition updates the actual display
- Much smaller code size (9.5k program size for baseline; 8.5k with new features; data size also much smaller)