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.

CC3100MOD: Setting up SimleLink Driver - Multitheaded

Part Number: CC3100MOD
Other Parts Discussed in Thread: CC3100

Hi

I have quite trouble with the Simplelink Driver. I use the multitheaded option.

My startup sequence to connect to a wifi AP is: Power on, release from reset, sl_start(0,0,0) with all delays in between.

Sl start waits for a sync object near line 147 in device.c, which is never set (i do not pass a init callbback, so i wait till done)

_SlReturnVal_t retVal;

retVal = _SlDrvSyncObjWaitTimeout(&g_pCB->ObjPool[ObjIdx].SyncObj,

INIT_COMPLETE_TIMEOUT,
SL_DRIVER_API_DEVICE_SL_START);
if (retVal)
{
return SL_API_ABORTED;
}

who is supposed to signal?

i would like to talk to a firmware support engineer over mail, we have a NDA with TI, but i cannot pose my code here in the form.

  • also: almost forgot:

    1.) i get an interrupt BEFORE sl_start(), so the driver callback registration DID NOT YET happen, .. this should not happen..

    2.) Should sl_getTimestamp be used or not? since the default config does not even declare it..

  • Hi Lukas,

    If you are using a non-OS application, you must have sl_GetTimeStamp implemented. Please be sure you are using the host driver from the latest SDK version and that you have the latest servicepack flashed to the device.

    If you have not already, you may also want to review the Hardware Design Review checklist for CC3100MOD: processors.wiki.ti.com/.../CC3100_&_CC3200_Hardware_Design_Review

    Best regards,
    Sarah
  • Hello Sarah

    1.)
    Like mentioned above, i use the multithreaded option, so NOT noos.
    Therefore i use Mutex and Sema for Locking and Signaling.
    I checked the source code for sl_Timestamp. It does NOT have a relation to the Multithreaded option,
    so you CAN declare it, but you dont HAVE TO.

    QUESTION: With MultiThreaded (FreeRTOS) do you recomment to implement sl timestamp or not? Currently i have implemented it.

    2.)
    CC3100 SDK v1.3.0 release
    #define SL_DRIVER_VERSION "1.0.1.11"

    QUESTION: Is this the latest code correct^?
  • PLEASE ADD A DEFAULT CONFIG FILE FOR NoOS AND RtosOS...

    The configuration file provided in the STK does not even have a prepared forward declaration (macro) for sl_TimeStamp...
    It makes it very confusing how to configure it


    It should look something like this:


    #if MUTLITHREADED
    ... like currently , signals, mutexes...
    #ELSE
    // user MUST DECLARE sl timestamp
    #define sl_TimeStamp user_timestamp_get()
    #endif
  • Hi Lukas,

    You need to have the sl_GetTimeStamp function implemented for either case (sorry for the confusion above, multithreaded was misspelled so I did not read it correctly and assumed non-OS). This function handles the timeouts for the host driver, whether implemented by a RTOS software or hardware timer.

    Best regards,
    Sarah
  • thank you!

    can you please inform the sdk deparement to add sl_TimeStamp to the default config with a comment "must be defined" in some kind.

    or it should not be able to build when timestamp is not defined.

    this makes it very confusing and you loose time if you choose NOT to define it (or if you dont know you have to define it)

    kind regards

  • Hi Lukas,

    Will do. We can clarify the use of this function in the porting guide and add relevant comments to the user.h files.

    Best regards,
    Sarah