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; }
//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; }