Example #1
0
static int do_line(char* s, size_t length) {
	if( length == 0 )
		return 0;

	if( length >= 5 && memcmp( s, "echo ", 5 ) == 0 ) {
		return echo0( s + 5, length - 5 );
	}

	if( length >= 5 && memcmp( s, "open ", 5 ) == 0 ) {
		return open0( s + 5, length - 5 );
	}

	if( length >= 10 && memcmp( s, "nanosleep ", 10 ) == 0 ) {
		return nanosleep0( s + 10, length - 10 );
	}

	return -1;
}
Example #2
0
//Main method
int32 main ()
{
    //enabling the audio interface
	ulk_proc_audio_init();
	ulk_proc_get_dflt_config(&ulk_audio_config);
	ulk_cpanel_printf("default(init) settings used for microphone\r\n");
	ulk_cpanel_printf("SAMPLE_RATE=%dkhz\r\nBOOST_EFFECT=%d\r\nMIC_L_GAIN=%ddb\r\n",
			ulk_audio_config.SAMPLE_RATE,ulk_audio_config.BOOST_EFFECT,
			ulk_audio_config.MIC_L_GAIN);
	ulk_cpanel_printf("MIC_R_GAIN=%ddb\r\nSPK_L_GAIN=%ddb\r\n",
			ulk_audio_config.MIC_R_GAIN,ulk_audio_config.SPK_L_GAIN);
	ulk_cpanel_printf("SPK_R_GAIN=%ddb\r\nOUT_MODE=%s\r\n",
			ulk_audio_config.SPK_R_GAIN,(ulk_audio_config.OUT_MODE=='S')?"Stereo":"Mono");
	ulk_cpanel_printf("\r\nconfiguring new settings used for line in\r\n");
	
	//new audio settings
	ulk_audio_config.SAMPLE_RATE=44.1;
	ulk_audio_config.BOOST_EFFECT=3;
	ulk_audio_config.MIC_L_GAIN=-6;
	ulk_audio_config.MIC_R_GAIN=-6;
	ulk_audio_config.SPK_L_GAIN=10;
	ulk_audio_config.SPK_R_GAIN=10;
	ulk_audio_config.OUT_MODE='M';
	ulk_proc_audio_set_config(&ulk_audio_config);
	ulk_proc_audio_get_config(&ulk_audio_config);
	ulk_cpanel_printf("SAMPLE_RATE=%dkhz\r\nBOOST_EFFECT=%d\r\nMIC_L_GAIN=%ddb\r\n",
			ulk_audio_config.SAMPLE_RATE,ulk_audio_config.BOOST_EFFECT,
			ulk_audio_config.MIC_L_GAIN);
	ulk_cpanel_printf("MIC_R_GAIN=%ddb\r\nSPK_L_GAIN=%ddb\r\n",
			ulk_audio_config.MIC_R_GAIN,ulk_audio_config.SPK_L_GAIN);
	ulk_cpanel_printf("SPK_R_GAIN=%ddb\r\nOUT_MODE=%s\r\n",
			ulk_audio_config.SPK_R_GAIN,(ulk_audio_config.OUT_MODE=='S')?"Stereo":"Mono");
	
	//PCM audio settings
	ulk_audio_pcm.pcm_type='D';
	ulk_audio_pcm.pcm_data_p=(uint8* )buf;
	ulk_audio_pcm.pcm_size=(ulk_audio_config.SAMPLE_RATE)*1000*10;
	ulk_cpanel_printf("record: %d-samples, %s-line\r\n",ulk_audio_pcm.pcm_size,
			(ulk_audio_pcm.pcm_type=='D')?"Default":((ulk_audio_pcm.pcm_type=='R')?"Right":"Left"));
	//Record audio from input
	ulk_proc_audio_record (&ulk_audio_pcm);
	ulk_cpanel_printf("recording completed");
	
	//LCD

	int i,j;
	int s=0x00;

	//To make the complete screen painted white
	for(i=0; i < GLCD_COLUMNS*GLCD_ROWS; i++)
	{
		*(ptr+i)= WHITE_COLOR;
	}

	//Draw grid of touch panel virtual keys on the white screen
	//of GLCD for touch panel
	draw_grid(GRID_ROWS, GRID_COLUMNS);


	//Enables the touch panel
	ulk_proc_touch_spi_enable();
	// variables to hold touch co-ordinates
	int valx,valy;
	int boxnum;
		while(1)
		{
			int column = 64;//each grid width
			int row = 49;//each grid height
			valx=0;valy=0;boxnum=0;
			pixel = ulk_proc_touch_spi_poll();
					//To find box number if a touch is made
					if((pixel.x != 0) && (pixel.y != 0))
					{
						valx=pixel.x;
						valy=pixel.y -240;
						valx=valx/64+1;
						valy=-(valy)/48+1;
						boxnum=((valy-1)*5)+valx;
						ulk_cpanel_printf("x pos = %d \n",valx);
						ulk_cpanel_printf("y pos = %d \n",valy);
						ulk_cpanel_printf("Box_no = %d \n",boxnum);
						column=column*(valx-1);
						row=row*(valy-1);
						draw_fillbox_black(column,row);
						draw_grid(GRID_ROWS, GRID_COLUMNS);
						//ulk_cpanel_printf("col = %d \n",column);
						//ulk_cpanel_printf("row = %d \n",row);
						//match the box number to the respective effect
						if(boxnum==5)
							echo0();
						if(boxnum==10)
							echo25();
						if(boxnum==15)
							echo35();
						if(boxnum==25)
							echo55();
						if(boxnum==2)
							temp0();
						if(boxnum==7)
							temp0_8();
						if(boxnum==12)
							temp2();
					}

		}

		return 0;

}