I have been trying to get my Nordic nRF51822 transmit continuously on a particular channel for FCC certification. The Test lab wants me to test the product in 2402MHz, 2442MHz , 2480MHz. They want me to transmit in these frequencies separately. After few searches in the devzone forum, I was able to find the code which does the same in SDK(Radio Test Example in the \examples\peripheral\radio_test folder).
After going through the code, I realized that the code works with an UART interface with PC. But the issue is I havent given external access to any pins on my product for UART access to control from my PC.
So here is what I did, I edited the code so that the parameters which are set via UART are hard coded in the code like channel_start_ , test parameters so that they dont need to be send via PC to get activated. I am attaching my main.c file. (Its almost same as the original radio test example, I have just commented out the switch cases and hard-coded the parameters for a particular frequency.)
I erased the device completely, then programed just the radio test example. I tested the code in the test lab and to my dismay the device was not transmitting in the defined frequencies(I didn't find any spikes in the spectrum analyzer, once the there was a particular spike at 2442 MHz when the channel_start_ was set to 0, which shouldn't ideally happen) and I wasted half a day in the lab trying to fix the code but failed figure out why the device was not working.
Following are my queries
Can someone please see the attached main.c file see if I am doing some obvious blunder which I am clearly not realizing?
Assuming this issue is fixed, is there any other way to switch the transmitting frequency mode not via UART or an external input. (I am assuming no, but a wireless way would be nice :D )
Non- Nordic related question. Is there a cheap spectrum analyzer(or similar, I am not looking for accurate power measurements) which I can buy to test if the device is transmitting in the correct frequency, before I do a visit to the test lab again, I have shortlisted this one to buy. Any suggestions to test the channel frequencies at home.
Thanks in advance.
1) From what I can see in your code, the radio is never set to start transmitting, the function radio_tx_sweep_start(..) makes it start transmitting. For your reference, I have attached a modified version…