/* Private functions ---------------------------------------------------------*/ int32_t getDataCB(int16_t *pBuff, int32_t length) { q15_t rms; UINT bytesread = 0; f_read(&FileRead, pBuff, length*sizeof(int16_t), (void *)&bytesread); audioFilter_filter(pBuff, pBuff, bytesread/sizeof(int16_t)); arm_rms_q15(pBuff,bytesread/sizeof(int16_t),&rms); printf("valor rms: %u \n",rms); if(rms>1000){ if((conteo<5)&(led3on==0)){ if(TickTock_Get() > 700000){ TickTock_Start(); BSP_LED_On(LED6); conteo++; primpulso=0; } }else if((conteo==5) & (TickTock_Get() > 800000)){ TickTock_Start(); BSP_LED_On(LED3); primpulso=1; conteo=0; led3on=1; } }else{ LEDsState = LEDS_OFF; led3on=0; } return bytesread; }
int32_t getDataSineCB(int16_t *pBuff, int32_t length) { static int8_t count = 0; int32_t ret = length * 2; TickTock_Start(); while (length) { *pBuff = sine_500hz_FS8khz[count]; count++; if (SINE_GEN_500HZ_LENGTH <= count) { count = 0; } pBuff++; length--; } TickTock_Stop(); return ret; }