void factory_reset(void) { uint8_t i,j; flash_firmware_version = FW_VERSION; flash_startupbank=0; flash_clipmode=SHOW_CLIPPING; flash_trackcomp[0]=1.0; flash_trackcomp[1]=1.0; flash_trackoffset[0]=0; flash_trackoffset[1]=0; flash_voltoct_pwm_tracking = 1.0; for (i=0;i<FLASH_NUM_parambanks;i++){ flash_bankstatus[i] = 0xFF; flash_filter_type[i] = MAXQ; flash_filter_mode[i] = TWOPASS; flash_freqblock[i] = 0b00000000000000000000; flash_cur_colsch[i] = 0; for (j=0;j<NUM_CHANNELS;j++){ flash_note[i][j] = j+5; flash_scale[i][j] = 6; flash_scale_bank[i][j] = 0; flash_lock[i][j] = 0; flash_q_locked[i][j] = 0; flash_qval[i][j] = 0; flash_freq_nudge[i][j] = 0; } } set_default_color_scheme(); //copies DEFAULT_COLOR_CH into COLOR_CH cur_colsch = 0; //copy COLOR_SCH into flash_COLOR_CH uint32_t sz=FLASH_SIZE_colschem; uint8_t *src; uint8_t *dst; src = (uint8_t *)COLOR_CH; dst = (uint8_t *)flash_COLOR_CH; while (sz--) *dst++ = *src++; set_default_user_scalebank(); sz=FLASH_SIZE_user_scalebank; src = (uint8_t *)user_scalebank; dst = (uint8_t *)flash_user_scalebank; while (sz--) *dst++ = *src++; set_default_param_values(); store_params_into_sram(0); write_all_params_to_FLASH(); }
void save_param_bank(uint8_t bank_num){ read_all_params_from_FLASH(); if (bank_num>=0 && bank_num<6){ //Set the startup bank to the most recently saved bank (this one) flash_startupbank = bank_num; flash_bankstatus[bank_num] = FLASH_SYMBOL_bankfilled; store_params_into_sram(bank_num); } store_globals_into_sram(); write_all_params_to_FLASH(); cur_param_bank = bank_num; }