125 lines
2.8 KiB
Arduino
125 lines
2.8 KiB
Arduino
|
#ifdef CRONIXIE
|
||
|
void setCronixieMode(char digits[], uint8_t l)
|
||
|
{
|
||
|
hourDigitCount = 0;
|
||
|
|
||
|
/*
|
||
|
* bool trailingzero[]
|
||
|
*
|
||
|
* digit purpose index
|
||
|
* 0-9 | 0-9 (incl. random)
|
||
|
* 10 | blank
|
||
|
* 11 | blank, bg off
|
||
|
* 12 | test upw.
|
||
|
* 13 | test dnw.
|
||
|
* 14 | binary AM/PM
|
||
|
* 15 | BB upper
|
||
|
* 16 | BBB
|
||
|
* 17 | BBBB
|
||
|
* 18 | BBBBB
|
||
|
* 19 | BBBBBB
|
||
|
* 20 | H
|
||
|
* 21 | HH
|
||
|
* 22 | HHH
|
||
|
* 23 | HHHH
|
||
|
* 24 | M
|
||
|
* 25 | MM
|
||
|
* 26 | MMM
|
||
|
* 27 | MMMM
|
||
|
* 28 | MMMMM
|
||
|
* 29 | MMMMMM
|
||
|
* 30 | S
|
||
|
* 31 | SS
|
||
|
* 32 | SSS
|
||
|
* 33 | SSSS
|
||
|
* 34 | SSSSS
|
||
|
* 35 | SSSSSS
|
||
|
* 36 | Y
|
||
|
* 37 | YY
|
||
|
* 38 | YYYY
|
||
|
* 39 | I
|
||
|
* 40 | II
|
||
|
* 41 | W
|
||
|
* 42 | WW
|
||
|
* 43 | D
|
||
|
* 44 | DD
|
||
|
* 45 | DDD
|
||
|
* 46 | V
|
||
|
* 47 | VV
|
||
|
* 48 | VVV
|
||
|
* 49 | VVVV
|
||
|
* 50 | VVVVV
|
||
|
* 51 | VVVVVV
|
||
|
* 52 | v
|
||
|
* 53 | vv
|
||
|
* 54 | vvv
|
||
|
* 55 | vvvv
|
||
|
* 56 | vvvvv
|
||
|
* 57 | vvvvvv
|
||
|
* 255 | set by previous
|
||
|
*/
|
||
|
|
||
|
//H HourLower | HH - Hour 24. | AH - Hour 12. | HHH Hour of Month | HHHH Hour of Year
|
||
|
//M MinuteUpper | MM Minute of Hour | MMM Minute of 12h | MMMM Minute of Day | MMMMM Minute of Month | MMMMMM Minute of Year
|
||
|
//S SecondUpper | SS Second of Minute | SSS Second of 10 Minute | SSSS Second of Hour | SSSSS Second of Day | SSSSSS Second of Week
|
||
|
//B AM/PM | BB 0-6/6-12/12-18/18-24 | BBB 0-3... | BBBB 0-1.5... | BBBBB 0-1 | BBBBBB 0-0.5
|
||
|
|
||
|
//Y YearLower | YY - Year LU | YYYY - Std.
|
||
|
//I MonthLower | II - Month of Year
|
||
|
//W Week of Month | WW Week of Year
|
||
|
//D Day of Week | DD Day Of Month | DDD Day Of Year
|
||
|
|
||
|
for (int i = min(5,l); i >= 0; i--)
|
||
|
{
|
||
|
switch (digits[i])
|
||
|
{
|
||
|
case '-': break; //blank
|
||
|
case '_': break; //blank, bg off
|
||
|
case 'r': break; //random btw. 1-6
|
||
|
case 'R': break; //random btw. 0-9
|
||
|
case 't': break; //Test upw.
|
||
|
case 'T': break; //Test dnw.
|
||
|
case 'b': break;
|
||
|
case 'B': break;
|
||
|
case 'h': break;
|
||
|
case 'H': break;
|
||
|
case 'm': break;
|
||
|
case 'M': break;
|
||
|
case 's': break;
|
||
|
case 'S': break;
|
||
|
case 'Y': break;
|
||
|
case 'y': break;
|
||
|
case 'I': break; //Month. Don't ask me why month and minute both start with M.
|
||
|
case 'i': break;
|
||
|
case 'W': break;
|
||
|
case 'w': break;
|
||
|
case 'D': break;
|
||
|
case 'd': break;
|
||
|
case '0': break;
|
||
|
case '1': break;
|
||
|
case '2': break;
|
||
|
case '3': break;
|
||
|
case '4': break;
|
||
|
case '5': break;
|
||
|
case '6': break;
|
||
|
case '7': break;
|
||
|
case '8': break;
|
||
|
case '9': break;
|
||
|
case 'V': break; //user var0
|
||
|
case 'v': break; //user var1
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void handleCronixie()
|
||
|
{
|
||
|
if (millis() - cronixieRefreshedTime > cronixieRefreshMs)
|
||
|
{
|
||
|
cronixieRefreshedTime = millis();
|
||
|
local = TZ.toLocal(now(), &tcr);
|
||
|
|
||
|
strip.setCronixieDigits();
|
||
|
//cronixieRefreshMs = 99;
|
||
|
}
|
||
|
#endif
|