refactor: watch faces no longer need a pointer to settings!

This commit is contained in:
joeycastillo
2024-09-29 09:59:49 -04:00
parent 3bd8f8d51f
commit e88359d1d5
201 changed files with 1180 additions and 1553 deletions

View File

@@ -34,15 +34,13 @@ extern nanosec_state_t nanosec_state;
int total_adjustment;
int8_t finetune_page;
void finetune_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
(void) settings;
void finetune_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
(void) context_ptr;
// Do any pin or peripheral setup here; this will be called whenever the watch wakes from deep sleep.
}
void finetune_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void finetune_face_activate(void *context) {
(void) context;
// Handle any tasks related to your watch face coming on screen.
@@ -131,9 +129,8 @@ static void finetune_update_correction_time(void) {
movement_move_to_face(0); // Go to main face after saving settings
}
bool finetune_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
bool finetune_face_loop(movement_event_t event, void *context) {
(void) settings;
(void) context;
switch (event.event_type) {
@@ -227,7 +224,7 @@ bool finetune_face_loop(movement_event_t event, movement_settings_t *settings, v
// don't light up every time light is hit
break;
default:
movement_default_loop_handler(event, settings);
movement_default_loop_handler(event);
break;
}
@@ -236,8 +233,7 @@ bool finetune_face_loop(movement_event_t event, movement_settings_t *settings, v
return true;
}
void finetune_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void finetune_face_resign(void *context) {
(void) context;
if (total_adjustment != 0) {

View File

@@ -60,10 +60,10 @@ typedef struct {
uint8_t unused;
} finetune_state_t;
void finetune_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void finetune_face_activate(movement_settings_t *settings, void *context);
bool finetune_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void finetune_face_resign(movement_settings_t *settings, void *context);
void finetune_face_setup(uint8_t watch_face_index, void ** context_ptr);
void finetune_face_activate(void *context);
bool finetune_face_loop(movement_event_t event, void *context);
void finetune_face_resign(void *context);
#define finetune_face ((const watch_face_t){ \
finetune_face_setup, \

View File

@@ -146,9 +146,8 @@ void nanosec_save(void) {
nanosec_changed = false;
}
void nanosec_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
void nanosec_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
(void) settings;
if (*context_ptr == NULL) {
if (filesystem_get_file_size("nanosec.ini") != sizeof(nanosec_state)) {
@@ -167,8 +166,7 @@ void nanosec_face_setup(movement_settings_t *settings, uint8_t watch_face_index,
}
}
void nanosec_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void nanosec_face_activate(void *context) {
(void) context;
// Handle any tasks related to your watch face coming on screen.
@@ -267,8 +265,7 @@ float nanosec_get_aging() // Returns aging correction in ppm
}
bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
(void) settings;
bool nanosec_face_loop(movement_event_t event, void *context) {
(void) context;
switch (event.event_type) {
@@ -348,7 +345,7 @@ bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, vo
// don't light up every time light is hit
break;
default:
movement_default_loop_handler(event, settings);
movement_default_loop_handler(event);
break;
}
@@ -357,16 +354,14 @@ bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, vo
return true;
}
void nanosec_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void nanosec_face_resign(void *context) {
(void) context;
nanosec_ui_save();
}
// Background freq correction
bool nanosec_face_wants_background_task(movement_settings_t *settings, void *context) {
(void) settings;
bool nanosec_face_wants_background_task(void *context) {
(void) context;
if (nanosec_state.correction_profile == 0)
return 0; // No need for background correction if we are on profile 0 - static hardware correction.

View File

@@ -86,11 +86,11 @@ typedef struct {
int16_t aging_ppm_pa; // multiplied by 100. Aging per year.
} nanosec_state_t;
void nanosec_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void nanosec_face_activate(movement_settings_t *settings, void *context);
bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void nanosec_face_resign(movement_settings_t *settings, void *context);
bool nanosec_face_wants_background_task(movement_settings_t *settings, void *context);
void nanosec_face_setup(uint8_t watch_face_index, void ** context_ptr);
void nanosec_face_activate(void *context);
bool nanosec_face_loop(movement_event_t event, void *context);
void nanosec_face_resign(void *context);
bool nanosec_face_wants_background_task(void *context);
void nanosec_ui_save(void);
void nanosec_save(void);
float nanosec_get_aging(void);

View File

@@ -211,10 +211,10 @@ typedef struct {
// PUBLIC WATCH FACE FUNCTIONS ////////////////////////////////////////////////
void place_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void place_face_activate(movement_settings_t *settings, void *context);
bool place_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void place_face_resign(movement_settings_t *settings, void *context);
void place_face_setup(uint8_t watch_face_index, void ** context_ptr);
void place_face_activate(void *context);
bool place_face_loop(movement_event_t event, void *context);
void place_face_resign(void *context);
void place_latlon_to_olc(char *pluscode, double latitude, double longitude);
void place_latlon_to_geohash(char *geohash, double latitude, double longitude);

View File

@@ -46,7 +46,7 @@ static void save(save_load_state_t *state) {
filesystem_write_file(filename, (char*)&savefile, sizeof(savefile_t));
}
static void load(save_load_state_t *state, movement_settings_t *settings) {
static void load(save_load_state_t *state) {
watch_store_backup_data(state->slot[state->index].b0, 0);
watch_store_backup_data(state->slot[state->index].b1, 1);
watch_store_backup_data(state->slot[state->index].b2, 2);
@@ -72,8 +72,7 @@ static void load_saves_to_state(save_load_state_t *state) {
}
}
void save_load_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
(void) settings;
void save_load_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
if (*context_ptr == NULL) {
*context_ptr = malloc(sizeof(save_load_state_t));
@@ -81,8 +80,7 @@ void save_load_face_setup(movement_settings_t *settings, uint8_t watch_face_inde
}
}
void save_load_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void save_load_face_activate(void *context) {
save_load_state_t *state = (save_load_state_t *)context;
state->index = 0;
state->update_timeout = 0;
@@ -102,7 +100,7 @@ static void update_display(save_load_state_t *state) {
}
}
bool save_load_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
bool save_load_face_loop(movement_event_t event, void *context) {
save_load_state_t *state = (save_load_state_t *)context;
switch (event.event_type) {
@@ -127,7 +125,7 @@ bool save_load_face_loop(movement_event_t event, movement_settings_t *settings,
break;
case EVENT_ALARM_LONG_PRESS:
if (state->slot[state->index].version) {
load(state, settings);
load(state);
watch_display_string("Loaded", 4);
state->update_timeout = 3;
}
@@ -136,14 +134,13 @@ bool save_load_face_loop(movement_event_t event, movement_settings_t *settings,
movement_move_to_face(0);
break;
default:
return movement_default_loop_handler(event, settings);
return movement_default_loop_handler(event);
}
return true;
}
void save_load_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void save_load_face_resign(void *context) {
(void) context;
// handle any cleanup before your watch face goes off-screen.

View File

@@ -65,10 +65,10 @@ typedef struct {
savefile_t slot[SAVE_LOAD_SLOTS];
} save_load_state_t;
void save_load_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void save_load_face_activate(movement_settings_t *settings, void *context);
bool save_load_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void save_load_face_resign(movement_settings_t *settings, void *context);
void save_load_face_setup(uint8_t watch_face_index, void ** context_ptr);
void save_load_face_activate(void *context);
bool save_load_face_loop(movement_event_t event, void *context);
void save_load_face_resign(void *context);
#define save_load_face ((const watch_face_t){ \
save_load_face_setup, \

View File

@@ -34,20 +34,18 @@ char set_time_hackwatch_face_titles[][3] = {"HR", "M1", "SE", "YR", "MO", "DA",
watch_date_time date_time_settings;
void set_time_hackwatch_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
(void) settings;
void set_time_hackwatch_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
if (*context_ptr == NULL) *context_ptr = malloc(sizeof(uint8_t));
}
void set_time_hackwatch_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void set_time_hackwatch_face_activate(void *context) {
*((uint8_t *)context) = 3;
movement_request_tick_frequency(32);
date_time_settings = watch_rtc_get_date_time();
}
bool set_time_hackwatch_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
bool set_time_hackwatch_face_loop(movement_event_t event, void *context) {
uint8_t current_page = *((uint8_t *)context);
if (event.subsecond == 15) // Delay displayed time update by ~0.5 seconds, to align phase exactly to main clock at 1Hz
@@ -185,7 +183,7 @@ bool set_time_hackwatch_face_loop(movement_event_t event, movement_settings_t *s
// don't light up every time light is hit
break;
default:
movement_default_loop_handler(event, settings);
movement_default_loop_handler(event);
break;
}
@@ -263,8 +261,7 @@ bool set_time_hackwatch_face_loop(movement_event_t event, movement_settings_t *s
return true;
}
void set_time_hackwatch_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void set_time_hackwatch_face_resign(void *context) {
(void) context;
watch_set_led_off();
movement_store_settings();

View File

@@ -50,10 +50,10 @@
#include "movement.h"
void set_time_hackwatch_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void set_time_hackwatch_face_activate(movement_settings_t *settings, void *context);
bool set_time_hackwatch_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void set_time_hackwatch_face_resign(movement_settings_t *settings, void *context);
void set_time_hackwatch_face_setup(uint8_t watch_face_index, void ** context_ptr);
void set_time_hackwatch_face_activate(void *context);
bool set_time_hackwatch_face_loop(movement_event_t event, void *context);
void set_time_hackwatch_face_resign(void *context);
#define set_time_hackwatch_face ((const watch_face_t){ \
set_time_hackwatch_face_setup, \