コード例 #1
0
ファイル: system_mode.c プロジェクト: karnlund/SMR
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;
	}
}
コード例 #2
0
ファイル: system_mode.c プロジェクト: ngwese/SMR
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;
	}
}
コード例 #3
0
ファイル: system_mode.c プロジェクト: karnlund/SMR
//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];

}
コード例 #4
0
ファイル: system_mode.c プロジェクト: ngwese/SMR
//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];

}