From b8de35658ffd78ad8b22f91ccbbd3d63663afda9 Mon Sep 17 00:00:00 2001 From: Alexsander Akers Date: Tue, 25 Jan 2022 15:03:22 -0500 Subject: Sensor Watch Simulator (#35) * 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 --- apps/beats-time/app.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'apps') diff --git a/apps/beats-time/app.c b/apps/beats-time/app.c index 3a8c2dac..ef27ffef 100644 --- a/apps/beats-time/app.c +++ b/apps/beats-time/app.c @@ -3,7 +3,7 @@ #include #include "watch.h" -const uint8_t UTC_OFFSET = 4; // set to your current UTC offset to see correct beats time +const int8_t UTC_OFFSET = 4; // set to your current UTC offset to see correct beats time const uint8_t BEAT_REFRESH_FREQUENCY = 8; typedef enum ApplicationMode { @@ -160,7 +160,7 @@ float clock2beats(uint16_t hours, uint16_t minutes, uint16_t seconds, int16_t ut float beats = seconds + ((float)application_state.subsecond / (float)BEAT_REFRESH_FREQUENCY); beats += 60 * minutes; beats += (float)hours * 60 * 60; - beats += (utc_offset + 1) * 60 * 60; // offset from utc + 1 since beats in in UTC+1 + beats += (1 - utc_offset) * 60 * 60; // offset from utc + 1 since beats in in UTC+1 beats /= 86.4; // convert to beats while(beats > 1000) beats -= 1000; // beats %= 1000 but for a float -- cgit v1.2.3