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.

CCS/CC3100SDK: CC3100 SDK v1.3.0 - Failed to configure the device in its default state

Part Number: CC3100SDK
Other Parts Discussed in Thread: CC3100, MSP430F5529, MSP-EXP430F5529LP,

Tool/software: Code Composer Studio

Hi,

I've just installed CC3100 SDK v1.3.0, compiled the HTTP Server example and get an error on configureSimpleLinkToDefaultState() (retVal = -100).

Any ideas how to overcome that issue?

Thanks,

Itay

  • Hi,

    What ServicePack version do you have uploaded inside device? Please try to use latest version.

    Jan

  • Hi,

    I'm using 1.0.1.14-2.12.2.8.

    FW: 1.5.0.10

    PHY: 1.0.3.25

    NWP: 2.12.2.8

    thanks.

  • Hi,

    What was your previous SDK version? If that was some old version there may to be issue with implementation of timeout mechanism which was added into host driver in SDK v 1.2.

    What is your host MCU? What exact API is returning error -100?

    Jan

  • Hi Jan,

    My previous SDK was 1.2.0.

    I'm using MSP430F5529.

    My application is based on the HTTP Server example.

    I get retVal = -100 as a response for configureSimpleLinkToDefaultState() at the very beginning of the code.

    I managed to run the HTTP Server example V1.3.0 on the MSP-EXP430F5529LP without any issues.

    I had to port my own application and that did not work (though it worked with SDK V1.2.0).

    I did some more tests on my environment and found out the following:

    -- configureSimpleLinkToDefaultState() function calls to sl_WlanSetMode(ROLE_STA)

    -- On sl_WlanSetMode(ROLE_STA) the process failed at VERIFY_NO_ERROR_HANDLING_IN_PROGRESS()

    -- At VERIFY_NO_ERROR_HANDLING_IN_PROGRESS() I see that g_bDeviceRestartIsRequired = 1 and this is the reason why I get response of -100

    I've noticed that I get _SlDriverHandleError call and the error code (eError) is SL_DEVICE_DRIVER_TIMEOUT_ASYNC_EVENT. info1=0, info2=0xFFFF.

    Any ideas what I do wrong?

    Thanks,

    Itay

  • Hi,

    Unfortunately I am not able to say what may to be reason why you get driver timeout error inside your application after updating from SDK 1.2 to SDK 1.3. Please make sure that you have properly updated SDK and there are not references to older SDK inside your code. Also make sure that you use platform layer from SDK 1.3 for your MSP430.

    Additional comments may to provide you a TI support.

    Jan

  • Hi Itay,

    I managed to run the HTTP Server example V1.3.0 on the MSP-EXP430F5529LP without any issues.

    To be clear, the example works by default but when you start making your changes is when things start breaking. Is this correct? 

    If I recall correctly the -100 error is an SL_API_ABORT error. This error could indicate a failure in the host driver or an expected response from the NWP. 

    Jesu

  • Hi Jeso,

    I'm trying to port a project which tuns without any issues on CC3100 SDK V1.2.0 (based on the HTTP Server example).

    I did step-by-step porting and my current conclusion it that on V1.3.0 I stuck when I enable TA0 interrupt:

    TA0CTL = TASSEL_2 | ID_3 | MC_3;
    TA0CCTL0 = CM_0 | CCIS_0 | OUTMOD_0 | CCIE;
    TA0CCR0 = 15624;
    
    #pragma vector=TIMER0_A0_VECTOR
    __interrupt void TIMER0_A0_ISR_HOOK(void)
    {
    // Some code
    }
    
    

    I'm trying to understand the difference between V1.2.0 and V1.3.0 on that area in order to to figure out why the project works on V1.2.0 and not on V1.3.0.

    Any ideas?

    Thanks,

    Itay

  • Hi Itay,

    I'm not sure what could be causing the problem here but going off your word I did some digging. There seems to be some minor implementation details in v1.3 around TIMER0_A0 that were not present in the CC3100SDK (more details in the timer_if.c file). Additionally the timer_x.* files don't exist anymore and the timer_tick.* files were added. I suggest you look into these change and make sure you considered this when you ported to v1.3.0.

    Jesu

  • Hi Jesu,

    I understand that the timer0_a0 interrupt is used only with RTOS environment. Is that correct?

    In my application, I'm using a non-RTOS environment and need to use timer0_a0 as a time-base interrupt (10mS interrupts). All other timers are already in use in my application.

    Is there a documentation of the exact use of timer0_a0 at SDK1.3.0. I cannot understand why it works perfect on SDK1.2.0 but not with SDK1.3.0.

    Is there a clear answer whether I can use timer0_a0 if I'm not using RTOS?

    Thanks,

    Itay

  • Hi Itay,

    I understand that the timer0_a0 interrupt is used only with RTOS environment. Is that correct?

    It appears so but this was used the same way in SDK v1.2 so I don't think that is the problem. It looks like in SDK v1.3 there is a check to see if SL_PLATFORM_MULTI_THREADED is not defined that was not present in SDK v1.2. You can see this in the timer_if.c file. 

    Jesu

  • Hi,

    I'm not sure about the SL_PLATFORM_MULTI_THREADED definition. In any case, I'm not using multi-threaded mode.

    What I've noticed is that in simplelink-->users.h, I should un-comment the following definitions if I'm not using the timestamp option:

    /* comment  the following if timestamp is not supported */
    #define sl_GetTimestamp                         timer_GetCurrentTimestamp
    #define SL_TIMESTAMP_TICKS_IN_10_MILLISECONDS   MILLISECONDS_TO_TICKS(10)
    #define SL_TIMESTAMP_MAX_VALUE                  MAX_TIMER_TICKS
    

    When taking the project as is, without modification, it runs smoothly.

    When I un-comment those definitions, the CC3100 cannot be configure to it's default state (configureSimpleLinkToDefaultState() returns  -100).

    Any ideas how should I proceed?

    Thanks,

    Itay

  • Hi Itay,

    The new host driver check the tick count internally and for nonOS applications it is mandatory to include timer ticks in the build. When you updated to SDK v1.3 did you also update your version of MSP430? If you have not already please check the release notes in the SDK root directory .html (also refer to the host driver migration section at the end). There is some timer changes you need to consider. I possible I would even suggest a fresh install in case you have made many modifications. 

    Jesu