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

Radio issue when migrating from Keil to SES on usbd_cdc example

I am having an issue migrating some code over from Keil to an example in SES studio.

The code in Keil  is simply listening for a radio packet, when it receives it, it transmits a message over the serial port.  I did this "bare metal" by just programming registers, no issues.  There is simply a radio_setup() function as well as the standard void RADIO_IRQHandler(void) function.  

I am moving over to SES starting with the usbd_cdc_adm_pca10056 example as I would like to spit these messages out over USB, not serial.  The usb code works fine.  

Now, when I put in the radio_setup() function and void RADIO_IRQHandler(void) into the SES code, the interrupt will not trigger.  I cant seem to figure out why.

So far I have stepped through the code to make sure the radio registers are being configured, it is working.  I have also verified that there are packets for the radio to capture (have another pca10056 next to it running the Keil version).  So there is something with the SES code that is causing the problem.  Any suggestions?

Thanks

Parents
  • Hi

    Which version of the SDK are you on?

    Have you tried the Keil project files from the usbd_cdc_acm_pca10056 example also, to verify if it is the Keil/SES change, or the change to the usbd_cdc_acm project, that is causing the issue?

    Does the project compile in SES without any warnings?
    Warnings in SES can sometimes be hard to spot, but can be quite serious (like forgetting to reference/dereference a pointer). 

    Best regards
    Torbjørn

  • So I moved back to keil using the usbd_cdc_acm_pca10056 example.  I took the radio_setup() function and the radio IRQ handler and put them in a blank project to make sure that just call that function will setup everything I need.  It worked, so I put the code into the keil usbd_cdc_adm_pca10056 example, and the radio will not receive packets.  Its calling the setup function and setting up the IRQ in the NVIC but nothing.  When I poll the radio for a read packet instead of setting up the IRQ, it will not receive a packet.  Is there something in the example template that is messing with the radio? An errata maybe?

Reply
  • So I moved back to keil using the usbd_cdc_acm_pca10056 example.  I took the radio_setup() function and the radio IRQ handler and put them in a blank project to make sure that just call that function will setup everything I need.  It worked, so I put the code into the keil usbd_cdc_adm_pca10056 example, and the radio will not receive packets.  Its calling the setup function and setting up the IRQ in the NVIC but nothing.  When I poll the radio for a read packet instead of setting up the IRQ, it will not receive a packet.  Is there something in the example template that is messing with the radio? An errata maybe?

Children
No Data
Related