示例#1
0
void config_init(void) {
		uint8_t buf[5];
		ext_ram_read_data(EXT_RAM_CONFIG + OFFSET_MAGIC, buf, 5);
		bool force_reset;
		app_button_is_pushed(3, &force_reset); // force reset if back button is pressed
	
		if (force_reset || buf[0] != buf[2] || buf[0] != 0x05 || buf[1] != buf[3] || buf[1] != 0x5E) {
				// set up clear config
				buf[0] = 0x05;
				buf[1] = 0x5E;
				buf[2] = 0x05;
				buf[3] = 0x5E;
				buf[4] = 0x0;
				ext_ram_write_data(EXT_RAM_CONFIG + OFFSET_MAGIC, buf, 5);
				ext_ram_fill(EXT_RAM_CONFIG + OFFSET_DEFAULT_WATCH_FACE, 0, 1);
				for (int i=0; i<CUSTOM_WATCHSET_NUMBER; i++) {
						ext_ram_fill(EXT_RAM_CONFIG + OFFSET_CUSTOM_WATCHSET+(SPIFFS_OBJ_NAME_LEN*i), 0, 1);
				}
				config_reset_global_actions();
				config_reset_watchface_actions();
		} else {
				config_load_global_actions();
				config_load_watchface_actions();
		}
}
示例#2
0
spiffs_file config_get_default_watch_face_fd(void) {
		char buf[32];
		ext_ram_read_data(EXT_RAM_CONFIG + OFFSET_DEFAULT_WATCH_FACE, (uint8_t*)buf, SPIFFS_OBJ_NAME_LEN);
		if (buf[0] == 0) {
				return -1;
		}
		return SPIFFS_open(&fs, buf, SPIFFS_RDONLY, 0);
}
示例#3
0
static uint32_t stopwatch_get_n_lap_start(uint32_t read_lap_no) {
		if (current_lap_no-read_lap_no >= STOPWATCH_RECALL_SIZE) {
				return 0;
		}
		uint32_t slot_no = (read_lap_no - 2)%STOPWATCH_RECALL_SIZE;
		uint32_t read_lap_start;
		ext_ram_read_data(EXT_RAM_DATA_STOPWATCH_RECALL + slot_no * 4, (uint8_t *)&read_lap_start, 4);
		return read_lap_start;
}
示例#4
0
static void config_load_watchface_actions(void) {
		ext_ram_read_data(EXT_RAM_CONFIG + OFFSET_WATCH_FACE_ACTION_HANLDERS, (uint8_t*)default_watchface_actions, sizeof(default_watchface_actions));
}
示例#5
0
static void config_load_global_actions(void) {
		ext_ram_read_data(EXT_RAM_CONFIG + OFFSET_GLOBAL_ACTION_HANLDERS, (uint8_t*)default_global_actions, sizeof(default_global_actions));
}
示例#6
0
void config_get_default_watch_face(char* file_name) {
		ext_ram_read_data(EXT_RAM_CONFIG + OFFSET_DEFAULT_WATCH_FACE, (uint8_t*)file_name, SPIFFS_OBJ_NAME_LEN);
}
static uint16_t get_next_short(uint32_t *ptr) {
    uint8_t data[2];
	  ext_ram_read_data(*ptr, data, 2);
	  (*ptr)+=2;		
	  return data[0] << 8 | data[1];
}
static uint8_t get_next_byte(uint32_t *ptr) {
    uint8_t data;
	  ext_ram_read_data(*ptr, &data, 1);
	  (*ptr)++;
	  return data;
}