summaryrefslogtreecommitdiffstats
path: root/watch-library/shared/watch
Commit message (Collapse)AuthorAgeFilesLines
* Play sound sequences asynchronously (#122)TheOnePerson2023-01-111-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * buzzer sequences: first draft, does not work on hardware yet (but in simulator) * buzzer sequences: add changes to movement.c * buzzer sequences: add demo face to Makefile * buzzer sequences: fix problem of interrupted sounds. Add logic for repeating sub sequences. Tidy up (move logic to watch_buzzer files, remove buzzer_demo_face) * buzzer sequences: tidy up even more * buzzer sequences: disable registering a 32 Hz tick callback for watch faces, so it will be used exclusively by the buzzer sequences functionality * buzzer sequences: add callback slot functionality to watch_rtc and make watch_buzzer use it. Switch internal buzzer sequences tick frequency to 64 Hz. Revert changes to movement.c * buzzer sequences: fix parameter sanity check in watch_rtc code * buzzer sequences/watch_rtc: optimize calling tick callbacks in RTC_Handler * buzzer sequences/watch_rtc: fix error in calling callback functions * buzzer sequences: revert changes to watch_rtc logic. Instead, use TC3 as the source for timing the sound sequences. * buzzer sequences: fix frequency of callback * buzzer sequences: integrate changes from PR #162 (set both CCBUF and PERFBUF for correct buzzer tone)
* Precision watch update (#152)Mikhail Svarichevsky2023-01-103-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Intermediate changes * Databank working * Main commit for precision timing First version where all functions are supposed to be working * Fix math error in nanosec. File storage for location. * Remove obsolete comments * Missing page name on pages rotation - thanks to jeremy * Delete file.diff * Cleanup+tempchart 1) finetune must always reset last calibration time when doing non-0 time correction, even when you are not applying ppm correction. 2) Dithers over 31 periods not 10, more resolution with still no risk of overflow 3) Minute-boundery finetune fix. I also just got this 1-minute error after finetune... 4) Write frequency calibration value in 1 operation rather than 2. All RTC writes must be single operations to avoid partially correct data. 5) Some code cleanup 6) Tempchart face is added for temperature statistics * Update set_time_hackwatch_face.c * Math error in display code of finetune, allow to update correction time even without correction - by long alarm press * Increase reliability of stopping & starting RTC timer As it's quite dangerous operation * hackwatch - days adjust down fix by long alarm * unify style * More comments & last style change * Simulator support RTC operations (watch_rtc_enable and watch_rtc_freqcorr_write) are in common libs. * Unicode fix * Crystal aging is now adjustable (AA page in nanosec - annual aging, ppm/year) Aging is baked into fixed offset every time finetune is performed, as it relies on last adjustment time. * Blink on non-0 page every minute in finetune to measure clock error * Rolling back private changes * Cleanup * Cleanup * Quality of life changes in nanosec 1. Does not calculate & apply ppm correction if less than 6 hours passed since previous adjustment (as it gives very high correction values which are unrealistic and unhelpful) 2. Idle timeout resets to face 0 only if no correction was made * unify style * Fix low-power errors in nanosec infrastructure, faster display in finetune * Merge fix * unify style Co-authored-by: Jeremy O'Brien <neutral@fastmail.com> Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
* Weeknumber watch faceSlim2022-12-022-10/+84
| | | | Same as simple clock, but has iso 8601 week number instead of seconds counter
* only include watch_main_loop.h in simulator buildsjoeycastillo2022-10-111-0/+4
|
* add watch_reset_to_bootloader function (resolves #81)Joey Castillo2022-08-141-0/+4
|
* simulator: add USB serial input fieldJoey Castillo2022-05-091-0/+4
|
* add ability to read from USB serialJoey Castillo2022-05-082-2/+11
|
* add support for a small filesystem on the watchJoey Castillo2022-05-062-0/+93
|
* remove all deprecated functionsJoey Castillo2022-04-105-53/+0
|
* charset tweaks: no need to run deeper checksJoey Castillo2022-04-101-8/+8
|
* character map tweaks: add some ligatures and symbolsJoey Castillo2022-04-061-6/+6
|
* Add tomato face: a pomodoro style timer (#61)Wesley Ellis2022-04-062-0/+16
|
* Movement: Astronomy and Orrery watch faces (#55)joeycastillo2022-03-041-0/+1
|
* Updated function briefDavid Keck2022-02-221-1/+1
|
* move pins.h include to watch.hJoey Castillo2022-02-171-0/+1
|
* remove obsolete low battery checkJoey Castillo2022-02-131-8/+0
|
* sleep / deepsleep: update low power numbersJoey Castillo2022-02-131-3/+4
|
* utility: add function for formatting a duration in days + HMSJoey Castillo2022-02-062-0/+25
|
* Merge branch 'main' of github.com:joeycastillo/Sensor-WatchJoey Castillo2022-02-011-0/+6
|\
| * Adjust function semantics by "flipping" bit orderAlexsander Akers2022-01-271-1/+2
| |
| * Add new function to disable certain RTC periodic callbacksAlexsander Akers2022-01-271-0/+5
| |
* | add function for converting to 12 hour timeJoey Castillo2022-01-312-0/+20
|/
* Implement buzzer methods with AudioContext APIAlexsander Akers2022-01-271-0/+28
|
* add SPI to the indexJoey Castillo2022-01-273-4/+6
|
* implement SPI flash chipJoey Castillo2022-01-261-4/+11
|
* watch library: implement SPIJoey Castillo2022-01-262-0/+60
|
* Merge branch 'main' of github.com:joeycastillo/Sensor-Watch into mainJoey Castillo2022-01-261-21/+4
|\
| * Remove ADC_* defines in favor of hardware-specific mappingAlexsander Akers2022-01-251-21/+4
| |
* | watch library: implement UARTJoey Castillo2022-01-261-11/+28
|/
* Sensor Watch Simulator (#35)Alexsander Akers2022-01-2517-0/+2026
* Put something on screen * Use the 32bit watch_date_time repr to pass from JS * Implement periodic callbacks * Clear display on enabling * Hook up watch_set_led_color() to SVG (green-only) * Make debug output full-width * Remove default Emscripten canvas * Implement sleep and button clicks * Fix time zone conversion bug in beats-time app * Clean up warnings * Fix pin levels * Set time zone to browser value (if available) * Add basic backup data saving * Silence format specifier warnings in both targets * Remove unnecessary, copied files * Use RTC pointer to clear callbacks (if available) * Use preprocessor define to avoid hardcoding MOVEMENT_NUM_FACES * Change each face to const preprocessor definition * Remove Intl.DateTimeFormat usage * Update shell.html title, header * Add touch start/end event handlers on SVG buttons * Update shell.html * Update folder structure (shared, simulator, hardware under watch-library) * Tease out shared components from watch_slcd * Clean up simulator watch_slcd.c inline JS calls * Fix missing newlines at end of file * Add simulator warnings (except format, unused-paremter) * Implement remaining watch_rtc functions * Fix button bug on mouse down then drag out * Implement remaining watch_slcd functions * Link keyboard events to buttons (for keys A, L, M) * Rewrite event handling (mouse, touch, keyboard) in C * Set explicit text UTF-8 charset in shell.html * Address PR comments * Remove unused directories from include paths