summaryrefslogtreecommitdiffstats
path: root/movement/movement.c
Commit message (Collapse)AuthorAgeFilesLines
* Precision watch update (#152)Mikhail Svarichevsky2023-01-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* new backer firmware with original lineupjoeycastillo2022-11-291-1/+3
|
* allow setting default LED colors in movement_configjoeycastillo2022-11-281-1/+10
|
* Merge branch 'main' into auto-fire-long-pressTheOnePerson2022-10-261-4/+19
|\
| * Add an Alarm face to movement (#96)TheOnePerson2022-10-251-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add movement_play_alarm_beeps() to movement.c and make alarm sounds customizable. Add alarm indicator to simple watch face. * Add alarm face * alarm_face: fix problem with disabling alarms for 00:00. * Fix typos in comments and get rid of of unused variable warning * remove unnecessary constant * simple_clock_face: fix disappearing chime indicator after face switch, enable alarm indicator updates in app loop (for one-time alarms). movement: handle situations where watch is in sleep mode and chimes fire off at the same time as alarms properly. * alarm_face: tweak process of displaying things on the lcd. Add extra long and extra short alarms. Increase number of alarm slots to 16. * alarm face: fix alarms playing one beeping round more than set. * alarm face: add proper quick cycling of hour and minute setting * alarm-face: correct am/pm indication and some minor tweaks. Reset movement_config.h to current main branch. simple-watch-face: Remove unnecessary check and swap indicators (alarm / hourly chime) * alarm-face: reverse commit parts from another branch (accidentially commited logic depending on movement firmware auto firing the long press event) Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
| * Merge pull request #103 from wryun/long-press-home-to-settingsjoeycastillo2022-10-231-4/+19
| |\ | | | | | | Long press of mode on home screen goes to settings
| | * make this an if/then to please emscriptenjoeycastillo2022-10-231-5/+6
| | |
| | * disable settings hiding by defaultjoeycastillo2022-10-231-3/+7
| | |
| | * Long press of mode on home screen goes to settingsJames Haggerty2022-10-191-4/+14
| | | | | | | | | | | | | | | This also changes the default rotation so you don't see the settings screens.
* | | Movement: implement auto firing of long press events and introduce long up ↵TheOnePerson2022-10-231-11/+33
|/ / | | | | | | event. (Also re-implement alarm_enabled and alarm_note)
* | allow watch faces to schedule tasks from backgroundjoeycastillo2022-10-221-3/+11
| |
* | fix scheduled tasks scheduling another taskNiclas Hoyer2022-10-211-0/+4
|/
* use watch_face_changed propertyjoeycastillo2022-10-121-1/+1
|
* no need to set this (set in movement_move_to_face)joeycastillo2022-10-111-1/+0
|
* don't sleep on watch face changejoeycastillo2022-10-111-3/+11
|
* Make long press mode go back to face 0 instead of next faceJames Haggerty2022-10-121-3/+8
|
* Merge branch 'main' of github.com:joeycastillo/Sensor-Watch into lfsJoey Castillo2022-08-021-12/+31
|\
| * movement: wake programmatically from background and play alarmJoey Castillo2022-07-171-12/+31
| |
* | add file browser to movement, remove old appJoey Castillo2022-05-091-1/+3
| |
* | simulator: add USB serial input fieldJoey Castillo2022-05-091-0/+30
|/
* movement: only run custom commands at first launchJoey Castillo2022-04-211-4/+4
|
* stargazer firmware: make LED red by defaultJoey Castillo2022-04-211-0/+4
|
* freeze snapshot of standard firmware in alt_fwJoey Castillo2022-04-211-1/+1
|
* add mechanism for building alternate firmware imagesJoey Castillo2022-04-201-0/+17
|
* movement: start time zone list at UTCJoey Castillo2022-02-131-42/+41
|
* movement: add mechanism for watch faces to use backup registersJoey Castillo2022-02-131-0/+6
|
* movement: prevent invalid tick frequency from breaking scheduled tasksJoey Castillo2022-02-121-2/+7
|
* Adjust function semantics by "flipping" bit orderAlexsander Akers2022-01-271-1/+1
|
* Add new function to disable certain RTC periodic callbacksAlexsander Akers2022-01-271-7/+1
|
* Sensor Watch Simulator (#35)Alexsander Akers2022-01-251-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* movement: long press on MODE always dismisses the active faceJoey Castillo2022-01-191-0/+5
|
* movement: reset tick to 1 Hz between watch faces (fixes #36)Joey Castillo2022-01-191-0/+1
|
* Merge branch 'main' of github.com:joeycastillo/Sensor-Watch into mainJoey Castillo2022-01-151-0/+12
|\
| * Add movement_cancel_background_taskWesley Ellis2022-01-011-0/+12
| | | | | | | | Provide a way for a scheduled background task to be cancelled
* | add MIT license text to movement filesJoey Castillo2022-01-151-0/+24
|/
* Movement: give watch faces their index at setup timeJoey Castillo2021-12-201-1/+1
|
* Movement: allow scheduling precisely timed background tasks (resolves #28)Joey Castillo2021-12-201-0/+36
|
* fix missing prototype warningsJoey Castillo2021-12-101-30/+30
|
* movement: allow watch faces to request zero ticksJoey Castillo2021-12-031-1/+1
|
* movement: add option to always snap back to first watch faceJoey Castillo2021-12-021-1/+8
|
* movement: fix yesterday's bug that was keeping us awakeJoey Castillo2021-11-301-1/+1
|
* movement: add alarm and signal functionsJoey Castillo2021-11-291-3/+38
|
* movement bugfix: prevent repeated timeout events from stalling watch faceJoey Castillo2021-11-291-0/+1
|
* movement: more granular button and LED timing via fast tickJoey Castillo2021-11-291-25/+59
|
* movement: these durations don't need to be 32-bit intsJoey Castillo2021-11-281-1/+1
|
* movement: add world clock faceJoey Castillo2021-11-261-0/+3
|
* movement: store settings in BKUP to persist across resetsJoey Castillo2021-11-251-1/+3
|
* movement: implement time zone settingJoey Castillo2021-11-251-0/+45
|
* bugfix: activate current watch face when waking from sleepJoey Castillo2021-11-081-1/+1
|
* movement: refactor timeout to tick first, then notifyJoey Castillo2021-11-071-6/+10
|