You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-13Lines changed: 15 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -6,30 +6,32 @@ This is an alternate codebase that is very much in progress!
6
6
7
7
## Current instructions (WIP)
8
8
9
-
* Normal running mode simply shows a number (42 at startup).
10
-
* To set, hold S4 'til display flashes; push/hold S2/S3 to set the number up/down; push S4 to save.
9
+
**As of this commit:**
11
10
12
-
* To enter the *Setup* menu, hold for 3 seconds.
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.
13
15
* Shows option number on small tubes, and current setting on big tubes.
14
-
* Push to cycle through options (listed below); turn to set; hold to exit.
16
+
* Push S6 to cycle through options (listed below); push S2/S3 to set up/down; pass all options or hold S6 to exit.
15
17
16
18
| Option | Possible Settings |
17
19
| --- | --- |
18
-
| 1. Dimming | 0 = Normal running mode will display at full brightness<br/>1 = Normal running mode will display dim (25% duty cycle) |
19
-
| 2. Nothing | Any number from 1 to 7. Has no effect yet. |
20
-
| 3. Nothing | Any number from 1 to 13. Has no effect yet. |
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) |
21
25
22
26
## Todos
23
27
24
-
* Add hold-advance for adj buttons
25
28
* Add support for rotary encoders
26
29
* Add velocity
27
30
* Configurable run controls
28
31
* Test
29
32
* Flesh out menu
30
33
* Make settings save in eeprom(?)
31
-
* Reintroduce Time
32
-
* Make settable - if setting is opened in latter half of minute, setting value should be min+1 to make sync easy
34
+
* Make it loop
33
35
* Date
34
36
* Make settable
35
37
* Alarm
@@ -54,18 +56,18 @@ _These instructions are for a clock equipped with a single knob/button (rotary e
54
56
55
57
***Time**
56
58
* Shows the current time of day. (Choose 12h or 24h format in Setup.)
57
-
* To set, hold 'til display flashes; turn to set (in 24h format), and push to save at top of minute (seconds will set to :00).
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).
58
60
***Date**
59
61
* Shows month, date, and weekday as 0=Sunday, 6=Saturday. (Choose month/date or date/month in Setup.)
60
-
* To set, hold 'til display flashes; then set year, then month, then date.
62
+
* To set date, hold 'til display flashes; then set year, then month, then date.
61
63
***Alarm**
62
64
* Shows alarm time (in 24h format) and whether the alarm is on (1) or off (0).
63
65
* To turn alarm on or off, push the knob.
64
66
* To set alarm, hold 'til display flashes; turn to set (in 24h format), and push to save.
65
67
* When alarm goes off, push to snooze, or hold to silence until tomorrow.
66
68
***Timer**
67
69
* Shows a countdown timer (or 0min 00sec when idle).
68
-
* To set, hold 'til display flashes; set time (in hrs, min, sec); and press to start. Hold to cancel.
70
+
* To set timer, hold 'til display flashes; set time (in hrs, min, sec); and press to start. Hold to cancel.
69
71
* When timer goes off, push to silence.
70
72
71
73
**Additional settings are available in the Setup menu.**
//When we're setting via an adj button that's passed a hold point, fire off fnSet commands at intervals
330
+
if(fnSetHoldLast+250<millis()) { //TODO is it a problem this won't sync up with the blinking?
331
+
fnSetHoldLast = millis();
332
+
if(fnSet!=0 && ((mainAdjType==1 && (btnCur==mainAdj[0] || btnCur==mainAdj[1])) || (altAdjType==1 && (btnCur==altAdj[0] || btnCur==altAdj[1]))) ){ //if we're setting, and this is an adj input for which the type is button
333
+
bool dir = (btnCur==mainAdj[0] || btnCur==altAdj[0] ? 1 : 0);
334
+
//If short hold, or long hold but high velocity isn't supported, use low velocity (delta=1)
0 commit comments