Commit graph

820 commits

Author SHA1 Message Date
Edward Shin 5b762d0168 USB Improvements
* Introduce shell module for basic serial shell with argument parsing
* Introduce shell_cmd_list module for basic compile-time command
  registration
* Harden USB handling to hang less and drop fewer inputs
  - Service tud_task() with periodic TC0 timer interrupt
  - Service cdc_task() with periodic TC1 timer interrupt
  - Handle shell servicing in main app loop
  - Add a circular buffering layer for reads/writes
* Change newline prints to also send carriage return
* Refactor filesystem commands for shell subsystem
* Introduce new shell commands:
  - 'help' command
  - 'flash' command to reset into bootloader
  - 'stress' command to stress CDC writes

Testing:
* Shell validated on Sensor Watch Blue w/ Linux host
* Shell validated in emscripten emulator
* Tuned by spamming inputs during `stress` cmd until stack didn't crash
2024-01-07 00:20:20 -05:00
Wesley Aptekar-Cassels 63d6bc6aa0
Merge pull request #336 from theAlexes/theAlexes/sanitize
fix undefined behavior found by clang's sanitize

The compiler isn't completely assured of the possible range of this variable. Probably harmless, but it clears up a clang sanitize error.
2023-12-06 21:49:58 -05:00
Alex Maestas 8206f37fcf fix undefined behavior found by clang's sanitize 2023-12-07 02:24:26 +00:00
PrimmR 1b90a4a07a
Kitchen Conversions Face 2023-12-01 15:33:38 -05:00
Wesley Aptekar-Cassels 91c82ee5f2
Merge pull request #281 from Kistelini/day_one_face
Improvements for Day One face
2023-11-27 23:24:04 -05:00
Wesley Aptekar-Cassels a2f1ba9171
Merge branch 'main' into day_one_face 2023-11-27 23:08:28 -05:00
Alex Utter 7802994854
Fix missing documentation for many clock faces:
* Move from .c to .h as needed for consistency.
* When missing from both, copy from pull request or wiki.
* When missing entirely, infer functionality from source code.
2023-11-27 23:06:19 -05:00
Wesley Aptekar-Cassels 3487d742f1
Merge pull request #330 from hchargois/fix-simulator-keyboard-shortcuts
Fix simulator keyboard shortcuts
2023-11-19 21:56:05 -05:00
Hugo Chargois b82d728937 Simulator: Add keyboard arrows as buttons shortcuts 2023-11-19 19:50:39 +01:00
Hugo Chargois bd9d792230 Simulator: Allow sending debug command with Enter 2023-11-19 19:50:39 +01:00
Hugo Chargois 2534dc7a65 Simulator: Allow typing a, l & m in console input
These keys are the shortcuts to "press" the alarm, light and mode
buttons. However, they prevent these letters from being input in the
debug console to send filesystem commands. Strangely, there was already
some code to allow typing these letters in the console output, but not
in the input.
2023-11-19 19:45:51 +01:00
Wesley Aptekar-Cassels 4ececdc57a
Merge pull request #305 from ekaitz-zarraga/couch-2-5k
Add Couch-To-5k training face
2023-11-19 11:44:11 -05:00
Ekaitz Zárraga 735bbc97d7
Merge branch 'main' into couch-2-5k 2023-11-19 15:36:52 +01:00
Ekaitz Zarraga f77ddc83b8 Resign when the entering LE 2023-11-19 15:31:56 +01:00
Ekaitz Zarraga 30c8da7f55 Fit naming conventions 2023-11-19 15:28:45 +01:00
Wesley Aptekar-Cassels 50e3da11bd
Merge pull request #308 from BrianBinFL/feat/minute-repeater-decimal-face
Add minute repeater decimal face
2023-11-19 01:07:31 -05:00
Wesley Aptekar-Cassels 6cc2b23723
Merge branch 'main' into feat/minute-repeater-decimal-face 2023-11-19 00:56:33 -05:00
Wesley Aptekar-Cassels 76b580a5be
Merge pull request #262 from rieck/timestamp-fix
Fix for incorrect conversion from `watch_date_time` to Unix time.
2023-11-19 00:10:19 -05:00
Wesley Aptekar-Cassels c4a5cb463e
Merge pull request #276 from hchargois/simulator-volume-slider
Simulator volume slider
2023-11-18 23:17:56 -05:00
Wesley Aptekar-Cassels 3b9fd8b0e9
Merge pull request #302 from LtKeks/Sensor-Watch-bugfix-timer_face-datatype
timer_face - Possibility to set seconds as default values
2023-11-18 23:12:51 -05:00
Wesley Aptekar-Cassels 2b7162c2be
Merge pull request #270 from perw/tuning_tones
new face: Tuning tones
2023-11-18 23:11:56 -05:00
Victor Graf 5b212a4423
Fix simulator and hardware divergence in callback handling (#252)
When using the simulator, I encountered cases where the light would become stuck on, and the watch
would be unresponsive. In particular, this would occur when pressing the light button on the
sunrise sunset watch face.

I appears that this is caused by a divergence in out the callback mask is interpreted by the
hardware interface, and in the simulator in the following function.

void watch_rtc_disable_matching_periodic_callbacks(uint8_t mask)

In particular, a mask of 0xFE is intended to disable all except the 128hz callback at index 0,
but instead disables all except the 1hz callback at index 7 in the simulator.
2023-11-18 23:10:45 -05:00
Wesley Aptekar-Cassels ae6ccfd637
Merge pull request #273 from hchargois/atchar-pos-0
Turn on the funky segment of pos 0 for char '@'
2023-11-18 23:09:17 -05:00
Wesley Aptekar-Cassels cda66e8c31
Merge pull request #267 from navan93/print-memory-percentages
Print memory percentages
2023-11-18 23:08:30 -05:00
Hugo Chargois 2e9ea8c36f Improve simulator page design 2023-11-19 01:24:57 +01:00
Jose Castillo 0263d9e0c7
Merge pull request #292 from WesleyAC/error-when-no-color
Don't allow building without setting board color.
2023-11-17 12:31:40 -05:00
Christian Buschau 984990fb66
day_one_face: show set date on short alarm button press 2023-11-17 09:11:18 +01:00
Christian Buschau e8b7985dde
day_one_face: enable quick cycle through settings
This allows the alarm button to be held down in the date settings and
quickly cycle through the dates instead of having to push for each
single increment like in other faces.
2023-11-17 09:11:18 +01:00
Christian Buschau 1022359252
day_one_face: allow years until 2080
This is the same limit introduced in commit 7fd51ca
2023-11-17 09:11:18 +01:00
Christian Buschau 8c7e9fa558
day_one_face: cleanup 2023-11-17 09:11:16 +01:00
Brian Blakley 9c895817a0 Add minute repeater decimal face 2023-10-24 18:20:54 -04:00
Ekaitz Zarraga d3d76ed0e7 Add sound to pause/resume button 2023-10-21 15:47:26 +02:00
Ekaitz Zarraga cde6ae3598 Add Couch-To-5k training face 2023-10-21 01:30:03 +02:00
joeycastillo 67be6affd3 new standard firmware for october boards 2023-10-19 15:49:27 -04:00
LtKeks ad846f5060 Update timer_face.c
Corrects the data type of the standard values in order to be able to configure seconds as well.
2023-10-15 17:35:36 +02:00
Wesley Aptekar-Cassels 7d353bba1c Set default board color for GH workflow.
I've chosen blue arbitrarily.
2023-10-05 12:42:43 -04:00
Wesley Aptekar-Cassels c28ba6ef0b Don't allow building without setting board color.
Fixes: #288
2023-09-28 18:29:32 -04:00
Jose Castillo 5c94111ea2
Merge pull request #283 from neutralinsomniac/fix_hourly_chime_background
fix signal tunes not firing in background, and move buzzer disable/enable logic into movement
2023-09-24 13:06:19 -04:00
joeycastillo b162dc0663 use movement_play_signal for default tune (fixes background signal) 2023-09-24 12:41:18 -04:00
Jeremy O'Brien 45f402b4ec move buzzer enabled detection logic into movement for movement_play_signal/tune
this way watch faces don't have to disable/enable the buzzer themselves
before calling movement_play_signal() and movement_play_tune()
2023-09-23 10:56:12 -04:00
Jeremy O'Brien bfde84f01d fix signal tunes not firing in background, and split out foreground/background chime functions 2023-09-22 07:29:04 -04:00
Hugo Chargois baadb0b43f Save the selected skin of the simulator in local storage 2023-09-16 02:39:39 +02:00
Hugo Chargois 2e364f4ef9 Add a volume slider in the simulator 2023-09-16 02:39:39 +02:00
joeycastillo bc9b4ce700 update alternate firmware for new board color 2023-09-13 14:08:52 -04:00
joeycastillo 9cd39cd3e3 add new COLOR flag 2023-09-13 11:40:40 -04:00
Hugo Chargois ebfeb1f21a Turn on the funky segment of pos 0 for char '@' 2023-09-09 02:22:08 +02:00
Per Waagø 9e88f37ced new face: Tuning tones
Add a new face that plays out tones that can be used as a
reference when tuning musical instruments.
2023-09-06 21:46:31 +02:00
Navaneeth Bhardwaj a5abf7ff7a Print memory percentages
this gives better idea of memories used.
2023-09-03 00:20:04 +05:30
joeycastillo 7fd51caa25 support years through 2080 2023-08-27 17:53:17 -04:00
joeycastillo e4ad0e5567 default year to 2023 2023-08-27 17:53:02 -04:00