clock animation is working now
This commit is contained in:
parent
b0c303573f
commit
a18b76a972
58 changed files with 909 additions and 160 deletions
BIN
vscode/clock/.pio/build/nanoatmega328/.sconsign.py36.dblite
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/.sconsign.py36.dblite
Normal file
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/CDC.cpp.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/CDC.cpp.o
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/abi.cpp.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/abi.cpp.o
Normal file
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/hooks.c.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/hooks.c.o
Normal file
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/new.cpp.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/FrameworkArduino/new.cpp.o
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/firmware.elf
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/firmware.elf
Normal file
Binary file not shown.
484
vscode/clock/.pio/build/nanoatmega328/firmware.hex
Normal file
484
vscode/clock/.pio/build/nanoatmega328/firmware.hex
Normal file
|
@ -0,0 +1,484 @@
|
||||||
|
:100000000C9464000C948C000C948C000C948C0068
|
||||||
|
:100010000C948C000C948C000C948C000C948C0030
|
||||||
|
:100020000C948C000C948C000C948C000C948C0020
|
||||||
|
:100030000C948C000C948C000C948C000C948C0010
|
||||||
|
:100040000C941D070C948C000C9443030C941D031A
|
||||||
|
:100050000C948C000C948C000C948C000C948C00F0
|
||||||
|
:100060000C9475030C948C00000000002400270001
|
||||||
|
:100070002A0000000008000201000003040700003D
|
||||||
|
:100080000000000000001F1C1F1E1F1E1F1F1E1F40
|
||||||
|
:100090001E1F0102040810204080010204081020E5
|
||||||
|
:1000A00001020408102000000000250028002B0099
|
||||||
|
:1000B000040404040404040402020202020203030E
|
||||||
|
:1000C00003030303170B070B11241FBECFEFD8E068
|
||||||
|
:1000D000DEBFCDBF11E0A0E0B1E0E0EFFDE102C086
|
||||||
|
:1000E00005900D92AA33B107D9F722E0AAE3B1E057
|
||||||
|
:1000F00001C01D92AF3DB207E1F710E0C3E6D0E0CA
|
||||||
|
:1001000004C02197FE010E94F80BC236D107C9F73F
|
||||||
|
:100110000E9467070C94EB0E0C940000089508955C
|
||||||
|
:10012000CF92DF92EF92FF920F931F93CF93DF93C3
|
||||||
|
:100130006C017A018B01C0E0D0E0CE15DF0581F0C3
|
||||||
|
:10014000D8016D918D01D601ED91FC910190F08166
|
||||||
|
:10015000E02DC6010995892B11F02196EECF7E0185
|
||||||
|
:10016000C701DF91CF911F910F91FF90EF90DF902A
|
||||||
|
:10017000CF900895FC01538D448D252F30E0842FBE
|
||||||
|
:1001800090E0821B930B541710F0CF9608950197BF
|
||||||
|
:100190000895FC01918D828D981761F0828DDF01A9
|
||||||
|
:1001A000A80FB11D5D968C91928D9F5F9F73928F6A
|
||||||
|
:1001B00090E008958FEF9FEF0895FC01918D828D5F
|
||||||
|
:1001C000981731F0828DE80FF11D858D90E008952C
|
||||||
|
:1001D0008FEF9FEF0895FC01918D228D892F90E084
|
||||||
|
:1001E000805C9F4F821B91098F73992708958AE045
|
||||||
|
:1001F00092E00E94EB0021E0892B09F420E0822F9D
|
||||||
|
:100200000895FC01848DDF01A80FB11DA35ABF4FD3
|
||||||
|
:100210002C91848D90E001968F739927848FA68905
|
||||||
|
:10022000B7892C93A089B1898C91837080648C9359
|
||||||
|
:10023000938D848D981306C00288F389E02D808108
|
||||||
|
:100240008F7D80830895EF92FF920F931F93CF933A
|
||||||
|
:10025000DF93EC0181E0888F9B8D8C8D981305C016
|
||||||
|
:10026000E889F989808185FD26C0F62E0B8D10E086
|
||||||
|
:100270000F5F1F4F0F731127E02E8C8DE8120CC0FB
|
||||||
|
:100280000FB607FCFACFE889F989808185FFF5CFA1
|
||||||
|
:10029000CE010E940101F1CF8B8DFE01E80FF11D0F
|
||||||
|
:1002A000E35AFF4FF0829FB7F8940B8FEA89FB89DE
|
||||||
|
:1002B000808180620AC09FB7F894EE89FF896083CD
|
||||||
|
:1002C000E889F98980818370806480839FBF81E0A1
|
||||||
|
:1002D00090E0DF91CF911F910F91FF90EF900895E3
|
||||||
|
:1002E000CF93DF93EC01888D8823C9F0EA89FB89DD
|
||||||
|
:1002F000808185FD05C0A889B9898C9186FD0FC0D4
|
||||||
|
:100300000FB607FCF5CF808185FFF2CFA889B989A8
|
||||||
|
:100310008C9185FFEDCFCE010E940101E7CFDF91E7
|
||||||
|
:10032000CF91089580E090E0892B29F00E94F7009A
|
||||||
|
:1003300081110C940000089585ED8093BC0080919C
|
||||||
|
:10034000BC0084FDFCCF1092C901089540915A0170
|
||||||
|
:10035000262F30E0240F311D21323105DCF42091AD
|
||||||
|
:10036000C9012430C9F4FC0180E090E0861758F4FC
|
||||||
|
:1003700030915A012191DC01A65CBE4FA30FB11D43
|
||||||
|
:100380002C930196F3CF80915A01680F60935A0124
|
||||||
|
:1003900080E0089581E0089582E008950895E09155
|
||||||
|
:1003A000820180918101E81730F4F0E0ED57FE4FB3
|
||||||
|
:1003B000808190E008958FEF9FEF089590918201E2
|
||||||
|
:1003C00080918101981750F4E92FF0E0ED57FE4F2E
|
||||||
|
:1003D000208130E09F5F9093820102C02FEF3FEFBA
|
||||||
|
:1003E000C90108958091810190E020918201821BD2
|
||||||
|
:1003F00091090895CF92DF92EF92FF920F931F938E
|
||||||
|
:10040000CF93DF937C01CB018A012091ED01222360
|
||||||
|
:1004100089F0EB016B01C40ED51ECC15DD0569F02A
|
||||||
|
:100420006991D701ED91FC910190F081E02DC70118
|
||||||
|
:100430000995F3CF642F0E94A601C801DF91CF91E7
|
||||||
|
:100440001F910F91FF90EF90DF90CF900895CF9381
|
||||||
|
:10045000DF931F92CDB7DEB769832091ED01222390
|
||||||
|
:10046000D1F02091EA01203240F021E030E0FC019F
|
||||||
|
:100470003383228380E090E015C08091EB01E82F68
|
||||||
|
:10048000F0E0E653FE4F998190838F5F8093EB01FC
|
||||||
|
:100490008093EA0105C061E0CE0101960E94A601A9
|
||||||
|
:1004A00081E090E00F90DF91CF910895089580E072
|
||||||
|
:1004B00090E008950E94E60E2F923F924F925F9235
|
||||||
|
:1004C0006F927F928F929F92AF92BF92CF92DF9264
|
||||||
|
:1004D000EF92FF920F931F93CF93DF93CDB7DEB7C9
|
||||||
|
:1004E0006B017C015A01280139012DB63EB620E08E
|
||||||
|
:1004F00030E0A9010E942F0D20E030E040E05FE3F2
|
||||||
|
:1005000087FD05C0C701B6010E94FF0B04C0C701EB
|
||||||
|
:10051000B6010E94FE0B0E946B0C8B01B5010B2CE7
|
||||||
|
:10052000000C880B990B0E94A30C20E030E040E007
|
||||||
|
:100530005FE30E94340D6B017C0120E030E0A901F3
|
||||||
|
:100540000E942F0D20E030E040E05FE387FD05C012
|
||||||
|
:10055000C701B6010E94FF0B04C0C701B6010E948B
|
||||||
|
:10056000FE0B0E946B0CC501880F991F2DB73EB77B
|
||||||
|
:10057000281B390B0FB6F8943EBF0FBE2DBF8DB7A9
|
||||||
|
:100580009EB701964C01EDB7FEB7128211823396E9
|
||||||
|
:1005900080E090E00196A816B90619F01192119228
|
||||||
|
:1005A000F9CF6801C61AD70A9B01201B310B8901BC
|
||||||
|
:1005B000C8018C0D9D1D8A159B053CF5760133E520
|
||||||
|
:1005C000C316D1041CF083E5E81AF108F401E192A6
|
||||||
|
:1005D000F1924F01B7010F2C000C880B990B0E9470
|
||||||
|
:1005E00021068AE291E00E940F068091AF0290916D
|
||||||
|
:1005F000B002E816F90628F4B301A201C7010E946F
|
||||||
|
:10060000A305FFEFCF1ADF0AD3CF0FB6F8943EBE93
|
||||||
|
:100610000FBE2DBEDF91CF911F910F91FF90EF90F4
|
||||||
|
:10062000DF90CF90BF90AF909F908F907F906F9012
|
||||||
|
:100630005F904F903F902F9008951F920F920FB6AA
|
||||||
|
:100640000F9211242F933F934F935F936F937F9358
|
||||||
|
:100650008F939F93AF93BF93EF93FF938AE092E0C2
|
||||||
|
:100660000E940101FF91EF91BF91AF919F918F91F6
|
||||||
|
:100670007F916F915F914F913F912F910F900FBE9E
|
||||||
|
:100680000F901F9018951F920F920FB60F92112482
|
||||||
|
:100690002F938F939F93EF93FF93E0911A02F09122
|
||||||
|
:1006A0001B028081E0912002F091210282FD12C0A4
|
||||||
|
:1006B0009081809123028F5F8F7320912402821793
|
||||||
|
:1006C00051F0E0912302F0E0E65FFD4F958F8093BB
|
||||||
|
:1006D000230201C08081FF91EF919F918F912F9113
|
||||||
|
:1006E0000F900FBE0F901F9018951F920F920FB68C
|
||||||
|
:1006F0000F9211242F933F934F935F936F937F93A8
|
||||||
|
:100700008F939F93AF93BF93EF93FF938091B90023
|
||||||
|
:10071000887F803609F49CC068F5883209F45BC094
|
||||||
|
:1007200090F4803109F454C038F4882309F4F6C0F9
|
||||||
|
:10073000883009F44DC0F6C0883109F44CC08032CD
|
||||||
|
:1007400009F45DC0EFC0803409F468C048F4803318
|
||||||
|
:1007500009F455C0883309F0E5C08093C701D8C0BB
|
||||||
|
:10076000803509F44FC0883509F45DC0883409F03C
|
||||||
|
:10077000D9C0D6C0883909F4C7C0A8F4883709F4AD
|
||||||
|
:1007800067C038F4883609F463C0803709F460C064
|
||||||
|
:10079000C9C0883809F4B8C0803909F45FC080380E
|
||||||
|
:1007A00009F0C0C05BC0803B09F486C038F4803AD1
|
||||||
|
:1007B00009F466C0883A09F47FC0B4C0803C09F4EB
|
||||||
|
:1007C000A7C0883C09F4A4C0883B09F48AC0AAC029
|
||||||
|
:1007D0008091A40110C09091C6018091C501981725
|
||||||
|
:1007E00070F5E091C60181E08E0F8093C601F0E0C4
|
||||||
|
:1007F000EB55FE4F80818093BB0085EC86C08093D3
|
||||||
|
:10080000C7018EC0E091C60181E08E0F8093C601C2
|
||||||
|
:100810008091BB00F0E0EB55FE4F80839091C601C4
|
||||||
|
:100820008091C5016EC0E091C60181E08E0F80937A
|
||||||
|
:10083000C6018091BB00F0E0EB55FE4F80838091B4
|
||||||
|
:10084000C80181116DC081E08093A30184EA61C079
|
||||||
|
:1008500083E08093C90110927C01CFCF80917C010D
|
||||||
|
:10086000803208F051C0E0917C0181E08E0F8093CE
|
||||||
|
:100870007C018091BB00F0E0E45AFE4F8083BDCF45
|
||||||
|
:1008800085EC8093BC001092C90180917C0180327C
|
||||||
|
:1008900030F4E0917C01F0E0E45AFE4F1082609168
|
||||||
|
:1008A0007C0170E0E0917D01F0917E018CE591E0AA
|
||||||
|
:1008B000099510927C0136C084E08093C9011092A2
|
||||||
|
:1008C0005B0110925A01E0917F01F091800109953E
|
||||||
|
:1008D00080915A01811105C081E080935A011092E4
|
||||||
|
:1008E0003A01E0915B0181E08E0F80935B01F0E0C3
|
||||||
|
:1008F000E65CFE4F80818093BB0090915B0180910C
|
||||||
|
:100900005A01981708F479CF85E88093BC000AC093
|
||||||
|
:1009100085EC8093BC001092C90104C01092C701FD
|
||||||
|
:100920000E949C01FF91EF91BF91AF919F918F9198
|
||||||
|
:100930007F916F915F914F913F912F910F900FBEDB
|
||||||
|
:100940000F901F9018953FB7F8948091CB0290912B
|
||||||
|
:10095000CC02A091CD02B091CE0226B5A89B05C0D5
|
||||||
|
:100960002F3F19F00196A11DB11D3FBFBA2FA92F2E
|
||||||
|
:10097000982F8827820F911DA11DB11DBC01CD01AB
|
||||||
|
:1009800042E0660F771F881F991F4A95D1F7089597
|
||||||
|
:10099000DC0115961C92159714961C9214971396C9
|
||||||
|
:1009A0001C9213971C9281E011968C9311971196CB
|
||||||
|
:1009B0008C911197E82FF0E0EB57FF4FE4918230D4
|
||||||
|
:1009C00009F4EF5FE11102C08F5FEECF81E0129674
|
||||||
|
:1009D0008C9308950F931F93CF93DF93CDB7DEB71A
|
||||||
|
:1009E00029970FB6F894DEBF0FBECDBF0E94A304B7
|
||||||
|
:1009F0000091BC021091BD022091BE023091BF0255
|
||||||
|
:100A0000DC01CB01801B910BA20BB30B8C3291400C
|
||||||
|
:100A1000A105B10558F3F8948091B1029091B2020A
|
||||||
|
:100A20009A838983E091B602F091B702DF011196B3
|
||||||
|
:100A3000808189879091AD02E091C002F091C1025E
|
||||||
|
:100A40008091C202992309F42EC09081982B988737
|
||||||
|
:100A50009081809589238F838F818C8388E08B831D
|
||||||
|
:100A600058856F8149853B812C8189819A8150838A
|
||||||
|
:100A700047FD252F3A952083262F39F0441F00C0CB
|
||||||
|
:100A800000006083000000C0F2CF38E04D91608329
|
||||||
|
:100A90000000019761F7F093C102E093C00249871B
|
||||||
|
:100AA0003B832C8338C09081982B988790818095C8
|
||||||
|
:100AB00089238F838F818E8388E08D8358856F8112
|
||||||
|
:100AC00049853D812E8189819A81508347FD252F5B
|
||||||
|
:100AD00000C000C0208300C000C000C000C000C033
|
||||||
|
:100AE00060830000262F3A9541F0441F000000C0AB
|
||||||
|
:100AF00000C000C000C000C0E8CF38E04D9100C089
|
||||||
|
:100B0000608300C0019709F7F093C102E093C0022F
|
||||||
|
:100B100049873D832E839A83898378940E94A30416
|
||||||
|
:100B20006093BC027093BD028093BE029093BF029B
|
||||||
|
:100B300029960FB6F894DEBF0FBECDBFDF91CF91DF
|
||||||
|
:100B40001F910F9108958F929F92AF92BF92CF9273
|
||||||
|
:100B5000DF92EF92FF92CF93DF934B01AA24BB2445
|
||||||
|
:100B6000F82DC52ED62EE72EFF24AC2DE42F209194
|
||||||
|
:100B7000B502222361F0829E40011124F92D2C9DA3
|
||||||
|
:100B800060011124AD2D249FE0011124ED2F30913F
|
||||||
|
:100B9000BB02B091B802E090B602F090B7023B13EE
|
||||||
|
:100BA00008C09C01220F331F820F931F8E0D9F1DC3
|
||||||
|
:100BB00019C0880F991F880F991F8E0D9F1D472FF1
|
||||||
|
:100BC000552766277727EC01C30FD11D222349F053
|
||||||
|
:100BD00030E0249F7001259FF00C349FF00C11240D
|
||||||
|
:100BE0004F2D48832091B802EC01C20FD11DF8832C
|
||||||
|
:100BF0002091B902EC01C20FD11DA8832091BA0245
|
||||||
|
:100C0000DC01A20FB11DEC93DF91CF91FF90EF902B
|
||||||
|
:100C1000DF90CF90BF90AF909F908F9008950097F6
|
||||||
|
:100C200069F0FC0101900020E9F73197AF01481B02
|
||||||
|
:100C3000590BBC018AE092E00C94900080E090E0B7
|
||||||
|
:100C400008958F929F92AF92BF92CF92DF92EF92D0
|
||||||
|
:100C5000FF920F931F93CF93DF93CDB7DEB7A1978A
|
||||||
|
:100C60000FB6F894DEBF0FBECDBF6B017C0197FFBE
|
||||||
|
:100C70002BC06DE28AE092E00E9423018C012227C2
|
||||||
|
:100C80003327A9012C193D094E095F0919A2CE018C
|
||||||
|
:100C900081967C019AE0892E912CA12CB12CCA015D
|
||||||
|
:100CA000B901A50194010E94D60B605DF701629322
|
||||||
|
:100CB0007F01211531054105510589F7CF010E94BA
|
||||||
|
:100CC0000F06800F911F1DC09B01AC0119A28E0160
|
||||||
|
:100CD0000F5D1F4F8AE0C82ED12CE12CF12CCA01E8
|
||||||
|
:100CE000B901A70196010E94D60B605DF8016293DD
|
||||||
|
:100CF0008F01211531054105510589F7CF010E946A
|
||||||
|
:100D00000F06A1960FB6F894DEBF0FBECDBFDF91E0
|
||||||
|
:100D1000CF911F910F91FF90EF90DF90CF90BF90F8
|
||||||
|
:100D2000AF909F908F90089590E0FC01EE58FF4F98
|
||||||
|
:100D30002491FC01EE56FF4F3491FC01E055FF4F2A
|
||||||
|
:100D4000E491EE2309F43CC0222339F1233091F0E1
|
||||||
|
:100D500038F42130A9F0223001F584B58F7D12C01E
|
||||||
|
:100D6000273091F02830A1F02430B9F48091800030
|
||||||
|
:100D70008F7D03C0809180008F77809380000DC0AD
|
||||||
|
:100D800084B58F7784BD09C08091B0008F7703C090
|
||||||
|
:100D90008091B0008F7D8093B000F0E0EE0FFF1FD8
|
||||||
|
:100DA000EA55FF4FA591B4919FB7F894611104C023
|
||||||
|
:100DB0008C913095382302C0EC913E2B3C939FBF21
|
||||||
|
:100DC0000895CF93DF9390E0FC01EE56FF4F2491FE
|
||||||
|
:100DD000FC01E055FF4F8491882361F190E0880F7A
|
||||||
|
:100DE000991FFC01E859FF4FC591D491FC01EA55C8
|
||||||
|
:100DF000FF4FA591B491611109C09FB7F894888104
|
||||||
|
:100E0000209582238883EC912E230BC0623061F4FD
|
||||||
|
:100E10009FB7F8948881322F309583238883EC9193
|
||||||
|
:100E20002E2B2C939FBF06C08FB7F894E8812E2BF2
|
||||||
|
:100E300028838FBFDF91CF9108951F920F920FB635
|
||||||
|
:100E40000F9211242F933F938F939F93AF93BF9350
|
||||||
|
:100E50008091C7029091C802A091C902B091CA02C4
|
||||||
|
:100E60003091C60223E0230F2D3720F40196A11DF7
|
||||||
|
:100E7000B11D05C026E8230F0296A11DB11D2093C8
|
||||||
|
:100E8000C6028093C7029093C802A093C902B09390
|
||||||
|
:100E9000CA028091CB029091CC02A091CD02B09178
|
||||||
|
:100EA000CE020196A11DB11D8093CB029093CC027E
|
||||||
|
:100EB000A093CD02B093CE02BF91AF919F918F913D
|
||||||
|
:100EC0003F912F910F900FBE0F901F901895CF93C9
|
||||||
|
:100ED000DF93CDB7DEB72C970FB6F894DEBF0FBE09
|
||||||
|
:100EE000CDBF789484B5826084BD84B5816084BDB3
|
||||||
|
:100EF00085B5826085BD85B5816085BD80916E00B8
|
||||||
|
:100F0000816080936E0010928100809181008260E8
|
||||||
|
:100F10008093810080918100816080938100809125
|
||||||
|
:100F200080008160809380008091B1008460809314
|
||||||
|
:100F3000B1008091B00081608093B00080917A0010
|
||||||
|
:100F4000846080937A0080917A00826080937A0036
|
||||||
|
:100F500080917A00816080937A0080917A00806825
|
||||||
|
:100F600080937A001092C100E0911A02F0911B0266
|
||||||
|
:100F700082E08083E0911602F09117021082E091E6
|
||||||
|
:100F80001802F09119028FEC808310922202E091F6
|
||||||
|
:100F90001E02F0911F0286E08083E0911C02F09116
|
||||||
|
:100FA0001D02808180618083E0911C02F0911D020E
|
||||||
|
:100FB000808188608083E0911C02F0911D02808115
|
||||||
|
:100FC00080688083E0911C02F0911D0280818F7DFA
|
||||||
|
:100FD000808310928201109281011092EB01109295
|
||||||
|
:100FE000EA011092C90181E08093C8011092A30127
|
||||||
|
:100FF00061E082E10E94940661E083E10E94940630
|
||||||
|
:101000008091B9008E7F8093B9008091B9008D7F67
|
||||||
|
:101010008093B90088E48093B80085E48093BC0095
|
||||||
|
:101020008EE890E09093800180937F018FE890E0BC
|
||||||
|
:1010300090937E0180937D018091B3029091B402E0
|
||||||
|
:1010400097FD08C061E00E94E10660E08091B30274
|
||||||
|
:101050000E94940681E08093AE021092FE011092ED
|
||||||
|
:10106000FF01109200021092010280E09FEFA0E0C9
|
||||||
|
:10107000B0E08093EE019093EF01A093F001B09364
|
||||||
|
:10108000F1018FEF90E0A0E0B0E08093F201909347
|
||||||
|
:10109000F301A093F401B093F50180E090E0AFEF8D
|
||||||
|
:1010A000B0E08093F6019093F701A093F801B0931C
|
||||||
|
:1010B000F90180E090E0A0E8B0E08093FA0190931D
|
||||||
|
:1010C000FB01A093FC01B093FD01E090AF02F09012
|
||||||
|
:1010D000B002E114F104A1F000E010E08091AF0251
|
||||||
|
:1010E0009091B0020817190730F440E050E0BA01BF
|
||||||
|
:1010F000C8010E94A3050F5F1F4FE016F10671F7AC
|
||||||
|
:101100008091B6029091B702892B11F00E94EA04F7
|
||||||
|
:10111000EE24E39478E6272EE2E03E2EBB24BA9438
|
||||||
|
:10112000F5EEAF2EA5EC9A2EB6E08B2E1AEFF12E2F
|
||||||
|
:10113000E092ED012092EC011092EB011092EA0195
|
||||||
|
:101140008091C3029091C402DC01ED91FC91019069
|
||||||
|
:10115000F081E02D60E009953091EA01313208F02C
|
||||||
|
:1011600048C08091C9018111FCCF9091EC0130926F
|
||||||
|
:10117000C901E092C801B092C7011092C601309334
|
||||||
|
:10118000C501AAECB1E0E5EAF1E020E0321721F078
|
||||||
|
:101190004D9141932F5FFACF1092A4012091A401A9
|
||||||
|
:1011A000990F922B9093A4019091A301913069F42F
|
||||||
|
:1011B0001092A3019091A4019093BB009091BC0068
|
||||||
|
:1011C00093FDF8CF9092BC0002C0A092BC00909119
|
||||||
|
:1011D000C9019230E1F39091C7019F3F79F080916E
|
||||||
|
:1011E000C701803241F08091C701803331F483E040
|
||||||
|
:1011F00005C081E003C082E001C084E01092EB01F1
|
||||||
|
:101200001092EA011092ED018093C5028823A1F0AB
|
||||||
|
:10121000CE0101960E94C80486E0FE013196DE01EF
|
||||||
|
:10122000179601900D928A95E1F72F81C8847984F1
|
||||||
|
:101230001A85DB840C85E4C08091C9018111FCCF43
|
||||||
|
:10124000E092C901E092C801B092C7011092C601B4
|
||||||
|
:101250008092C501E092A4018091A401806D8093E9
|
||||||
|
:10126000A4018091A301813069F41092A3018091BF
|
||||||
|
:10127000A4018093BB008091BC0083FDF8CF9092C5
|
||||||
|
:10128000BC0002C0A092BC008091C9018130E1F392
|
||||||
|
:101290008091C601873018F49091C60101C097E093
|
||||||
|
:1012A000A5EAB1E0E3E8F1E080E0891721F02D91B3
|
||||||
|
:1012B00021938F5FFACF10928201809381018091F8
|
||||||
|
:1012C000C3029091C402DC01ED91FC910284F3858C
|
||||||
|
:1012D000E02D09958F77982F92959F70082F9F9DED
|
||||||
|
:1012E000000D11248091C3029091C402DC01ED91A4
|
||||||
|
:1012F000FC910284F385E02D09959C01332764E07D
|
||||||
|
:10130000359527956A95E1F7D82EF29ED00C1124D9
|
||||||
|
:101310008091C3029091C402DC01ED91FC910284A2
|
||||||
|
:10132000F385E02D099586FF0CC0182F1F71912FB2
|
||||||
|
:1013300092959F709F9D100D112485FF0DC0145F25
|
||||||
|
:101340000BC09C01332754E0359527955A95E1F75A
|
||||||
|
:10135000182FF29E100D11248091C3029091C402A7
|
||||||
|
:10136000DC01ED91FC910284F385E02D09958091DB
|
||||||
|
:10137000C3029091C402DC01ED91FC910284F385DB
|
||||||
|
:10138000E02D09959C01332794E0359527959A9592
|
||||||
|
:10139000E1F7782EF29E700C11248091C302909197
|
||||||
|
:1013A000C402DC01ED91FC910284F385E02D0995E6
|
||||||
|
:1013B000C82E8091C3029091C402DC01ED91FC9192
|
||||||
|
:1013C0000284F385E02D09959C01332744E035958F
|
||||||
|
:1013D00027954A95E1F7F29E800D112490E09C013B
|
||||||
|
:1013E0002053384FC7FE02C02C593F4F9C2D9F778A
|
||||||
|
:1013F000892F82958F70C92E8F9DC00C1124205D7E
|
||||||
|
:101400002093A702C092A8027092A9021093AA0288
|
||||||
|
:10141000D092AB020093AC02212F30E0309309024E
|
||||||
|
:10142000209308028D2D90E090930702809306028E
|
||||||
|
:1014300010E0109305020093040280910202909143
|
||||||
|
:1014400003028017910709F4DFC08DE291E00E944A
|
||||||
|
:101450000F066091080270910902072E000C880B9C
|
||||||
|
:10146000990B0E94210688E391E00E940F0660918B
|
||||||
|
:10147000060270910702072E000C880B990B0E9440
|
||||||
|
:10148000210688E391E00E940F06609104027091AA
|
||||||
|
:101490000502072E000C880B990B0E9421068AE298
|
||||||
|
:1014A00091E00E940F0680910402909105029093B2
|
||||||
|
:1014B000030280930202C090AF02D090B002C11428
|
||||||
|
:1014C000D104D9F04090FE015090FF0160900002DD
|
||||||
|
:1014D0007090010200E010E08091AF029091B002A4
|
||||||
|
:1014E0000817190728F4B301A201C8010E94A30537
|
||||||
|
:1014F0000F5F1F4FC016D10679F7CC24C394D12CAF
|
||||||
|
:101500006091080270910902C616D706FCF440905B
|
||||||
|
:10151000FA015090FB016090FC017090FD01B60152
|
||||||
|
:101520000D2C000C880B990B0E94A30C21E131E1DA
|
||||||
|
:1015300041EB5FE30E94340D9301820141E050E0F2
|
||||||
|
:101540000E945C02BFEFCB1ADB0ADACF4090F601B3
|
||||||
|
:101550005090F7016090F8017090F901072E000C8F
|
||||||
|
:10156000880B990B0E94A30C21E131E141EB5FE371
|
||||||
|
:101570000E94340D9301820143E050E00E945C021E
|
||||||
|
:101580004090F2015090F3016090F4017090F501E9
|
||||||
|
:101590006091060270910702072E000C880B990BD0
|
||||||
|
:1015A0000E94A30C21E131E141EB5FE30E94340D85
|
||||||
|
:1015B0009301820145E050E00E945C024090EE0100
|
||||||
|
:1015C0005090EF016090F0017090F1016091040281
|
||||||
|
:1015D00070910502072E000C880B990B0E94A30C3A
|
||||||
|
:1015E00021E131E141EB5FE30E94340D930182017F
|
||||||
|
:1015F00043E050E00E945C028091B6029091B702F5
|
||||||
|
:10160000892B11F00E94EA040E94920191CD8091F1
|
||||||
|
:10161000B6029091B7020E945D0E8091B302909144
|
||||||
|
:10162000B40297FD03C060E00C94E10608951092A7
|
||||||
|
:101630000D0210920C0288EE93E0A0E0B0E08093DF
|
||||||
|
:101640000E0290930F02A0931002B09311022AE0B1
|
||||||
|
:1016500031E030930B0220930A0225EC30E0309306
|
||||||
|
:1016600017022093160224EC30E0309319022093E5
|
||||||
|
:10167000180220EC30E030931B0220931A0221EC78
|
||||||
|
:1016800030E030931D0220931C0222EC30E03093B6
|
||||||
|
:101690001F0220931E0226EC30E03093210220939B
|
||||||
|
:1016A000200210922302109224021092250210921E
|
||||||
|
:1016B00026021092D2021092D1028093D30290930C
|
||||||
|
:1016C000D402A093D502B093D6028CE191E090931E
|
||||||
|
:1016D000D0028093CF028FEC92E09093C40280936B
|
||||||
|
:1016E000C3021092C5021092AE021092B50210927F
|
||||||
|
:1016F000BC021092BD021092BE021092BF0281E0A5
|
||||||
|
:101700008093BB028093B8021092B90292E090934A
|
||||||
|
:10171000BA028093AD0289EF90E09093B202809379
|
||||||
|
:10172000B1020E94C50D9093B7028093B602009754
|
||||||
|
:1017300061F029EFFC0111922A95E9F783E590E029
|
||||||
|
:101740009093B0028093AF0208C01092B202109240
|
||||||
|
:10175000B1021092B0021092AF0286E090E0909336
|
||||||
|
:10176000B4028093B3028091AE02882341F061E01D
|
||||||
|
:1017700086E00E94E10660E086E00E949406E6EBC7
|
||||||
|
:10178000F0E0E491F0E0EE0FFF1FEA55FF4F859186
|
||||||
|
:1017900094919093C1028093C002E8E9F0E0E49153
|
||||||
|
:1017A000E093C20287EA92E00C94C804A1E21A2EE8
|
||||||
|
:1017B000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1FF5
|
||||||
|
:1017C000A217B307E407F50720F0A21BB30BE40B45
|
||||||
|
:1017D000F50B661F771F881F991F1A9469F760958C
|
||||||
|
:1017E0007095809590959B01AC01BD01CF01089546
|
||||||
|
:1017F000EE0FFF1F0590F491E02D09945058BB2780
|
||||||
|
:10180000AA270E94160C0C94F50C0E94E70C38F0E5
|
||||||
|
:101810000E94EE0C20F039F49F3F19F426F40C944A
|
||||||
|
:10182000E40C0EF4E095E7FB0C94DE0CE92F0E942B
|
||||||
|
:10183000060D58F3BA17620773078407950720F05F
|
||||||
|
:1018400079F4A6F50C94280D0EF4E0950B2EBA2F22
|
||||||
|
:10185000A02D0B01B90190010C01CA01A0011124B6
|
||||||
|
:10186000FF27591B99F0593F50F4503E68F11A1662
|
||||||
|
:10187000F040A22F232F342F4427585FF3CF4695F3
|
||||||
|
:1018800037952795A795F0405395C9F77EF41F1615
|
||||||
|
:10189000BA0B620B730B840BBAF09150A1F0FF0FDF
|
||||||
|
:1018A000BB1F661F771F881FC2F70EC0BA0F621FCB
|
||||||
|
:1018B000731F841F48F4879577956795B795F795BB
|
||||||
|
:1018C0009E3F08F0B0CF9395880F08F09927EE0F50
|
||||||
|
:1018D0009795879508950E94720C6894B1110C94A5
|
||||||
|
:1018E000290D08950E940E0D88F09F5798F0B92F8A
|
||||||
|
:1018F0009927B751B0F0E1F0660F771F881F991F45
|
||||||
|
:101900001AF0BA95C9F714C0B13091F00E94280DB1
|
||||||
|
:10191000B1E008950C94280D672F782F8827B85FC1
|
||||||
|
:1019200039F0B93FCCF3869577956795B395D9F79C
|
||||||
|
:101930003EF490958095709561957F4F8F4F9F4FA6
|
||||||
|
:101940000895E89409C097FB3EF4909580957095B2
|
||||||
|
:1019500061957F4F8F4F9F4F9923A9F0F92F96E9FB
|
||||||
|
:10196000BB279395F695879577956795B795F11170
|
||||||
|
:10197000F8CFFAF4BB0F11F460FF1BC06F5F7F4F0D
|
||||||
|
:101980008F4F9F4F16C0882311F096E911C077231F
|
||||||
|
:1019900021F09EE8872F762F05C0662371F096E828
|
||||||
|
:1019A000862F70E060E02AF09A95660F771F881FF7
|
||||||
|
:1019B000DAF7880F9695879597F9089597F99F67B5
|
||||||
|
:1019C00080E870E060E008959FEF80EC08950024C7
|
||||||
|
:1019D0000A941616170618060906089500240A9494
|
||||||
|
:1019E00012161306140605060895092E0394000C1A
|
||||||
|
:1019F00011F4882352F0BB0F40F4BF2B11F460FFA9
|
||||||
|
:101A000004C06F5F7F4F8F4F9F4F089557FD9058D1
|
||||||
|
:101A1000440F551F59F05F3F71F04795880F97FBB2
|
||||||
|
:101A2000991F61F09F3F79F087950895121613066C
|
||||||
|
:101A30001406551FF2CF4695F1DF08C0161617069B
|
||||||
|
:101A40001806991FF1CF86957105610508940895D0
|
||||||
|
:101A5000E894BB2766277727CB0197F908950E9462
|
||||||
|
:101A6000A10D08F48FEF08950E94470D0C94F50C1A
|
||||||
|
:101A70000E94E70C38F00E94EE0C20F0952311F044
|
||||||
|
:101A80000C94DE0C0C94E40C11240C94290D0E948F
|
||||||
|
:101A9000060D70F3959FC1F3950F50E0551F629F9F
|
||||||
|
:101AA000F001729FBB27F00DB11D639FAA27F00DB7
|
||||||
|
:101AB000B11DAA1F649F6627B00DA11D661F829FDE
|
||||||
|
:101AC0002227B00DA11D621F739FB00DA11D621FC3
|
||||||
|
:101AD000839FA00D611D221F749F3327A00D611DE0
|
||||||
|
:101AE000231F849F600D211D822F762F6A2F1124C2
|
||||||
|
:101AF0009F5750409AF0F1F088234AF0EE0FFF1FF5
|
||||||
|
:101B0000BB1F661F771F881F91505040A9F79E3F4B
|
||||||
|
:101B1000510580F00C94DE0C0C94290D5F3FE4F32A
|
||||||
|
:101B2000983ED4F3869577956795B795F795E795A1
|
||||||
|
:101B30009F5FC1F7FE2B880F911D9695879597F9AA
|
||||||
|
:101B40000895990F0008550FAA0BE0E8FEEF16164E
|
||||||
|
:101B50001706E807F907C0F012161306E407F507A1
|
||||||
|
:101B600098F0621B730B840B950B39F40A2661F015
|
||||||
|
:101B7000232B242B252B21F408950A2609F4A140B8
|
||||||
|
:101B8000A6958FEF811D811D08950F931F93CF930D
|
||||||
|
:101B9000DF938230910510F482E090E0E091DD0265
|
||||||
|
:101BA000F091DE0220E030E0A0E0B0E0309719F1E3
|
||||||
|
:101BB000408151810281138148175907C8F0841769
|
||||||
|
:101BC000950769F4109731F012960C9312971396BB
|
||||||
|
:101BD0001C9327C00093DD021093DE0222C0211562
|
||||||
|
:101BE000310519F04217530718F49A01BD01EF01AE
|
||||||
|
:101BF000DF01F801DBCF21153105F9F0281B390B86
|
||||||
|
:101C00002430310580F48A819B816115710521F0B2
|
||||||
|
:101C1000FB019383828304C09093DE028093DD02F4
|
||||||
|
:101C2000FE01329644C0FE01E20FF31F81939193AF
|
||||||
|
:101C300022503109398328833AC02091DB02309148
|
||||||
|
:101C4000DC02232B41F420910201309103013093F7
|
||||||
|
:101C5000DC022093DB02209100013091010121156B
|
||||||
|
:101C6000310541F42DB73EB7409104015091050173
|
||||||
|
:101C7000241B350BE091DB02F091DC02E217F30745
|
||||||
|
:101C8000A0F42E1B3F0B2817390778F0AC014E5FEC
|
||||||
|
:101C90005F4F2417350748F04E0F5F1F5093DC024B
|
||||||
|
:101CA0004093DB028193919302C0E0E0F0E0CF012A
|
||||||
|
:101CB000DF91CF911F910F910895CF93DF930097FC
|
||||||
|
:101CC00009F481C0FC01329713821282A091DD02D7
|
||||||
|
:101CD000B091DE02109781F420813181820F931F31
|
||||||
|
:101CE0002091DB023091DC022817390751F5F0937F
|
||||||
|
:101CF000DC02E093DB0267C0ED0120E030E0CE17AC
|
||||||
|
:101D0000DF0740F44A815B819E0141155105F1F0E6
|
||||||
|
:101D1000EA01F5CFD383C28340815181840F951F9F
|
||||||
|
:101D2000C817D90759F488819981840F951F0296A5
|
||||||
|
:101D3000918380838A819B819383828321153105DE
|
||||||
|
:101D400029F4F093DE02E093DD023DC0E901FB835C
|
||||||
|
:101D5000EA8349915991C40FD51FEC17FD0761F42F
|
||||||
|
:101D600080819181840F951F0296E9019983888370
|
||||||
|
:101D7000828193819B838A83E0E0F0E012968D91CB
|
||||||
|
:101D80009C911397009719F0FD01DC01F7CF8D911D
|
||||||
|
:101D90009C9111979D012E5F3F4F820F931F2091C1
|
||||||
|
:101DA000DB023091DC022817390769F4309729F4F7
|
||||||
|
:101DB0001092DE021092DD0202C013821282B093F2
|
||||||
|
:101DC000DC02A093DB02DF91CF91089581E090E0E7
|
||||||
|
:101DD000F8940C94EB0E10E0C3E6D0E004C0FE01D2
|
||||||
|
:101DE0000E94F80B2196C436D107C9F7F894FFCFAB
|
||||||
|
:101DF0000000DF0220000000000023019000BA0074
|
||||||
|
:101E00007001EB00C900DD00000000002702FA01AC
|
||||||
|
:101E10005702CE01F201DE01CF010D0A004E6F77AD
|
||||||
|
:0A1E2000206973202D3E20003A00D7
|
||||||
|
:00000001FF
|
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/lib43a/libRTC_ID274.a
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/lib43a/libRTC_ID274.a
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/libFrameworkArduino.a
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/libFrameworkArduino.a
Normal file
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
!<arch>
|
BIN
vscode/clock/.pio/build/nanoatmega328/libd49/Wire/Wire.cpp.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/libd49/Wire/Wire.cpp.o
Normal file
Binary file not shown.
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/libd49/libWire.a
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/libd49/libWire.a
Normal file
Binary file not shown.
BIN
vscode/clock/.pio/build/nanoatmega328/src/clock.cpp.o
Normal file
BIN
vscode/clock/.pio/build/nanoatmega328/src/clock.cpp.o
Normal file
Binary file not shown.
1
vscode/clock/.pio/build/project.checksum
Normal file
1
vscode/clock/.pio/build/project.checksum
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ff781d083fae9e0bd9253df143495503eec5b6e2
|
63
vscode/clock/.vscode/c_cpp_properties.json
vendored
Normal file
63
vscode/clock/.vscode/c_cpp_properties.json
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "!!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Win32",
|
||||||
|
"includePath": [
|
||||||
|
"c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/include",
|
||||||
|
"c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/Wire/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/RTC_ID274/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/Adafruit NeoPixel_ID28",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/cores/arduino",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/variants/eightanaloginputs",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/SPI/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/DS3231_ID1379",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/ESP32Servo_ID4744/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/TimerOne_ID131",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/EEPROM/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/HID/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/SoftwareSerial/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/tool-unity",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"browse": {
|
||||||
|
"limitSymbolsToIncludedHeaders": true,
|
||||||
|
"path": [
|
||||||
|
"c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/include",
|
||||||
|
"c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/Wire/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/RTC_ID274/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/Adafruit NeoPixel_ID28",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/cores/arduino",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/variants/eightanaloginputs",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/SPI/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/DS3231_ID1379",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/ESP32Servo_ID4744/src",
|
||||||
|
"C:/Users/jnoack/.platformio/lib/TimerOne_ID131",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/EEPROM/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/HID/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/framework-arduino-avr/libraries/SoftwareSerial/src",
|
||||||
|
"C:/Users/jnoack/.platformio/packages/tool-unity",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"defines": [
|
||||||
|
"PLATFORMIO=40100",
|
||||||
|
"ARDUINO_AVR_NANO",
|
||||||
|
"F_CPU=16000000L",
|
||||||
|
"ARDUINO_ARCH_AVR",
|
||||||
|
"ARDUINO=10808",
|
||||||
|
"__AVR_ATmega328P__",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"intelliSenseMode": "clang-x64",
|
||||||
|
"cStandard": "c11",
|
||||||
|
"cppStandard": "c++11",
|
||||||
|
"compilerPath": "\"C:/Users/jnoack/.platformio/packages/toolchain-atmelavr@1.50400.190710/bin/avr-gcc.exe\" -mmcu=atmega328p"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
32
vscode/clock/.vscode/launch.json
vendored
Normal file
32
vscode/clock/.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
|
||||||
|
|
||||||
|
// PIO Unified Debugger
|
||||||
|
//
|
||||||
|
// Documentation: https://docs.platformio.org/page/plus/debugging.html
|
||||||
|
// Configuration: https://docs.platformio.org/page/projectconf/section_env_debug.html
|
||||||
|
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "platformio-debug",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "PIO Debug",
|
||||||
|
"executable": "c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/.pio/build/nanoatmega328/firmware.elf",
|
||||||
|
"toolchainBinDir": "C:/Users/jnoack/.platformio/packages/toolchain-atmelavr@1.50400.190710/bin",
|
||||||
|
"preLaunchTask": {
|
||||||
|
"type": "PlatformIO",
|
||||||
|
"task": "Pre-Debug"
|
||||||
|
},
|
||||||
|
"internalConsoleOptions": "openOnSessionStart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "platformio-debug",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "PIO Debug (skip Pre-Debug)",
|
||||||
|
"executable": "c:/Users/jnoack/Documents/GITs/infinityledclock/vscode/clock/.pio/build/nanoatmega328/firmware.elf",
|
||||||
|
"toolchainBinDir": "C:/Users/jnoack/.platformio/packages/toolchain-atmelavr@1.50400.190710/bin",
|
||||||
|
"internalConsoleOptions": "openOnSessionStart"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
||||||
8eef9632a3892fcc0c09db17be5184cc16cc1602
|
04494c3f57e718d0fb8180e31fe62686bf2f9497
|
60
vscode/infclock/include/led_clock.hpp
Normal file
60
vscode/infclock/include/led_clock.hpp
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
#include "led_clockelements.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class led_clock : protected elements
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
static const uint8_t PIN_PIXELS = D3; //6;
|
||||||
|
|
||||||
|
static const uint16_t NUM_RING_PIXELS = 180U;
|
||||||
|
static const uint8_t NUM_SECONDS = 60U;
|
||||||
|
static const uint16_t NUM_RING_SEC_PIXELS = NUM_RING_PIXELS/NUM_SECONDS;
|
||||||
|
static const uint8_t NUM_MINUTES = 60U;
|
||||||
|
static const uint16_t NUM_RING_MIN_PIXELS = 1;
|
||||||
|
static const uint16_t NUM_POINTER_PIXELS = 6U;
|
||||||
|
static const uint16_t NUM_POINTERS = 12U;
|
||||||
|
static const uint16_t NUM_POINTERS_PIXELS = NUM_POINTER_PIXELS * NUM_POINTERS;
|
||||||
|
static const int16_t NUM_NUMBERS = 12U;
|
||||||
|
const uint16_t NUM_NUMBER_PIXELS[NUM_NUMBERS] = {2,4,4,4,4,4,4,4,4,5,3,5};
|
||||||
|
const uint16_t NUM_NUMBERS_PIXELS = NUM_NUMBER_PIXELS[0] + NUM_NUMBER_PIXELS[1] + NUM_NUMBER_PIXELS[2] + NUM_NUMBER_PIXELS[3] + NUM_NUMBER_PIXELS[4] + NUM_NUMBER_PIXELS[5] + NUM_NUMBER_PIXELS[6] + NUM_NUMBER_PIXELS[7] + NUM_NUMBER_PIXELS[8] + NUM_NUMBER_PIXELS[9] + NUM_NUMBER_PIXELS[10] + NUM_NUMBER_PIXELS[11];
|
||||||
|
const uint16_t NUM_ALL_PIXELS = NUM_RING_PIXELS + NUM_POINTERS_PIXELS + NUM_NUMBERS_PIXELS;
|
||||||
|
|
||||||
|
const hue_color COLOR_SECS = {HUE_GREEN,255,128}; // green
|
||||||
|
const hue_color COLOR_HOURS = {HUE_RED,255,128}; // red
|
||||||
|
const hue_color COLOR_MINS = {HUE_BLUE,255,128}; // blue
|
||||||
|
const hue_color COLOR_NUMS = {0,0,255}; // white
|
||||||
|
enum color_type {COL_SECOND = 0, COL_MINUTE, COL_HOUR, COL_NUM, COL_LAST};
|
||||||
|
hue_color color[COL_LAST] = {COLOR_SECS, COLOR_MINS, COLOR_HOURS, COLOR_NUMS};
|
||||||
|
|
||||||
|
|
||||||
|
CRGB * pixels;
|
||||||
|
|
||||||
|
elements number[NUM_NUMBERS];
|
||||||
|
elements pointer[NUM_POINTERS];
|
||||||
|
elements ringsecs[NUM_SECONDS];
|
||||||
|
elements ringmins[NUM_MINUTES];
|
||||||
|
|
||||||
|
unsigned int pixels_test;
|
||||||
|
|
||||||
|
void init_ringmins(void);
|
||||||
|
void init_ringsecs(void);
|
||||||
|
void init_numbers(void);
|
||||||
|
void init_pointers(void);
|
||||||
|
void init_test_pixel(void);
|
||||||
|
|
||||||
|
void show_hour( uint8_t hour, uint8_t minute);
|
||||||
|
void show_minute( uint8_t minute );
|
||||||
|
void animate_new_minute( uint8_t minute , uint8_t second, uint8_t hour);
|
||||||
|
void animate_new_hour( uint8_t minute , uint8_t second, uint8_t hour);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
enum test_type {TEST_NONE=0, TEST_PIXELS=1, TEST_SECS=2, TEST_MINS=4,TEST_PTRS=8,TEST_NUMS=16, TEST_ALL = 31};
|
||||||
|
void init(unsigned test_at_start = TEST_NONE);
|
||||||
|
void init(hue_color color_secs, hue_color color_mins, hue_color color_hours, hue_color color_nums, unsigned test_at_start);
|
||||||
|
void showtime(uint8_t hour, uint8_t minute, uint8_t second);
|
||||||
|
|
||||||
|
};
|
|
@ -10,12 +10,13 @@ uint8_t sat;
|
||||||
uint8_t bright;
|
uint8_t bright;
|
||||||
} hue_color;
|
} hue_color;
|
||||||
|
|
||||||
#define FASTLEDDLY 2
|
|
||||||
|
|
||||||
class elements
|
class elements
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
/* data */
|
/* data */
|
||||||
|
#define FASTLEDDLY 1
|
||||||
#define BRIGHTNESS 128
|
#define BRIGHTNESS 128
|
||||||
#define SATURATION 255
|
#define SATURATION 255
|
||||||
public:
|
public:
|
||||||
|
@ -35,9 +36,10 @@ public:
|
||||||
void fill(hue_color huecolor);
|
void fill(hue_color huecolor);
|
||||||
void fill(void);
|
void fill(void);
|
||||||
void clean(void);
|
void clean(void);
|
||||||
void ffill(unsigned int fraction, uint8_t huecolor, uint8_t saturation = SATURATION, uint8_t brightness = BRIGHTNESS);
|
void ffill(unsigned int fraction, unsigned int fullvalue, uint8_t huecolor, uint8_t saturation = SATURATION, uint8_t brightness = BRIGHTNESS);
|
||||||
void ffill(unsigned int fraction, hue_color huecolor);
|
void ffill(unsigned int fraction, unsigned int fullvalue, hue_color huecolor);
|
||||||
void ffill(unsigned int fraction);
|
void ffill(unsigned int fraction, unsigned int fullvalue);
|
||||||
|
void show(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
210
vscode/infclock/src/led_clock.cpp
Normal file
210
vscode/infclock/src/led_clock.cpp
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
|
||||||
|
#include "led_clock.hpp"
|
||||||
|
|
||||||
|
void led_clock::init( unsigned test_at_start)
|
||||||
|
{
|
||||||
|
init(COLOR_SECS , COLOR_MINS , COLOR_HOURS , COLOR_NUMS, test_at_start);
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init(hue_color color_secs, hue_color color_mins, hue_color color_hours, hue_color color_nums, unsigned test_at_start)
|
||||||
|
{
|
||||||
|
pixels_test = test_at_start;
|
||||||
|
color[COL_SECOND] = color_secs;
|
||||||
|
color[COL_MINUTE] = color_mins;
|
||||||
|
color[COL_HOUR] = color_hours;
|
||||||
|
color[COL_NUM] = color_nums;
|
||||||
|
|
||||||
|
init_test_pixel();
|
||||||
|
init_ringsecs();
|
||||||
|
init_ringmins();
|
||||||
|
init_pointers();
|
||||||
|
init_numbers();
|
||||||
|
|
||||||
|
//Serial.printf("Init pixels - first:%d last:%d number:%d outsidetoinside:%d\n", element_first_pixel, element_last_pixel, element_number_pixels, element_outside2inside);
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init_ringmins() {
|
||||||
|
// init all the seconds shown on the ring
|
||||||
|
Serial.println("Init minutes on outer ring ...");
|
||||||
|
unsigned int current_first_led = 1;
|
||||||
|
for(uint8_t num = 0; num < NUM_MINUTES; num++)
|
||||||
|
{
|
||||||
|
ringmins[num].init(pixels, current_first_led, NUM_RING_MIN_PIXELS, color[COL_MINUTE]);
|
||||||
|
ringmins[num].clean();
|
||||||
|
if(pixels_test & TEST_MINS)
|
||||||
|
ringmins[num].test(true);
|
||||||
|
current_first_led += NUM_RING_PIXELS/NUM_MINUTES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init_ringsecs() {
|
||||||
|
// init all the seconds shown on the ring
|
||||||
|
Serial.println("Init seconds on outer ring ...");
|
||||||
|
unsigned int current_first_led = 0;
|
||||||
|
for(uint8_t num = 0; num < NUM_SECONDS; num++)
|
||||||
|
{
|
||||||
|
ringsecs[num].init(pixels, current_first_led, NUM_RING_SEC_PIXELS, color[COL_SECOND]);
|
||||||
|
ringsecs[num].clean();
|
||||||
|
if(pixels_test & TEST_SECS)
|
||||||
|
ringsecs[num].test(true);
|
||||||
|
current_first_led += NUM_RING_SEC_PIXELS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init_numbers() {
|
||||||
|
// init all the numbers
|
||||||
|
Serial.println("Init numbers ...");
|
||||||
|
unsigned int current_first_led = NUM_RING_PIXELS + NUM_POINTERS_PIXELS;
|
||||||
|
for(uint8_t num = 0; num < NUM_NUMBERS; num++)
|
||||||
|
{
|
||||||
|
uint8_t real_num = num == 11? 0 : num + 1;
|
||||||
|
number[real_num].init(pixels, current_first_led, NUM_NUMBER_PIXELS[num],color[COL_NUM]);
|
||||||
|
number[real_num].clean();
|
||||||
|
if(pixels_test & TEST_NUMS)
|
||||||
|
number[real_num].test(true);
|
||||||
|
current_first_led += NUM_NUMBER_PIXELS[num];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init_pointers() {
|
||||||
|
Serial.println("Init pointers ...");
|
||||||
|
// init all the pointers - each as 6 leds, starts at 12,11,10 ... 1, each even is inversed (goes from outside into center)
|
||||||
|
unsigned int current_first_led = NUM_RING_PIXELS;
|
||||||
|
bool is_insideoutside = false;
|
||||||
|
|
||||||
|
for(int8_t num = NUM_POINTERS-1; num >= 0; num--)
|
||||||
|
{
|
||||||
|
uint8_t real_num = num == 11? 0 : num + 1;
|
||||||
|
is_insideoutside = num%2==0? false:true;
|
||||||
|
pointer[real_num].init(pixels, current_first_led, NUM_POINTER_PIXELS ,color[COL_MINUTE],is_insideoutside);
|
||||||
|
pointer[real_num].clean();
|
||||||
|
if(pixels_test & TEST_PTRS)
|
||||||
|
pointer[real_num].test();
|
||||||
|
current_first_led += NUM_POINTER_PIXELS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::init_test_pixel()
|
||||||
|
{
|
||||||
|
pixels = (CRGB*) malloc(NUM_ALL_PIXELS * sizeof(CRGB) );
|
||||||
|
FastLED.clearData();
|
||||||
|
FastLED.addLeds<WS2812B, PIN_PIXELS, RGB>(pixels, NUM_ALL_PIXELS); // GRB ordering is typical
|
||||||
|
FastLED.clear(true);
|
||||||
|
Serial.printf("Init LED pixels %d \n",NUM_ALL_PIXELS);
|
||||||
|
if(pixels_test & TEST_PIXELS)
|
||||||
|
for(unsigned char col = COL_SECOND; col < COL_LAST; col++)
|
||||||
|
{
|
||||||
|
unsigned int pixel = 0;
|
||||||
|
for(pixel = 0; pixel < NUM_ALL_PIXELS; pixel++)
|
||||||
|
{
|
||||||
|
if(pixel > 0)
|
||||||
|
{
|
||||||
|
pixels[pixel-1] = CHSV(0,0,0);
|
||||||
|
}
|
||||||
|
pixels[pixel] = CHSV(color[col].hue, color[col].sat, color[col].bright);
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
FastLED.clear(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::show_minute( uint8_t minute )
|
||||||
|
{
|
||||||
|
for(uint8_t minnr = 0; minnr < minute; minnr++)
|
||||||
|
{
|
||||||
|
if(minnr % 5 == 0)
|
||||||
|
{
|
||||||
|
ringmins[minnr].fill(ringmins[minnr].elements_huecolor.hue, ringmins[minnr].elements_huecolor.sat, ringmins[minnr].elements_huecolor.bright/2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ringmins[minnr].fill(ringmins[minnr].elements_huecolor.hue, ringmins[minnr].elements_huecolor.sat, ringmins[minnr].elements_huecolor.bright/8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ringmins[minute].fill();
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::animate_new_minute( uint8_t minute , uint8_t second, uint8_t hour)
|
||||||
|
{
|
||||||
|
uint8_t old_minute = minute==0?NUM_MINUTES-1:minute-1;
|
||||||
|
FastLED.clearData();
|
||||||
|
show_minute( old_minute );
|
||||||
|
show_hour( hour, old_minute);
|
||||||
|
ringsecs[second].fill();
|
||||||
|
show();
|
||||||
|
|
||||||
|
for(uint8_t minnr = 1; minnr < minute; minnr++)
|
||||||
|
{
|
||||||
|
ringmins[minnr].fill();
|
||||||
|
if(minnr > 1){
|
||||||
|
if(minnr-1 % 5 != 0)
|
||||||
|
ringmins[minnr-1].fill(ringmins[minnr-1].elements_huecolor.hue, ringmins[minnr-1].elements_huecolor.sat, ringmins[minnr-1].elements_huecolor.bright/8);
|
||||||
|
else
|
||||||
|
ringmins[minnr-1].fill(ringmins[minnr-1].elements_huecolor.hue, ringmins[minnr-1].elements_huecolor.sat, ringmins[minnr-1].elements_huecolor.bright/2);
|
||||||
|
|
||||||
|
}
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::animate_new_hour( uint8_t minute , uint8_t second, uint8_t hour)
|
||||||
|
{
|
||||||
|
uint8_t old_hour = hour==0?11:hour-1;
|
||||||
|
uint8_t old_minute = NUM_MINUTES-1;
|
||||||
|
FastLED.clearData();
|
||||||
|
show_minute( old_minute );
|
||||||
|
show_hour( old_hour, old_minute);
|
||||||
|
ringsecs[second].fill();
|
||||||
|
show();
|
||||||
|
|
||||||
|
for(uint8_t minnr = 1; minnr < NUM_MINUTES; minnr++)
|
||||||
|
{
|
||||||
|
ringmins[minnr].clean();
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void led_clock::show_hour( uint8_t hour, uint8_t minute)
|
||||||
|
{
|
||||||
|
|
||||||
|
uint8_t next_hour = hour == 11? 0:hour+1;
|
||||||
|
uint8_t brightness = number[hour].elements_huecolor.bright;
|
||||||
|
uint8_t basebrightness = brightness/6;
|
||||||
|
uint8_t minutebrightness = (brightness-basebrightness)/NUM_MINUTES;
|
||||||
|
uint8_t fractionbrightness = minutebrightness * minute;
|
||||||
|
uint8_t numbrightness = (uint8_t)(basebrightness + fractionbrightness);
|
||||||
|
|
||||||
|
//Serial.printf("Show hour: minute=%d, basebright=%d, mintebright=%d, fractionbright=%d, bright=%d\n", minute, basebrightness, minutebrightness, fractionbrightness, numbrightness );
|
||||||
|
|
||||||
|
number[hour].fill(number[hour].elements_huecolor.hue, number[hour].elements_huecolor.sat,brightness-numbrightness);
|
||||||
|
number[next_hour].fill(number[next_hour].elements_huecolor.hue, number[next_hour].elements_huecolor.sat,numbrightness);
|
||||||
|
pointer[hour].ffill(NUM_MINUTES-minute, NUM_MINUTES);
|
||||||
|
pointer[next_hour].ffill(minute, NUM_MINUTES);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_clock::showtime(uint8_t hour, uint8_t minute, uint8_t second)
|
||||||
|
{
|
||||||
|
if(second == 0)
|
||||||
|
{
|
||||||
|
if(minute!=0)
|
||||||
|
{
|
||||||
|
animate_new_minute( minute , second, hour);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
animate_new_hour( minute , second, hour);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FastLED.clearData();
|
||||||
|
show_minute( minute );
|
||||||
|
ringsecs[second].fill();
|
||||||
|
show_hour( hour, minute);
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#include "clockelements.hpp"
|
#include "led_clockelements.hpp"
|
||||||
|
|
||||||
void elements::init(CRGB *pixels, unsigned int first_led, unsigned int number_leds, hue_color huecolor, bool outside2inside)
|
void elements::init(CRGB *pixels, unsigned int first_led, unsigned int number_leds, hue_color huecolor, bool outside2inside)
|
||||||
{
|
{
|
||||||
|
@ -11,6 +11,12 @@ void elements::init(CRGB *pixels, unsigned int first_led, unsigned int number_le
|
||||||
//Serial.printf("Init pixels - first:%d last:%d number:%d outsidetoinside:%d\n", element_first_pixel, element_last_pixel, element_number_pixels, element_outside2inside);
|
//Serial.printf("Init pixels - first:%d last:%d number:%d outsidetoinside:%d\n", element_first_pixel, element_last_pixel, element_number_pixels, element_outside2inside);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void elements::show(void)
|
||||||
|
{
|
||||||
|
FastLED.show();
|
||||||
|
delay(FASTLEDDLY);
|
||||||
|
}
|
||||||
|
|
||||||
void elements::clean(void)
|
void elements::clean(void)
|
||||||
{
|
{
|
||||||
fill(0, 0, 0);
|
fill(0, 0, 0);
|
||||||
|
@ -30,25 +36,22 @@ void elements::test(uint8_t huecolor, uint8_t saturation, uint8_t brightness, bo
|
||||||
{
|
{
|
||||||
unsigned int setpix = element_outside2inside == true? element_last_pixel: element_first_pixel ;
|
unsigned int setpix = element_outside2inside == true? element_last_pixel: element_first_pixel ;
|
||||||
char plus_minus = element_outside2inside == true? -1:1;
|
char plus_minus = element_outside2inside == true? -1:1;
|
||||||
for(uint8_t nrpixel = 0; nrpixel < element_number_pixels; nrpixel++)
|
for(unsigned int nrpixel = 0; nrpixel < element_number_pixels; nrpixel++)
|
||||||
{
|
{
|
||||||
element_pixels[setpix] = CHSV(huecolor,saturation, brightness);
|
element_pixels[setpix] = CHSV(huecolor,saturation, brightness);
|
||||||
setpix = setpix + plus_minus;
|
setpix = setpix + plus_minus;
|
||||||
if( all_at_once == false)
|
if( all_at_once == false)
|
||||||
{
|
{
|
||||||
FastLED.show();
|
show();
|
||||||
delay(FASTLEDDLY);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( all_at_once == true)
|
if( all_at_once == true)
|
||||||
{
|
{
|
||||||
FastLED.show();
|
show();
|
||||||
delay(FASTLEDDLY);
|
|
||||||
}
|
}
|
||||||
delay(100);
|
delay(100);
|
||||||
clean();
|
clean();
|
||||||
FastLED.show();
|
show();
|
||||||
delay(FASTLEDDLY);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void elements::fill(void)
|
void elements::fill(void)
|
||||||
|
@ -63,41 +66,40 @@ void elements::fill(hue_color huecolor)
|
||||||
|
|
||||||
void elements::fill(uint8_t huecolor, uint8_t saturation, uint8_t brightness)
|
void elements::fill(uint8_t huecolor, uint8_t saturation, uint8_t brightness)
|
||||||
{
|
{
|
||||||
for(uint8_t nrpixel = element_first_pixel; nrpixel <= element_last_pixel; nrpixel++)
|
for(unsigned int nrpixel = element_first_pixel; nrpixel <= element_last_pixel; nrpixel++)
|
||||||
{
|
{
|
||||||
element_pixels[nrpixel] = CHSV(huecolor,saturation, brightness);
|
element_pixels[nrpixel] = CHSV(huecolor,saturation, brightness);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void elements::ffill(unsigned int fraction)
|
void elements::ffill(unsigned int fraction, unsigned int fullvalue)
|
||||||
{
|
{
|
||||||
ffill(fraction, elements_huecolor.hue, elements_huecolor.sat, elements_huecolor.bright);
|
ffill(fraction, fullvalue, elements_huecolor.hue, elements_huecolor.sat, elements_huecolor.bright);
|
||||||
}
|
}
|
||||||
|
|
||||||
void elements::ffill(unsigned int fraction, hue_color huecolor)
|
void elements::ffill(unsigned int fraction, unsigned int fullvalue, hue_color huecolor)
|
||||||
{
|
{
|
||||||
ffill(fraction, huecolor.hue, huecolor.sat, huecolor.bright);
|
ffill(fraction, fullvalue, huecolor.hue, huecolor.sat, huecolor.bright);
|
||||||
}
|
}
|
||||||
|
|
||||||
void elements::ffill(unsigned int fraction, uint8_t huecolor, uint8_t saturation, uint8_t brightness)
|
void elements::ffill(unsigned int fraction, unsigned int fullvalue, uint8_t huecolor, uint8_t saturation, uint8_t brightness)
|
||||||
{
|
{
|
||||||
uint8_t fullpixels = element_number_pixels / fraction;
|
unsigned int value_of_pixel = fullvalue / element_number_pixels; //this is what part one pixel of the element represents of the full value
|
||||||
uint8_t partpixels = element_number_pixels % fraction;
|
unsigned int fullpixels = fraction / value_of_pixel; //the number of pixels that represents the fraction (part of the fullvalue)
|
||||||
elements_fraction = brightness / (60/element_number_pixels);
|
unsigned int partialpixel = fraction % value_of_pixel; //the left over of the division of fraction and value of one pixel
|
||||||
uint8_t part_brightness = elements_fraction * partpixels;
|
uint8_t partial_brightness = (uint8_t)((brightness/element_number_pixels)*partialpixel);
|
||||||
|
|
||||||
unsigned int current_pixel = 0;
|
unsigned int current_pixel = 0;
|
||||||
|
for(unsigned int num = 0; num < fullpixels; num++)
|
||||||
for(uint8_t num = 0; num < fullpixels; num++)
|
|
||||||
{
|
{
|
||||||
current_pixel = element_outside2inside==true? element_last_pixel - num : element_first_pixel + num;
|
current_pixel = element_outside2inside==true? element_last_pixel - num : element_first_pixel + num;
|
||||||
element_pixels[current_pixel] = CHSV(huecolor,saturation, brightness);
|
element_pixels[current_pixel] = CHSV(huecolor,saturation, brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(partpixels > 0)
|
if(partialpixel > 0)
|
||||||
{
|
{
|
||||||
current_pixel = element_outside2inside==true? element_last_pixel - fullpixels : element_first_pixel + fullpixels;
|
current_pixel = element_outside2inside==true? element_last_pixel - fullpixels : element_first_pixel + fullpixels;
|
||||||
element_pixels[current_pixel] = CHSV(huecolor,saturation, part_brightness);
|
element_pixels[current_pixel] = CHSV(huecolor,saturation, partial_brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -3,43 +3,13 @@
|
||||||
//#include <SoftwareWire.h> // must be included here so that Arduino library object file references work
|
//#include <SoftwareWire.h> // must be included here so that Arduino library object file references work
|
||||||
//#include <RtcDS3231.h>
|
//#include <RtcDS3231.h>
|
||||||
|
|
||||||
|
#include "led_clock.hpp"
|
||||||
#include "clockelements.hpp"
|
led_clock ledclock;
|
||||||
|
|
||||||
//SoftwareWire myWire(A4, A5);
|
//SoftwareWire myWire(A4, A5);
|
||||||
//RtcDS3231<SoftwareWire> Rtc(myWire);
|
//RtcDS3231<SoftwareWire> Rtc(myWire);
|
||||||
|
|
||||||
const unsigned int PIN_BUZZER = 9;
|
const unsigned int PIN_BUZZER = 9;
|
||||||
const uint8_t PIN_PIXELS = D3; //6;
|
|
||||||
|
|
||||||
const uint16_t NUM_RING_PIXELS = 180U;
|
|
||||||
const uint8_t NUM_SECONDS = 60U;
|
|
||||||
const uint16_t NUM_RING_SEC_PIXELS = NUM_RING_PIXELS/NUM_SECONDS;
|
|
||||||
const uint8_t NUM_MINUTES = 60U;
|
|
||||||
const uint16_t NUM_RING_MIN_PIXELS = 1;
|
|
||||||
const uint16_t NUM_POINTER_PIXELS = 6U;
|
|
||||||
const uint16_t NUM_POINTERS = 12U;
|
|
||||||
const uint16_t NUM_POINTERS_PIXELS = NUM_POINTER_PIXELS * NUM_POINTERS;
|
|
||||||
const int16_t NUM_NUMBERS = 12U;
|
|
||||||
const uint16_t NUM_NUMBER_PIXELS[NUM_NUMBERS] = {2,4,4,4,4,4,4,4,4,4,4,5};
|
|
||||||
const uint16_t NUM_NUMBERS_PIXELS = NUM_NUMBER_PIXELS[0] + NUM_NUMBER_PIXELS[1] + NUM_NUMBER_PIXELS[2] + NUM_NUMBER_PIXELS[3] + NUM_NUMBER_PIXELS[4] + NUM_NUMBER_PIXELS[5] + NUM_NUMBER_PIXELS[6] + NUM_NUMBER_PIXELS[7] + NUM_NUMBER_PIXELS[8] + NUM_NUMBER_PIXELS[9] + NUM_NUMBER_PIXELS[10] + NUM_NUMBER_PIXELS[11];
|
|
||||||
const uint16_t NUM_ALL_PIXELS = NUM_RING_PIXELS + NUM_POINTERS_PIXELS + NUM_NUMBERS_PIXELS;
|
|
||||||
|
|
||||||
CRGB * pixels;
|
|
||||||
|
|
||||||
//Adafruit_NeoPixel pixels(NUM_ALL_PIXELS, PIN_PIXELS, NEO_GRB + NEO_KHZ800);
|
|
||||||
|
|
||||||
elements number[NUM_NUMBERS];
|
|
||||||
elements pointer[NUM_POINTERS];
|
|
||||||
elements ringsecs[NUM_SECONDS];
|
|
||||||
elements ringmins[NUM_MINUTES];
|
|
||||||
|
|
||||||
const hue_color COLOR_SECS = {HUE_GREEN,255,128}; // green
|
|
||||||
const hue_color COLOR_HOURS = {HUE_RED,255,128}; // red
|
|
||||||
const hue_color COLOR_MINS = {HUE_BLUE,255,128}; // blue
|
|
||||||
const hue_color COLOR_NUMS = {0,0,255}; // white
|
|
||||||
const hue_color color[] = {COLOR_SECS, COLOR_MINS, COLOR_HOURS, COLOR_NUMS};
|
|
||||||
enum color_type {COL_SECOND = 0, COL_MINUTE, COL_HOUR, COL_NUM, COL_LAST};
|
|
||||||
|
|
||||||
const int TICK_FREQ = 40;
|
const int TICK_FREQ = 40;
|
||||||
const int TICK_DLY = 13;
|
const int TICK_DLY = 13;
|
||||||
|
@ -47,6 +17,11 @@ const int TOCK_FREQ = 15;
|
||||||
const int TOCK_DLY = 35;
|
const int TOCK_DLY = 35;
|
||||||
bool tick_not_tock = true;
|
bool tick_not_tock = true;
|
||||||
|
|
||||||
|
const hue_color COLOR_SECS = {HUE_GREEN,255,128}; // green
|
||||||
|
const hue_color COLOR_HOURS = {HUE_RED,255,128}; // red
|
||||||
|
const hue_color COLOR_MINS = {HUE_BLUE,255,128}; // blue
|
||||||
|
const hue_color COLOR_NUMS = {0,0,255}; // white
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void init_rtc()
|
void init_rtc()
|
||||||
{
|
{
|
||||||
|
@ -95,60 +70,6 @@ void init_rtc()
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void init_ringmins() {
|
|
||||||
// init all the seconds shown on the ring
|
|
||||||
Serial.println("Init minutes on outer ring ...");
|
|
||||||
unsigned int current_first_led = 1;
|
|
||||||
for(uint8_t num = 0; num < NUM_MINUTES; num++)
|
|
||||||
{
|
|
||||||
ringmins[num].init(pixels, current_first_led, NUM_RING_MIN_PIXELS, color[COL_MINUTE]);
|
|
||||||
ringmins[num].clean();
|
|
||||||
//ringmins[num].test(true);
|
|
||||||
current_first_led += NUM_RING_PIXELS/NUM_MINUTES;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void init_ringsecs() {
|
|
||||||
// init all the seconds shown on the ring
|
|
||||||
Serial.println("Init seconds on outer ring ...");
|
|
||||||
unsigned int current_first_led = 0;
|
|
||||||
for(uint8_t num = 0; num < NUM_SECONDS; num++)
|
|
||||||
{
|
|
||||||
ringsecs[num].init(pixels, current_first_led, NUM_RING_SEC_PIXELS, color[COL_SECOND]);
|
|
||||||
ringsecs[num].clean();
|
|
||||||
//ringsecs[num].test(true);
|
|
||||||
current_first_led += NUM_RING_SEC_PIXELS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void init_numbers() {
|
|
||||||
// init all the numbers
|
|
||||||
Serial.println("Init numbers ...");
|
|
||||||
unsigned int current_first_led = NUM_RING_PIXELS + NUM_POINTERS_PIXELS;
|
|
||||||
for(uint8_t num = 0; num < NUM_NUMBERS; num++)
|
|
||||||
{
|
|
||||||
number[num].init(pixels, current_first_led, NUM_NUMBER_PIXELS[num],color[COL_NUM]);
|
|
||||||
number[num].clean();
|
|
||||||
number[num].test(true);
|
|
||||||
current_first_led += NUM_NUMBER_PIXELS[num];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void init_pointers() {
|
|
||||||
Serial.println("Init pointers ...");
|
|
||||||
// init all the pointers - each as 6 leds, starts at 12,11,10 ... 1, each even is inversed (goes from outside into center)
|
|
||||||
unsigned int current_first_led = NUM_RING_PIXELS;
|
|
||||||
bool is_insideoutside = false;
|
|
||||||
for(int8_t num = NUM_POINTERS-1; num >= 0; num--)
|
|
||||||
{
|
|
||||||
is_insideoutside = num%2==0? false:true;
|
|
||||||
pointer[num].init(pixels, current_first_led, NUM_POINTER_PIXELS ,color[COL_MINUTE],is_insideoutside);
|
|
||||||
pointer[num].clean();
|
|
||||||
//pointer[num].test();
|
|
||||||
current_first_led += NUM_POINTER_PIXELS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void tick_tock()
|
void tick_tock()
|
||||||
{
|
{
|
||||||
|
@ -160,47 +81,15 @@ void tick_tock()
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void init_test_pixel()
|
|
||||||
{
|
|
||||||
pixels = (CRGB*) malloc(NUM_ALL_PIXELS * sizeof(CRGB) );
|
|
||||||
FastLED.clearData();
|
|
||||||
FastLED.addLeds<WS2812B, PIN_PIXELS, RGB>(pixels, NUM_ALL_PIXELS); // GRB ordering is typical
|
|
||||||
FastLED.clear(true);
|
|
||||||
Serial.printf("Init LED pixels %d \n",NUM_ALL_PIXELS);
|
|
||||||
/*
|
|
||||||
for(unsigned char col = COL_SECOND; col < COL_LAST; col++)
|
|
||||||
{
|
|
||||||
unsigned int pixel = 0;
|
|
||||||
for(pixel = 0; pixel < NUM_ALL_PIXELS; pixel++)
|
|
||||||
{
|
|
||||||
if(pixel > 0)
|
|
||||||
{
|
|
||||||
pixels[pixel-1] = CHSV(0,0,0);
|
|
||||||
}
|
|
||||||
pixels[pixel] = CHSV(color[col].hue, color[col].sat, color[col].bright);
|
|
||||||
FastLED.show();
|
|
||||||
delay(FASTLEDDLY);
|
|
||||||
}
|
|
||||||
pixels[pixel] = CHSV(0,0,0);
|
|
||||||
FastLED.show();
|
|
||||||
delay(FASTLEDDLY);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
Serial.println("Done.");
|
|
||||||
}
|
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
|
||||||
ESP.wdtEnable(5000);
|
ESP.wdtEnable(5000);
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Serial.println("Lets tick ... tock ... tick ... tock ... ");
|
Serial.println("Lets tick ... tock ... tick ... tock ... ");
|
||||||
// put your setup code here, to run once:
|
|
||||||
|
|
||||||
init_test_pixel();
|
ledclock.init(COLOR_SECS, COLOR_MINS, COLOR_HOURS, COLOR_NUMS, ledclock.TEST_NONE );
|
||||||
init_ringsecs();
|
|
||||||
init_ringmins();
|
|
||||||
init_pointers();
|
|
||||||
init_numbers();
|
|
||||||
//init_rtc();
|
//init_rtc();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -236,21 +125,26 @@ void loop() {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
while (0 == 0)
|
||||||
for(unsigned int second = 0; second<60; second++)
|
|
||||||
{
|
{
|
||||||
minute = second == 59 ? minute + 1 : minute;
|
second = second + 1;
|
||||||
hour = minute == 60 ? hour+1 : hour;
|
if(second > 59)
|
||||||
minute = minute > 59 ? 0 : minute;
|
{
|
||||||
hour = hour > 11 ? 0 : hour;
|
second = 0;
|
||||||
|
minute++;
|
||||||
FastLED.clearData();
|
if(minute > 59)
|
||||||
ringsecs[second].fill();
|
{
|
||||||
ringmins[minute].fill();
|
minute = 0;
|
||||||
number[hour].fill();
|
hour++;
|
||||||
FastLED.show();
|
if(hour > 11)
|
||||||
delay(100);
|
{
|
||||||
|
hour = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ledclock.showtime(hour,minute,second);
|
||||||
|
|
||||||
//Serial.printf("%02d : %02d : %02d \n" , hour, minute, second);
|
//Serial.printf("%02d : %02d : %02d \n" , hour, minute, second);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue