This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/CC3200MOD: GENERAL EVENT: 5 - ID=[0] Sender=[0]

Part Number: CC3200MOD


Tool/software: TI-RTOS

Hello,

I have been working on a custom board based on CC3200MOD, with SDK 1.3.0 and servicepack_1.0.1.11-2.10.0.0.bin

I'm running mqtt server and our application on the board. 

After few hours, i'm getting general event 5 from SimpleLinkGeneralEventHandler and its occurrence is random. Some time it occurs while doing OTA(random when testing OTA multiple times), some time on normal working

[GENERAL EVENT]: 5 - ID=[0] Sender=[0] 

Print inside SimpleLinkGeneralEventHandler as follows :

Report("[GENERAL EVENT]: %d - ID=[%d] Sender=[%d] \r\n", pDevEvent->Event, pDevEvent->EventData.deviceEvent.status, pDevEvent->EventData.deviceEvent.sender);

Then i introduced code sl_Stop(0) and sl_Start(0,0,0) when [GENERAL EVENT]: 5 occurs, and the board seems to recover with this code. I have some doubts regarding this general event

1. Is calling sl_Stop(0) and sl_Start(0,0,0)  a proper fix for this issue?

2. From device.h, general event 5 is 'SL_DEVICE_DRIVER_TIMEOUT_SYNC_PATTERN',and sender is 'SL_ERR_SENDER_HEALTH_MON'. Is there is any document describing about these events for getting more understanding. 

3. How can i find the root cause for this General Event 5 in our device

Any help would be grateful

Akesh

  • Hi Akesh,

    For fatal events, and for general events that indicate fatal errors including SL_ERR_SENDER_HEALTH_MON, resetting the NWP is a fix. If resetting only the NWP doesn't work, then a full device reset might be required. But, in your case where just doing an sl_stop()/sl_start() cycle seems to fix the issue, that is the proper way to handle that general event.

    There is more information in this thread about SL_ERR_SENDER_HEALTH_MON, and general events as a whole:
    e2e.ti.com/.../2095007

    Typically, you cannot determine the cause of general events solely from looking at the application state, since those events originate from errors internal to the NWP, which cannot be debugged directly. If you want to debug those problems, you would have to take NWP logs according to the instructions here:
    processors.wiki.ti.com/.../CC3100_&_CC3200_Capture_NWP_Logs

    It's up to you whether you want to debug further, since you mention that those general events happen rarely and at random. You'll want to have the general event handler with code to reset the NWP/device in case of those general events as good practice even if you don't see general events with fatal errors in normal operation, so while the cause of these particular SL_ERR_SENDER_HEALTH_MON events might be able to be debugged through examining the logs, you'll want to keep the current handling code just in case.

    Regards,
    Michael
  • Hi Michael,
    Thanks for your response, when i looked in driver.c file, i think its using TIMERA2, and the same timer, i'm using in my application. Can this cause general event 5? I have changed TIMERA2 to TIMERA3 in my code and is under testing. I will update this issue after 24 hrs long run test.
  • Hi,

    Timer 2 is used in driver for NWP timeout mechanism. Usage of this timer in your code can cause unpredictable behaviour. I think error which you seen makes sense in case of usage timer2 in app code.

    Jan