diff --git a/README.md b/README.md index bf91a91..f78c339 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The library supports multi-core architecture by making a subset of APIs availabl The virtual APIs pipe the API requests over IPC to the primary core where the API is actually executed and the result is passed back to the secondary core. This virtualization abstracts out the implementation details and complexity of IPC, thus making multi-core connectivity application development simple. -For more information on virtualization, see the [Virtual Connectivity Manager](https://github.com/Infineon/virtual-connectivity-manager) library. +For more information on virtualization, see the [Virtual Connectivity Manager]( https://github.com/Infineon/virtual-connectivity-manager ) library. ## Features and functionality @@ -34,19 +34,19 @@ The current implementation has the following features and functionality: This library and its features are supported on the following Infineon platforms: -- [PSoC™ 6 Wi-Fi BT prototyping kit (CY8CPROTO-062-4343W)](https://www.infineon.com/cms/en/product/evaluation-boards/cy8cproto-062-4343w/) +- [PSoC™ 6 Wi-Fi BT prototyping kit (CY8CPROTO-062-4343W)]( https://www.infineon.com/cms/en/product/evaluation-boards/cy8cproto-062-4343w/ ) -- [PSoC™ 62S2 Wi-Fi BT pioneer kit (CY8CKIT-062S2-43012)](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-43012/) +- [PSoC™ 62S2 Wi-Fi BT pioneer kit (CY8CKIT-062S2-43012)]( https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-43012/ ) -- [PSoC™ 6 WiFi-BT pioneer kit (CY8CKIT-062-WiFi-BT)](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062-wifi-bt/) +- [PSoC™ 6 WiFi-BT pioneer kit (CY8CKIT-062-WiFi-BT)]( https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062-wifi-bt/ ) -- [PSoC™ 62S2 evaluation kit (CY8CEVAL-062S2-LAI-4373M2)](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ceval-062s2/) +- [PSoC™ 62S2 evaluation kit (CY8CEVAL-062S2-LAI-4373M2)]( https://www.infineon.com/cms/en/product/evaluation-boards/cy8ceval-062s2/ ) -- [CYW954907AEVAL1F evaluation kit (CYW954907AEVAL1F)](https://www.infineon.com/cms/en/product/evaluation-boards/cyw954907aeval1f/) +- [CYW954907AEVAL1F evaluation kit (CYW954907AEVAL1F)]( https://www.infineon.com/cms/en/product/evaluation-boards/cyw954907aeval1f/ ) -- [CYW943907AEVAL1F evaluation kit (CYW943907AEVAL1F)](https://www.infineon.com/cms/en/product/evaluation-boards/cyw943907aeval1f/) +- [CYW943907AEVAL1F evaluation kit (CYW943907AEVAL1F)]( https://www.infineon.com/cms/en/product/evaluation-boards/cyw943907aeval1f/ ) -- [PSoC™ 62S2 evaluation kit (CY8CEVAL-062S2-MUR-43439M2)](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ceval-062s2/) +- [PSoC™ 62S2 evaluation kit (CY8CEVAL-062S2-MUR-43439M2)]( https://www.infineon.com/cms/en/product/evaluation-boards/cy8ceval-062s2/ ) **Note**: Virtual APIs are supported on all PSoC 62 devices, but they have only been tested on the CY8CEVAL-062S2-MUR-43439M2 kit. @@ -54,23 +54,23 @@ This library and its features are supported on the following Infineon platforms: This library depends on the following: -- [wifi-core-freertos-lwip-mbedtls](https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls) +- [wifi-core-freertos-lwip-mbedtls]( https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls ) -- [Wi-Fi Host Driver](https://github.com/Infineon/wifi-host-driver) +- [Wi-Fi Host Driver]( https://github.com/Infineon/wifi-host-driver ) -If virtual APIs are to be used, it additionally depends on the [Virtual Connectivity Manager](https://github.com/Infineon/virtual-connectivity-manager). +If virtual APIs are to be used, it additionally depends on the [Virtual Connectivity Manager]( https://github.com/Infineon/virtual-connectivity-manager ). ## Quick start -1. To use wifi-connection-manager library for FreeRTOS, lwIP, and mbed TLS, the application should pull the [wifi-core-freertos-lwip-mbedtls](https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls) library which will internally pull wifi-connection-manager, FreeRTOS, lwIP, mbed TLS, and other dependent modules. +1. To use wifi-connection-manager library for FreeRTOS, lwIP, and mbed TLS, the application should pull the [wifi-core-freertos-lwip-mbedtls]( https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls ) library which will internally pull wifi-connection-manager, FreeRTOS, lwIP, mbed TLS, and other dependent modules. -2. To pull [wifi-core-freertos-lwip-mbedtls](https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls#latest-v1.X#$$ASSET_REPO$$/wifi-core-freertos-lwip-mbedtls/latest-v1.X), create the *wifi-core-freertos-lwip-mbedtls.mtb* file. +2. To pull [wifi-core-freertos-lwip-mbedtls]( https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls#latest-v1.X#$$ASSET_REPO$$/wifi-core-freertos-lwip-mbedtls/latest-v1.X ), create the *wifi-core-freertos-lwip-mbedtls.mtb* file. -3. For existing Wi-Fi Connection Manager version 2.x users, a [porting guide](https://Infineon.github.io/wifi-connection-manager/porting_guide.md) is available to migrate to Wi-Fi Connection Manager version 3.0. +3. For existing Wi-Fi Connection Manager version 2.x users, a [porting guide]( https://github.com/Infineon/wifi-connection-manager/blob/master/porting_guide.md ) is available to migrate to Wi-Fi Connection Manager version 3.0. -4. Review the pre-defined configuration files bundled with the wifi-core-freertos-lwip-mbedtls library for FreeRTOS, lwIP, and mbed TLS and make adjustments. See the "Quick start" section in [README.md](https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls/blob/master/README.md). +4. Review the pre-defined configuration files bundled with the wifi-core-freertos-lwip-mbedtls library for FreeRTOS, lwIP, and mbed TLS and make adjustments. See the "Quick start" section in [README.md]( https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls/blob/master/README.md ). -5. Define a set of COMPONENTS in the code example project's Makefile for this library. See the "Quick start" section in [README.md](https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls/blob/master/README.md). +5. Define a set of COMPONENTS in the code example project's Makefile for this library. See the "Quick start" section in [README.md]( https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls/blob/master/README.md ). 6. WPS is disabled by default. WPS uses Mbed TLS security stack. Enable the following components for WPS: ``` @@ -82,16 +82,16 @@ If virtual APIs are to be used, it additionally depends on the [Virtual Connecti ``` DEFINES+=ENABLE_WCM_LOGS ``` - 2. Call the `cy_log_init()` function provided by the *cy-log* module. cy-log is part of the *connectivity-utilities* library. - See [connectivity-utilities library API documentation](https://Infineon.github.io/connectivity-utilities/api_reference_manual/html/group__logging__utils.html). + 2. Call the `cy_log_init()` function provided by the *cy-log* module. cy-log is part of the *connectivity-utilities* library. + See [connectivity-utilities library API documentation]( https://Infineon.github.io/connectivity-utilities/api_reference_manual/html/group__logging__utils.html ). - - To enable logs in a dual core application please refer to [Enable logs in dual core application](https://github.com/Infineon/virtual-connectivity-manager/-/blob/main/README.md#enable-logs-in-dual-core-application) section in Virtual Connectivity Manager. + - To enable logs in a dual core application please refer to [Enable logs in dual core application]( https://github.com/Infineon/virtual-connectivity-manager/blob/main/README.md#enable-logs-in-dual-core-application ) section in Virtual Connectivity Manager. ### Virtual API usage -* To use virtual WCM APIs pull [Virtual Connectivity Manager](https://github.com/Infineon/virtual-connectivity-manager) library. +* To use virtual WCM APIs pull [Virtual Connectivity Manager]( https://github.com/Infineon/virtual-connectivity-manager ) library. Create the following *.mtb* file to pull the library - - *virtual-connectivity-manager.mtb:* https://github.com/Infineon/virtual-connectivity-manager#latest-v1.X#$$ASSET_REPO$$/virtual-connectivity-manager/latest-v1.X + - *virtual-connectivity-manager.mtb:* `https://github.com/Infineon/virtual-connectivity-manager#latest-v1.X#$$ASSET_REPO$$/virtual-connectivity-manager/latest-v1.X` **Note:** To use WCM APIs in a multi-core environment, applications on both the cores should include WCM and VCM libraries. @@ -105,7 +105,7 @@ If virtual APIs are to be used, it additionally depends on the [Virtual Connecti ``` * Call the `cy_vcm_init()` function provided by the VCM library from the application on both cores, before invoking the virtual WCM APIs. - See [Virtual Connectivity Manager library API documentation](https://Infineon.github.io/virtual-connectivity-manager/api_reference_manual/html/group__logging__utils.html). + See [Virtual Connectivity Manager library API documentation]( https://infineon.github.io/virtual-connectivity-manager/api_reference_manual/html/index.html ). **Notes:** - To ensure that the VCM initialization is synchronized, the project which boots first(i.e CM0+ project in case of psoc62) must call `cy_vcm_init` before bringing up the second project(i.e CM4 project in case of psoc62). @@ -113,16 +113,16 @@ If virtual APIs are to be used, it additionally depends on the [Virtual Connecti ## Additional information -- [Wi-Fi Connection Manager RELEASE.md](./RELEASE.md) +- [Wi-Fi Connection Manager RELEASE.md]( ./RELEASE.md ) -- [Wi-Fi Connection Manager API documentation](https://Infineon.github.io/wifi-connection-manager/api_reference_manual/html/index.html) +- [Wi-Fi Connection Manager API documentation]( https://Infineon.github.io/wifi-connection-manager/api_reference_manual/html/index.html ) -- [Porting guide for Wi-Fi Connection Manager version 3.0](https://Infineon.github.io/wifi-connection-manager/porting_guide.md) +- [Porting guide for Wi-Fi Connection Manager version 3.0]( https://github.com/Infineon/wifi-connection-manager/blob/master/porting_guide.md ) -- [Connectivity Utilities API documentation - for cy-log details](https://Infineon.github.io/connectivity-utilities/api_reference_manual/html/group__logging__utils.html) +- [Connectivity Utilities API documentation - for cy-log details]( https://Infineon.github.io/connectivity-utilities/api_reference_manual/html/group__logging__utils.html ) -- [ModusToolbox™ software environment, quick start guide, documentation, and videos](https://www.infineon.com/modustoolbox) +- [ModusToolbox™ software environment, quick start guide, documentation, and videos]( https://www.infineon.com/modustoolbox ) -- [Wi-Fi Connection Manager version](./version.xml) +- [Wi-Fi Connection Manager version]( ./version.xml ) -- [ModusToolbox™ any cloud code examples](https://github.com/Infineon?q=mtb-example-anycloud%20NOT%20Deprecated) +- [ModusToolbox™ any cloud code examples]( https://github.com/Infineon?q=mtb-example-anycloud%20NOT%20Deprecated ) diff --git a/RELEASE.md b/RELEASE.md index e4ea493..e45f43c 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -14,6 +14,10 @@ See the [README.md](./README.md) for a complete description of the Wi-Fi Connect ## Changelog +### v3.1.1 + +- Updated documentation + ### v3.1.0 - Enabled multi-core, virtual API support for the following WCM APIs: @@ -106,12 +110,10 @@ See the [README.md](./README.md) for a complete description of the Wi-Fi Connect This version of the library was validated for compatibility with the following software and tools: -| Software and tools | Version | -| :--- | :----: | -| ModusToolbox™ software environment | 3.0 | -| ModusToolbox™ Device Configurator | 4.0 | -| ModusToolbox™ CAPSENSE™ Configurator / Tuner tools | 5.0 | -| PSoC™ 6 Peripheral Driver Library (PDL) | 3.0.0 | -| GCC Compiler | 10.3.1 | -| IAR Compiler (only for any cloud) | 9.30 | +| Software and tools | Version | +| :--- | :----: | +| ModusToolbox™ software environment | 3.1 | +| ModusToolbox™ Device Configurator | 4.10 | +| GCC Compiler | 11.3.1 | +| IAR Compiler | 9.30 | | Arm® Compiler 6 | 6.16 | diff --git a/docs/api_reference_manual/html/index.html b/docs/api_reference_manual/html/index.html index d699961..7a74aeb 100644 --- a/docs/api_reference_manual/html/index.html +++ b/docs/api_reference_manual/html/index.html @@ -132,7 +132,7 @@

  • wifi-core-freertos-lwip-mbedtls.mtb: https://github.com/Infineon/wifi-core-freertos-lwip-mbedtls#latest-v1.X#$$ASSET_REPO$$/wifi-core-freertos-lwip-mbedtls/latest-v1.X
  • -
  • For existing Wi-Fi Connection Manager version 2.x users, a porting guide is available to migrate to Wi-Fi Connection Manager version 3.0.
  • +
  • For existing Wi-Fi Connection Manager version 2.x users, a porting guide is available to migrate to Wi-Fi Connection Manager version 3.0.
  • Review the pre-defined configuration files bundled with the wifi-core-freertos-lwip-mbedtls library for FreeRTOS, lwIP, and mbed TLS, and make adjustments. See the quick start section in README.md.
  • Define a set of COMPONENTS in the code example project's Makefile for this library. See the quick start section in README.md.
  • WPS is disabled by default. WPS uses Mbed TLS security stack. Enable the following components for WPS:
    COMPONENTS+=WPS MBEDTLS
    @@ -140,8 +140,8 @@

  • The WCM library disables all the debug log messages by default. To enable log messages, the application must perform the following:
    1. Add the ENABLE_WCM_LOGS macro to the DEFINES in the code example's Makefile. The Makefile entry would look like as follows:
      DEFINES+=ENABLE_WCM_LOGS
    2. -
    3. Call the cy_log_init() function provided by the cy-log module. cy-log is part of the connectivity-utilities library. See *connectivity-utilities library API documentation.
    @@ -160,7 +160,7 @@

  • Define the following compile-time macros in the secondary core application's Makefile:
    DEFINES+=ENABLE_MULTICORE_CONN_MW USE_VIRTUAL_API
  • -
  • Call the cy_vcm_init() function provided by the VCM library from the application on both cores, before invoking the virtual WCM APIs. See Virtual Connectivity Manager library documentation.
    Note
    - To ensure that the VCM initialization is synchronized, the project which boots first(i.e CM0+ project in case of psoc62) must call cy_vcm_init before bringing up the second project(i.e CM4 project in case of psoc62).
    +
  • Call the cy_vcm_init() function provided by the VCM library from the application on both cores, before invoking the virtual WCM APIs. See Virtual Connectivity Manager API documentation.
    Note
    - To ensure that the VCM initialization is synchronized, the project which boots first(i.e CM0+ project in case of psoc62) must call cy_vcm_init before bringing up the second project(i.e CM4 project in case of psoc62).
    - The first project must initialize VCM, by passing config.hal_resource_opt as CY_VCM_CREATE_HAL_RESOURCE in cy_vcm_init. The second project must pass config.hal_resource_opt as CY_VCM_USE_HAL_RESOURCE.
  • @@ -193,13 +193,13 @@

    /* Initialize the Wi-Fi device, Wi-Fi transport, and lwIP network stack.*/
    result = cy_wcm_init(&config);
    -
    if(result == CY_RSLT_SUCCESS)
    +
    if(result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_init failed....!\n");
    }
    /* Filter is set to NULL.*/
    result = cy_wcm_start_scan(scan_callback, NULL, NULL);
    -
    if(result == CY_RSLT_SUCCESS)
    +
    if(result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_start_scan failed....!\n");
    }
    @@ -234,7 +234,7 @@

    " SSID RSSI Channel \n"
    "---------------------------------------------------------------------------------\n");
    result = cy_wcm_start_scan(scan_callback, NULL, &scan_filter);
    -
    if(result == CY_RSLT_SUCCESS)
    +
    if(result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_start_scan failed....!\n");
    }
    @@ -534,7 +534,7 @@

    /* Initialize the Wi-Fi device, Wi-Fi transport, and lwIP network stack.*/
    result = cy_wcm_init(&config);
    -
    if (result == CY_RSLT_SUCCESS)
    +
    if (result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_init failed...!\n");
    return;
    @@ -867,7 +867,7 @@

    /* Initialize the Wi-Fi device, Wi-Fi transport, and lwIP network stack.*/
    result = cy_wcm_init(&config);
    -
    if(result == CY_RSLT_SUCCESS)
    +
    if(result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_init failed...!\n");
    return;
    @@ -1094,7 +1094,7 @@

    /* Initialize the Wi-Fi device, Wi-Fi transport, and lwIP network stack.*/
    result = cy_wcm_init(&config);
    -
    if(result == CY_RSLT_SUCCESS)
    +
    if(result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_init failed...!\n");
    return;
    @@ -1148,7 +1148,7 @@

    printf("IPV4 address: %s\n", ip4_str);
    cy_wcm_register_event_callback(&ap_event_callback);
    result = cy_wcm_start_ap(&ap_conf);
    -
    if (result == CY_RSLT_SUCCESS)
    +
    if (result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_start_ap failed...! \n");
    return;
    @@ -1157,7 +1157,7 @@

    /* Get IPV4 address for AP */
    -
    if (result == CY_RSLT_SUCCESS)
    +
    if (result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_get_ip_addr failed...! \n");
    return;
    @@ -1170,7 +1170,7 @@

    /* Get IPV6 address for AP */
    printf("Link Local IPV6 AP address \n");
    -
    if (result == CY_RSLT_SUCCESS)
    +
    if (result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_get_ipv6_addr failed...! \n");
    return;
    @@ -1185,7 +1185,7 @@

    /* Get Link Local IPV6 STA address */
    -
    if (result == CY_RSLT_SUCCESS)
    +
    if (result != CY_RSLT_SUCCESS)
    {
    printf("\ncy_wcm_get_ipv6_addr failed...! \n");
    return;
    @@ -1206,8 +1206,7 @@

    memcpy(&sta_mac, mac_addr_ptr, sizeof(sta_mac));
    printf("mac address of STA = %02X : %02X : %02X : %02X : %02X : %02X \n",
    sta_mac[0], sta_mac[1], sta_mac[2],sta_mac[3], sta_mac[4], sta_mac[5]);
    -
    mac_addr_ptr++;
    -
    memcpy(&ap_mac, mac_addr_ptr, sizeof(ap_mac));
    +
    memcpy(&ap_mac, &mac_addr_ptr[1], sizeof(ap_mac));
    printf("mac address AP = %02X : %02X : %02X : %02X : %02X : %02X \n",
    ap_mac[0], ap_mac[1], ap_mac[2],ap_mac[3], ap_mac[4], ap_mac[5]);
    free(mac_addr_ptr);
    @@ -1549,7 +1548,7 @@

    result = cy_vcm_deinit();
    if( result != CY_RSLT_SUCCESS )
    {
    -
    printf("\n cy_vcm_deinit failed on econdary core! \n");
    +
    printf("\n cy_vcm_deinit failed on secondary core! \n");
    return;
    }
    }
    diff --git a/source/cy_wcm.c b/source/cy_wcm.c index 0f0bb85..58056d7 100644 --- a/source/cy_wcm.c +++ b/source/cy_wcm.c @@ -3916,8 +3916,7 @@ static cy_rslt_t network_up(whd_interface_t interface, cy_network_hw_interface_t if((res = cy_network_ip_up(nw_sta_if_ctx)) != CY_RSLT_SUCCESS) { cy_wcm_log_msg(CYLF_MIDDLEWARE, CY_LOG_ERR, "failed to bring up the network stack \n"); - res = cy_network_remove_nw_interface(nw_sta_if_ctx); - if(res != CY_RSLT_SUCCESS) + if(cy_network_remove_nw_interface(nw_sta_if_ctx) != CY_RSLT_SUCCESS) { cy_wcm_log_msg(CYLF_MIDDLEWARE, CY_LOG_ERR, "failed to remove the network interface \n"); } @@ -3937,8 +3936,7 @@ static cy_rslt_t network_up(whd_interface_t interface, cy_network_hw_interface_t if((res = cy_network_ip_up(nw_ap_if_ctx)) != CY_RSLT_SUCCESS) { cy_wcm_log_msg(CYLF_MIDDLEWARE, CY_LOG_ERR, "failed to bring up the network stack \n"); - res = cy_network_remove_nw_interface(nw_ap_if_ctx); - if(res != CY_RSLT_SUCCESS) + if(cy_network_remove_nw_interface(nw_ap_if_ctx) != CY_RSLT_SUCCESS) { cy_wcm_log_msg(CYLF_MIDDLEWARE, CY_LOG_ERR, "failed to remove the network interface \n"); } diff --git a/version.xml b/version.xml index 9bc8d01..59dd588 100644 --- a/version.xml +++ b/version.xml @@ -1 +1 @@ -3.1.0.1923 +3.1.1.2005