This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52832 SDK12.2 NRF_LOG stops working after arm_rfft_q15

Have project setup to read values from ADC and then run fft_process. Then print them out over uart using NRF_LOG_* statements. However after we call the arm fft functions, the NRF_LOG functions stop printing. The debugger confirms that the program execution is getting to the end of main and hitting our while loop. And the fft has filled in the output buffer. If we comment out the call to "fft_process" then we get all our debug LOG statements printed otherwise we only get them up to the call to "fft_process".

Note we have disabled NRF_LOG_DEFFERED.

How could using the fft functions break the NRF_LOG functions?

arm_cfft_radix4_instance_q15 C;
arm_rfft_instance_q15 S;

static void fft_process(q15_t *p_input,
		//                        const arm_rfft_instance_q15 * p_input_struct,
		q15_t *p_output,
		uint16_t output_size)
{
	arm_status err_code;

	//  arm_rfft_init_q15(&S,&C,512,false,true);
	err_code = arm_rfft_init_q15(&S,TEST_FFT_SIZE,false,true);
	APP_ERROR_CHECK(err_code);

	//  arm_rfft_q15(&S,out,outsq);
	arm_rfft_q15(&S,p_input,p_output);

	//  arm_cmplx_mag_squared_q15(outsq,out,256);
	arm_cmplx_mag_squared_q15(p_output,p_output,TEST_FFT_SIZE/2);//256);
}
Related