void handle_freqpot_changing_filtermode(void){ static uint16_t state=0; static uint16_t ctr=0; ctr++; if (ctr==10000){ //User took too long, start over state=0; ctr=0; } if (state==7){ if (filter_type==MAXQ) change_filter_type(BPRE); else change_filter_type(MAXQ); state=0; ctr=0; } if ((state&1) && adc_buffer[FREQNUDGE1_ADC] > 4000){ state++; ctr=0; } if (!(state&1) && adc_buffer[FREQNUDGE1_ADC] < 100){ state++; ctr=0; } }
void handle_freqpot_changing_filtermode_mode(void){ static uint16_t state=0; static uint16_t ctr=0; ctr++; if (ctr==18000){ //User took too long, start over state=0; ctr=0; } if (state==3){ if (filter_mode==TWOPASS) filter_mode=ONEPASS; else filter_mode=TWOPASS; change_filter_type(MAXQ); state=0; ctr=0; } if ((state&1) && adc_buffer[FREQNUDGE1_ADC] > 3500){ state++; ctr=0; } if (!(state&1) && adc_buffer[FREQNUDGE1_ADC] < 500){ state++; ctr=0; } }
//Loads the active parameters from an SRAM bank void load_params_from_sram(uint8_t bank_num){ uint8_t i; uint8_t already_set_hover=0; cur_colsch = flash_cur_colsch[bank_num]; change_filter_type( flash_filter_type[bank_num]); for (i=0;i<NUM_CHANNELS;i++){ note[i] = flash_note[bank_num][i]; scale[i] = flash_scale[bank_num][i]; scale_bank[i] = flash_scale_bank[bank_num][i]; lock[i] = flash_lock[bank_num][i]; q_locked[i] = flash_q_locked[bank_num][i]; qval[i] = flash_qval[bank_num][i]; freq_nudge[i] = flash_freq_nudge[bank_num][i]; rot_dir[i] = 0; motion_fadeto_scale[i] = scale[i]; motion_scale_dest[i] = scale[i]; motion_spread_dir[i] = 0; motion_spread_dest[i] = note[i]; motion_fadeto_note[i] = note[i]; if (!lock[i] && !already_set_hover) { hover_scale_bank = scale_bank[i]; already_set_hover=1; } } if (!already_set_hover) hover_scale_bank = scale_bank[0]; }
//Loads the active parameters from an SRAM bank void load_params_from_sram(uint8_t bank_num){ uint8_t i,j; uint8_t already_set_hover=0; cur_colsch = flash_cur_colsch[bank_num]; change_filter_type( flash_filter_type[bank_num]); filter_mode = flash_filter_mode[bank_num]; freqblock = flash_freqblock[bank_num]; num_freq_blocked = 0; for (j=0; j<NUMSCALEBANKS; j++){ if (freqblock & (1<<j)) num_freq_blocked+=1; } if (num_freq_blocked > 14){ freqblock = 0; //invalid num_freq_blocked=0; } for (i=0;i<NUM_CHANNELS;i++){ note[i] = flash_note[bank_num][i]; scale[i] = flash_scale[bank_num][i]; scale_bank[i] = flash_scale_bank[bank_num][i]; lock[i] = flash_lock[bank_num][i]; q_locked[i] = flash_q_locked[bank_num][i]; qval[i] = flash_qval[bank_num][i]; qval_goal[i] = qval[i]; freq_nudge[i] = flash_freq_nudge[bank_num][i]; rot_dir[i] = 0; motion_fadeto_scale[i] = scale[i]; motion_scale_dest[i] = scale[i]; motion_spread_dir[i] = 0; motion_spread_dest[i] = note[i]; motion_fadeto_note[i] = note[i]; if (!lock[i] && !already_set_hover) { hover_scale_bank = scale_bank[i]; already_set_hover=1; } } if (!already_set_hover) hover_scale_bank = scale_bank[0]; }