58 Commits

Author SHA1 Message Date
cf11785f44 Write first version of TCP control protocol 2023-05-21 20:53:30 +01:00
e961496973 Come up with TCP control protocol 2023-05-21 20:52:16 +01:00
d2e2ea21df Fix inconsistent dayspec description 2023-05-21 20:45:54 +01:00
8c957d043a Move all firmware files to subdirectory 2023-05-21 15:06:44 +01:00
3d8ec33cd3 Move alarm and time types into dedicated headers 2023-05-21 13:13:02 +01:00
7434f4f037 Support IPv6 in wifi component 2023-05-20 02:30:30 +01:00
fc74ff84ce Add 'sntp ip' command for getting SNTP server's IP
Useful for testing server resolution
2023-05-19 18:13:34 +01:00
ba1fe7239e Reduce log level of unhandled wifi events 2023-05-19 18:12:55 +01:00
199194ef7c Supress annoying GPIO logs 2023-05-19 18:12:19 +01:00
4a6246ba9a Change default timezone so it actually works
Apparently ESP-IDF doesn't actually support timezones like
Europe/London, they have to be specified in full TZ format.
2023-05-19 17:51:48 +01:00
077f3d5552 Allow alarms to be day-specific 2023-05-19 17:16:10 +01:00
00e96f12f0 Add clear subcommand to alarms command 2023-05-19 16:55:11 +01:00
58055bf4b4 Allow no args in settings command
All settings are printed in a tabulated format if no ID specified
2023-05-19 16:18:18 +01:00
e4668f0c04 Implement persistent alarm storage 2023-05-19 16:18:18 +01:00
685e0950bf Create system_utils component
Somewhat of a 'misc' component; handles early initialization, checking
for first boot and rebooting.
2023-05-19 16:17:54 +01:00
9c9f027bb8 Add support for snoozing alarms
Also modified time_manager to pass time by value to time callbacks as
it's a fairly small struct and it will probably be more robust.
2023-05-19 14:02:49 +01:00
17704a5607 Change default time save period to 60000 ms 2023-05-18 01:36:41 +01:00
2c8672d22f Change default alert frequency to 400 Hz 2023-05-18 01:36:41 +01:00
0d12bb7445 Add alarms component 2023-05-18 01:36:41 +01:00
d7dd2025b8 Add seconds to Time type, handle in time component 2023-05-18 01:29:30 +01:00
7926ccc6fa Seperate time storage into its own module 2023-05-18 01:29:30 +01:00
6ec3cae4b3 Seperate SNTP stuff into its own module 2023-05-18 01:29:30 +01:00
89eb99b80f Move time update logic from display module to time manager 2023-05-18 01:29:30 +01:00
d84bb7ac4b Add support for getting day of the week to time module 2023-05-18 01:29:30 +01:00
8904f9ab8e Change default alert sound frequency 2023-05-17 15:24:11 +01:00
371238581f Use smooth SNTP sync mode 2023-05-17 15:24:11 +01:00
06966c2ae6 Create sntp command 2023-05-17 15:24:11 +01:00
2ca513b98d Add date support to time manager 2023-05-17 15:24:11 +01:00
a4a4a035f2 Save/load time to/from storage in time_manager 2023-05-17 15:24:11 +01:00
c82af79d52 Create buttons module
Temporarily just logging button presses, as alarms module doesn't yet
exist.
2023-05-17 15:24:11 +01:00
82334be492 Implement sound module to handle audio alerts 2023-05-16 14:02:54 +01:00
f50525a2a6 Scope creep 2023-05-16 13:57:18 +01:00
2ac7310a21 Move default settings into sub-menu in menuconfig 2023-05-16 13:50:58 +01:00
744f8b2504 Configure SNTP 2023-05-16 00:07:43 +01:00
62405149ad Add setting for SNTP server 2023-05-16 00:07:43 +01:00
7d84b95ad5 Implement WiFi networking 2023-05-16 00:07:43 +01:00
129e8188d2 Tick off some of the planned features in the README 2023-05-16 00:07:43 +01:00
3a34109ccf Remove decimal point from display 2023-05-16 00:07:43 +01:00
f115ed7394 Add a settings console command 2023-05-16 00:07:43 +01:00
0634787df3 Add a console with a reboot command
Couldn't just call the component "console" as that conflicted with the
ESP-IDF component, so opted for "console-wrapper".
2023-05-16 00:07:43 +01:00
e4fa25a61e Remove unused #include and component require from fatal component 2023-05-16 00:07:43 +01:00
3ab6c20e58 Rename config module to settings 2023-05-16 00:07:43 +01:00
cee2e368dc Flesh out time module 2023-05-16 00:07:43 +01:00
8be7ec1e28 Add timezone config item 2023-05-16 00:07:43 +01:00
be666164f4 Create display module top level 2023-05-16 00:07:43 +01:00
81f5c6aaa0 Create time module stub 2023-05-16 00:07:43 +01:00
95cf84728d Write driver for 7-segment display 2023-05-16 00:07:43 +01:00
87c9ca3c81 Add SSID and PSK config items 2023-05-16 00:07:43 +01:00
81dfa7fe1c Add default hostname Kconfig item 2023-05-16 00:07:43 +01:00
d7f1c2ace0 Restructure config module for easier addition of items 2023-05-16 00:07:43 +01:00