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.

CC3100: CC3100 WIFI module

Part Number: CC3100

Hi everyone,

I have integrated the wifi module(CC3100-Simple link)driver files with the stm32f1 micro-controller.To put the WIFI in some mode we should use the sl_start() API call and then sl_wlansetmode(ROLE_AP) to put in AP mode.

1.Using the API sl_start(0,0,0) returns 1 which is ROLE_UNKNOWN.

2.Then using the sl_wlansetmode(ROLE_AP) returns -100 which is SL_API_ABORTED (These error returns in all cases of ROLES)

Previous posts from forum asked to ensure that Service package is flashed or not,service package is flashed and then checked.

The same error still exists SL_API_ABORTED, while using the API sl_wlansetmode(ROLE_AP).

Kindly help me to resolve this issue.

Thanks & Regards,

Srigandeswaran S

  • Hi Srigandeswaran S,

    It sounds like there is an issue with your porting layer. The porting files provided in the CC3100 were designed for the STM32F4 devices. Have you checked if the drivers and configuration is compatible with your host MCU?

    Also, are you testing with a CC3100 BoosterPack or a custom board? You are required to have the latest servicepack flashed to the CC3100 serial flash as well.

    Best regards,

    Sarah

  • Hi sarah,

        yes agreed,the Host MCU Iam using as STM32F1 device and I have changed the driver files from stm32f4 to stm32f1 and also flashed the latest service package in to it,but facing those errors.

    There is a function _SlNonOsSemGet which is involved in both API's sl_start() and sl_wlansetmode() leads to return error code always NONOS_RET_ERR which makes a flag called device_restart required to 1 which in turn leads to SL_API_ABORTED.

    Is it required to define the timestamp in the code? to avoid these errors

    Thanks and regards,

    Srigandeswaran S
        

  • Hi Srigandeswaran S,

    Yes, the timestamp mechanism is required as of host driver version 1.0.1.11, introduced in CC3100 SDK 1.3 as documented in the release notes.

    Best regards,

    Sarah

  • Hi sarah,

     I will go through the release notes and after defining the timestamp mechanism and required timer files in the code, the sl_start() returns the value as 0 which means it sets the STATION mode,but still the sl_wlansetmode() returns the error code as -100 SL_API_ABORTED.

    I don't know the reason why it returns the code -100,Do you have any idea in that?

    Thanks and regards,

    Srigandeswaran S

  • Hi Srigandeswaran S,

    There could still be an issue in your porting layer. Can you step through sl_wlansetmode and see where it fails? Do other APIs return the same value?

    Best regards,

    Sarah

  • Hi sarah,

        I don't think there will be an issue in the porting layer,I have stepped through the sl_wlansetmode() function it gets failed at one function SlDrvIsTimeoutExpired which returns true to cause the below snippet of code to happen

    g_pCB->IsCmdRespWaited = FALSE;
    SL_DRV_LOCK_GLOBAL_UNLOCK();
    SlDriverHandleError(SL_DEVICE_DRIVER_TIMEOUT_CMD_COMPLETE, cmdOpcode, CmdCmpltTimeout);
    return SL_API_ABORTED;

    which is present inside the _SlNonOsSemGet function.

    Thanks and regards,

    Srigandeswaran S

  • Can you root cause the issue for sl_Start() first? Lets start with understanding why you are getting unknown role type.