예제 #1
0
static void uiFSMdo (void)
{ 
	int delta;
	uint8 chg=0;
	
	if (displayClicked ())
	{
		//toggle mute
		evmCfg.mute = !evmCfg.mute;
		chg=1;		
	}
	delta = displayEncoderDelta ();
	if (delta) 
	{
		//if muted, exit mute
		if (evmCfg.mute)
		{
			evmCfg.mute = 0;
			chg=1;
		}
		delta += evmCfg.hpgain;
		if (delta < 0) delta=0;
		if (delta > 38) delta=38;
		if (delta != evmCfg.hpgain)
		{
			evmCfg.hpgain = delta;
			chg=1;
		}
	}
	if (chg)
	{
		updateUI();
		//tell CODEC
		targetWriteCodecSPIWord (0xa600 | DAC_GAIN);
		targetWriteCodecSPIWord (0xa700 | DAC_GAIN);			
		spsChanged(); //schedule update of flash				
	}
}
예제 #2
0
static void uiFSMdo (void)
{ 
	int delta;
	uint8 chg=0;
	
	if (displayClicked ())
	{
		//toggle mute
		evmCfg.mute = !evmCfg.mute;
		chg=1;		
	}
	delta = displayEncoderDelta ();
	if (delta) 
	{
		//if muted, exit mute
		if (evmCfg.mute)
		{
			evmCfg.mute = 0;
			chg=1;
		}
		delta += evmCfg.hpgain;
		if (delta < 0) delta=0;
		if (delta > 38) delta=38;
		if (delta != evmCfg.hpgain)
		{
			evmCfg.hpgain = delta;
			chg=1;
		}
	}
	if (chg)
	{
		updateUI();
		//tell CODEC
		pCurrentMode->fMsg(MM_SET_OUTGAIN,DAC_GAIN,0);
		spsChanged(); //schedule update of flash				
	}
}