Skip to content

Commit 12a0a48

Browse files
committed
Time blink fix, date (buggy), setup menu (buggy), EEPROM, setting cleanup, function prototypes, readme updates
1 parent 13c64ec commit 12a0a48

File tree

2 files changed

+249
-260
lines changed

2 files changed

+249
-260
lines changed

README.md

Lines changed: 23 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -2,79 +2,34 @@
22
Code for Arduino Nano in RLB Designs IN-12/17 clock v5.0
33
featuring timekeeping by DS1307 RTC and six digits multiplexed 3x2 via two SN74141 driver chips
44

5-
This is an alternate codebase that is very much in progress!
5+
**This is an alternate codebase that is very much in progress!** The instructions below are the goal; not all may work yet.
66

7-
## Current instructions (WIP)
7+
## Instructions
88

9-
**As of this commit:**
9+
_In these instructions, "Select" is the main pushbutton, and "Adjust" can be either a knob (rotary encoder) or a pair of up/down buttons (hold to set faster). Other variations may apply depending on the options selected in the code._
1010

11-
* Normal running mode shows time of day.
12-
* To set time, hold S6 'til display flashes; push/hold S2/S3 to set the time up/down (in 24h format), and push S6 save at top of minute (seconds will set to :00).
13-
14-
* To enter the **Setup** menu, hold S6 for 3 seconds.
15-
* Shows option number on small tubes, and current setting on big tubes.
16-
* Push S6 to cycle through options (listed below); push S2/S3 to set up/down; pass all options or hold S6 to exit.
17-
18-
| Option | Possible Settings |
19-
| --- | --- |
20-
| 1. Time format | 12- or 24-hour (time display only; setting is always done in 24h) |
21-
| 2. n/a | |
22-
| 3. n/a | |
23-
| 4. Leading zero in hour, date, and month? | 0 = no<br/>1 = yes |
24-
| 5. A number | (no effect) |
25-
26-
## Todos
27-
28-
* Add support for rotary encoders
29-
* Add velocity
30-
* Configurable run controls
31-
* Test
32-
* Flesh out menu
33-
* Make settings save in eeprom(?)
34-
* Make it loop
35-
* Date
36-
* Make settable
37-
* Alarm
38-
* Make settable
39-
* Make trigger/switch, snooze, and silence
40-
* Timer
41-
* Make settable (opens to last setting)
42-
* Make run, trigger/switch, silence
43-
* Auto display reset
44-
* When on a mode other than clock or running timer, reset to clock after 5 sec
45-
* When in setting mode or setup menu, exit without saving after 120 seconds
46-
* "Maybe later" features
47-
* Thermometer?
48-
* Countdown to date?
49-
* Sunrise/sunset calc per lat/long?
50-
51-
## Proposed instructions
52-
53-
_These instructions are for a clock equipped with a single knob/button (rotary encoder). Instructions will vary with the controls equipped and options selected in code. If a hardware alarm switch is equipped, **Alarm** may have no software switch._
54-
55-
**Turn the knob to see each of the clock's functions:**
11+
**Use Adjust to see each of the clock's functions:**
5612

5713
* **Time**
5814
* Shows the current time of day. (Choose 12h or 24h format in Setup.)
59-
* To set time, hold 'til display flashes; turn to set (in 24h format), and push to save at top of minute (seconds will set to :00).
15+
* To set time, hold Select 'til display flashes; use Adjust to set (in 24h format), and push Select to save at the top of minute (seconds will set to :00).
6016
* **Date**
6117
* Shows month, date, and weekday as 0=Sunday, 6=Saturday. (Choose month/date or date/month in Setup.)
62-
* To set date, hold 'til display flashes; then set year, then month, then date.
18+
* To set date, hold Select 'til display flashes; then set year, then month, then date, pushing Select to save each.
6319
* **Alarm**
6420
* Shows alarm time (in 24h format) and whether the alarm is on (1) or off (0).
65-
* To turn alarm on or off, push the knob.
66-
* To set alarm, hold 'til display flashes; turn to set (in 24h format), and push to save.
67-
* When alarm goes off, push to snooze, or hold to silence until tomorrow.
21+
* To turn alarm on or off, press Select.
22+
* To set alarm, hold Select 'til display flashes; use Adjust to set (in 24h format), and push Select to save.
23+
* When alarm goes off, push Select to snooze, or hold to silence until tomorrow.
6824
* **Timer**
6925
* Shows a countdown timer (or 0min 00sec when idle).
70-
* To set timer, hold 'til display flashes; set time (in hrs, min, sec); and press to start. Hold to cancel.
71-
* When timer goes off, push to silence.
26+
* To set timer, hold Select 'til display flashes; set time (in hrs, min, sec); and push Select to start. Hold to cancel.
27+
* When timer goes off, push Select to silence.
7228

7329
**Additional settings are available in the Setup menu.**
7430

75-
* To enter **Setup**, hold for 3 seconds.
76-
* Shows option number on small tubes, and current setting on big tubes.
77-
* Push to cycle through options (listed below); turn to set; hold to exit.
31+
* To enter **Setup**, hold Select for 3 seconds, until "1" appears on the small tubes, which indicates the 1st option (see below). Its current setting is shown on the big tubes.
32+
* Push Select to cycle through options; use Adjust to set; hold Select to exit.
7833

7934
| Option | Possible Settings |
8035
| --- | --- |
@@ -86,14 +41,13 @@ _These instructions are for a clock equipped with a single knob/button (rotary e
8641
| 6. Digit cycle (prevents [cathode poisoning](http://www.tube-tester.com/sites/nixie/different/cathode%20poisoning/cathode-poisoning.htm)) | 0 = before midnight and/or before day-off<br/>1 = every hour before :01 minute |
8742
| 7. Auto DST | Add 1h for daylight saving time between these dates (at 2am):<br/>0 = off<br/>1 = second Sunday in March to first Sunday in November (US/CA)<br/>2 = last Sunday in March to last Sunday in October (UK/EU)<br/>3 = first Sunday in April to last Sunday in October (MX)<br/>4 = last Sunday in September to first Sunday in April (NZ)<br/>5 = first Sunday in October to first Sunday in April (AU)<br/>6 = third Sunday in October to third Sunday in February (BZ) |
8843
| 8. Hourly strike | 0 = off<br/>1 = double beep<br/>2 = pips<br/>3 = strike the hour<br/>4 = ship's bell<br/>(Clocks without radio/timer control only. Will not sound during day-off or night-off.) |
89-
| 9. Alarm sound | 0 = double beeps at alarm time<br/>1 = 20-minute progressive beeps<br/>(Clocks without radio/timer control only.)
90-
| 10. Snooze duration | 0–60 minutes. 0 disables snooze. |
91-
| 11. Fine regulation | Adjusts clock's timekeeping in tenths of a second per week. 500 is "normal." (e.g.: 503 causes clock to run 0.3s faster per week.) |
92-
| 12. Night-off | 0 = normal (tubes fully on at night)<br/>1 = dim tubes at night<br/>2 = shut off tubes at night |
93-
| 13. Night starts at | Time of day |
94-
| 14. Night ends at | Time of day. Set to 99:99 to use the alarm time. |
95-
| 15. Day-off | To save tube life, shut off tubes during the day when you're not around.<br/>0 = normal (no day-off)<br/>1 = clock at work (shut off all day on weekends)<br/>2 = clock at home (shut off during work hours) |
96-
| 16. First day of work week | 0–6 (Sunday–Saturday) |
97-
| 17. Last day of work week | 0–6 (Sunday–Saturday) |
98-
| 18. Work starts at | Time of day |
99-
| 19. Work ends at | Time of day |
44+
| 9. Snooze duration | 0–60 minutes. 0 disables snooze. |
45+
| 10. Fine regulation | Adjusts clock's timekeeping in tenths of a second per week. 500 is "normal." (e.g.: 503 causes clock to run 0.3s faster per week.) |
46+
| 11. Night-off | 0 = normal (tubes fully on at night)<br/>1 = dim tubes at night<br/>2 = shut off tubes at night |
47+
| 12. Night starts at | Time of day |
48+
| 13. Night ends at | Time of day. Set to 0:00 to use the alarm time. |
49+
| 14. Day-off | To save tube life, shut off tubes during the day when you're not around.<br/>0 = normal (no day-off)<br/>1 = clock at work (shut off all day on weekends)<br/>2 = clock at home (shut off during work hours) |
50+
| 15. First day of work week | 0–6 (Sunday–Saturday) |
51+
| 16. Last day of work week | 0–6 (Sunday–Saturday) |
52+
| 17. Work starts at | Time of day |
53+
| 18. Work ends at | Time of day |

0 commit comments

Comments
 (0)