Exemplo n.º 1
0
Arquivo: mixer.c Projeto: art103/ar-t6
/**
  * @brief  Receive key presses and update the trim data
  * @note
  * @param  key: Which trim key was pressed.
  * @retval None
  */
void mixer_input_trim(KEYPAD_KEY key)
{
	uint8_t channel = 0;
	int8_t increment = 0;
	uint8_t endstop = 0;

	switch (key)
	{
	case KEY_CH1_UP:
		channel = 0; increment = 1;	break;
	case KEY_CH2_UP:
		channel = 1; increment = 1;	break;
	case KEY_CH3_UP:
		channel = 2; increment = 1;	break;
	case KEY_CH4_UP:
		channel = 3; increment = 1;	break;

	case KEY_CH1_DN:
		channel = 0; increment = -1; break;
	case KEY_CH2_DN:
		channel = 1; increment = -1; break;
	case KEY_CH3_DN:
		channel = 2; increment = -1; break;
	case KEY_CH4_DN:
		channel = 3; increment = -1; break;

	default:
		break;
	}

	if (increment > 0)
	{
		if (g_model.trim[channel] < MIXER_TRIM_LIMIT)
			g_model.trim[channel] += trim_increment;
		else
			endstop = 1;
	}
	else
	{
		if (g_model.trim[channel] > -MIXER_TRIM_LIMIT)
			g_model.trim[channel] -= trim_increment;
		else
			endstop = 1;
	}

	if (g_model.trim[channel] == 0)
		endstop = 1;

	if (endstop != 0)
	{
		keypad_cancel_repeat();
		sound_play_tone(500 + 250*g_model.trim[channel]/MIXER_TRIM_LIMIT, 200);
	}
	else
	{
		sound_play_tone(500 + 250*g_model.trim[channel]/MIXER_TRIM_LIMIT, 100);
	}
}
Exemplo n.º 2
0
ER ev3_speaker_stop() {
	return sound_play_tone(0, 0);
}
Exemplo n.º 3
0
ER ev3_speaker_play_tone(uint16_t frequency, int32_t duration) {
	return sound_play_tone(frequency, duration);
}