From 1fcfced203bb1f4b3b725a317ffa3316a4a90364 Mon Sep 17 00:00:00 2001 From: Prashant Ravi Date: Mon, 4 Dec 2017 18:09:22 +0800 Subject: [PATCH 1/5] Fixing changes to make greentea test mbed-os-tests-netsocket-connectivity pass for target Realtek AMEBA --- features/FEATURE_LWIP/lwip-interface/lwip_stack.c | 10 ++++++---- targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/features/FEATURE_LWIP/lwip-interface/lwip_stack.c b/features/FEATURE_LWIP/lwip-interface/lwip_stack.c index 7325703f5ec..614005dc8c7 100644 --- a/features/FEATURE_LWIP/lwip-interface/lwip_stack.c +++ b/features/FEATURE_LWIP/lwip-interface/lwip_stack.c @@ -594,11 +594,13 @@ nsapi_error_t mbed_lwip_emac_init(emac_interface_t *emac) // Backwards compatibility with people using DEVICE_EMAC nsapi_error_t mbed_lwip_init(emac_interface_t *emac) { - nsapi_error_t ret; + nsapi_error_t ret = NSAPI_ERROR_OK; mbed_lwip_core_init(); - ret = mbed_lwip_emac_init(emac); - if (ret == NSAPI_ERROR_OK) { - netif_inited = true; + if(netif_inited == false){ + ret = mbed_lwip_emac_init(emac); + if (ret == NSAPI_ERROR_OK) { + netif_inited = true; + } } return ret; } diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp index 4410b92f8d6..31a3025ea21 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp @@ -228,8 +228,9 @@ nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, nsapi_error_t RTWInterface::disconnect() { char essid[33]; - + wlan_emac_link_change(false); + mbed_lwip_bringdown(); if(wifi_is_connected_to_ap() != RTW_SUCCESS) return NSAPI_ERROR_NO_CONNECTION; if(wifi_disconnect()<0){ From 199ab8711a787279be526137c334114e540a9ec1 Mon Sep 17 00:00:00 2001 From: Prashant Ravi Date: Tue, 12 Dec 2017 16:53:45 +0800 Subject: [PATCH 2/5] Revert "Fixing changes to make greentea test mbed-os-tests-netsocket-connectivity pass for target Realtek AMEBA" This reverts commit 1fcfced203bb1f4b3b725a317ffa3316a4a90364. --- features/FEATURE_LWIP/lwip-interface/lwip_stack.c | 10 ++++------ targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/features/FEATURE_LWIP/lwip-interface/lwip_stack.c b/features/FEATURE_LWIP/lwip-interface/lwip_stack.c index 614005dc8c7..7325703f5ec 100644 --- a/features/FEATURE_LWIP/lwip-interface/lwip_stack.c +++ b/features/FEATURE_LWIP/lwip-interface/lwip_stack.c @@ -594,13 +594,11 @@ nsapi_error_t mbed_lwip_emac_init(emac_interface_t *emac) // Backwards compatibility with people using DEVICE_EMAC nsapi_error_t mbed_lwip_init(emac_interface_t *emac) { - nsapi_error_t ret = NSAPI_ERROR_OK; + nsapi_error_t ret; mbed_lwip_core_init(); - if(netif_inited == false){ - ret = mbed_lwip_emac_init(emac); - if (ret == NSAPI_ERROR_OK) { - netif_inited = true; - } + ret = mbed_lwip_emac_init(emac); + if (ret == NSAPI_ERROR_OK) { + netif_inited = true; } return ret; } diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp index 31a3025ea21..4410b92f8d6 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp @@ -228,9 +228,8 @@ nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, nsapi_error_t RTWInterface::disconnect() { char essid[33]; - + wlan_emac_link_change(false); - mbed_lwip_bringdown(); if(wifi_is_connected_to_ap() != RTW_SUCCESS) return NSAPI_ERROR_NO_CONNECTION; if(wifi_disconnect()<0){ From 01808db8ffdcea106ec3fa9b3ba46fa045722846 Mon Sep 17 00:00:00 2001 From: Prashant Ravi Date: Tue, 12 Dec 2017 16:57:28 +0800 Subject: [PATCH 3/5] Moving changes to RTW driver --- .../TARGET_AMEBA/RTWInterface.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp index 4410b92f8d6..ffc1f394e0d 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp @@ -36,6 +36,8 @@ typedef struct _wifi_scan_hdl { #define MAX_SCAN_TIMEOUT (15000) +static bool _inited = false; + static rtw_result_t scan_result_handler( rtw_scan_handler_result_t* malloced_scan_result ) { wifi_scan_hdl *scan_handler = (wifi_scan_hdl *)malloced_scan_result->user_data; @@ -97,11 +99,14 @@ RTWInterface::RTWInterface(bool debug) return; } emac->ops.power_up(emac); - ret = mbed_lwip_init(emac); - if (ret != 0) { - printf("Error init RTWInterface!(%d)\r\n", ret); - return; - } + if (_inited == false) { + ret = mbed_lwip_init(emac); + if (ret != 0) { + printf("Error init RTWInterface!(%d)\r\n", ret); + return; + } + _inited = true; + } } RTWInterface::~RTWInterface() @@ -228,8 +233,9 @@ nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, nsapi_error_t RTWInterface::disconnect() { char essid[33]; - + wlan_emac_link_change(false); + mbed_lwip_bringdown(); if(wifi_is_connected_to_ap() != RTW_SUCCESS) return NSAPI_ERROR_NO_CONNECTION; if(wifi_disconnect()<0){ From 01ec0da7f23e47c75185cfa740c5274dc2ec7331 Mon Sep 17 00:00:00 2001 From: Prashant Ravi Date: Tue, 12 Dec 2017 17:09:42 +0800 Subject: [PATCH 4/5] Replacing formatting issues --- .../TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp index ffc1f394e0d..0b411bf9a0f 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp @@ -100,13 +100,13 @@ RTWInterface::RTWInterface(bool debug) } emac->ops.power_up(emac); if (_inited == false) { - ret = mbed_lwip_init(emac); - if (ret != 0) { - printf("Error init RTWInterface!(%d)\r\n", ret); - return; - } - _inited = true; - } + ret = mbed_lwip_init(emac); + if (ret != 0) { + printf("Error init RTWInterface!(%d)\r\n", ret); + return; + } + _inited = true; + } } RTWInterface::~RTWInterface() From a4ce93694750f7eb8d802a34f736dc9fb9e40498 Mon Sep 17 00:00:00 2001 From: Prashant Ravi Date: Tue, 12 Dec 2017 21:05:27 +0800 Subject: [PATCH 5/5] reverting all tabs to spaces --- .../TARGET_AMEBA/RTWInterface.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp index 0b411bf9a0f..f2dfa95a64f 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp @@ -43,9 +43,9 @@ static rtw_result_t scan_result_handler( rtw_scan_handler_result_t* malloced_sca wifi_scan_hdl *scan_handler = (wifi_scan_hdl *)malloced_scan_result->user_data; if (malloced_scan_result->scan_complete != RTW_TRUE) { if(scan_handler->ap_details && scan_handler->scan_num > scan_handler->ap_num){ - nsapi_wifi_ap_t ap; + nsapi_wifi_ap_t ap; rtw_scan_result_t* record = &malloced_scan_result->ap_details; - record->SSID.val[record->SSID.len] = 0; /* Ensure the SSID is null terminated */ + record->SSID.val[record->SSID.len] = 0; /* Ensure the SSID is null terminated */ memset((void*)&ap, 0x00, sizeof(nsapi_wifi_ap_t)); memcpy(ap.ssid, record->SSID.val, record->SSID.len); memcpy(ap.bssid, record->BSSID.octet, 6); @@ -90,7 +90,7 @@ RTWInterface::RTWInterface(bool debug) { emac_interface_t *emac; int ret; - extern u32 GlobalDebugEnable; + extern u32 GlobalDebugEnable; GlobalDebugEnable = debug?1:0; emac = wlan_emac_init_interface(); @@ -99,13 +99,13 @@ RTWInterface::RTWInterface(bool debug) return; } emac->ops.power_up(emac); - if (_inited == false) { + if (_inited == false) { ret = mbed_lwip_init(emac); if (ret != 0) { printf("Error init RTWInterface!(%d)\r\n", ret); return; } - _inited = true; + _inited = true; } } @@ -163,7 +163,7 @@ nsapi_error_t RTWInterface::connect() break; case NSAPI_SECURITY_NONE: sec = RTW_SECURITY_OPEN; - break; + break; default: return NSAPI_ERROR_PARAMETER; } @@ -172,7 +172,7 @@ nsapi_error_t RTWInterface::connect() uint8_t pscan_config = PSCAN_ENABLE; wifi_set_pscan_chan(&_channel, &pscan_config, 1); } - + ret = wifi_connect(_ssid, sec, _pass, strlen(_ssid), strlen(_pass), 0, (void *)NULL); if (ret != RTW_SUCCESS) { printf("failed: %d\r\n", ret); @@ -223,7 +223,7 @@ int8_t RTWInterface::get_rssi() } nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, - nsapi_security_t security, uint8_t channel) + nsapi_security_t security, uint8_t channel) { set_credentials(ssid, pass, security); set_channel(channel); @@ -233,12 +233,12 @@ nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, nsapi_error_t RTWInterface::disconnect() { char essid[33]; - + wlan_emac_link_change(false); - mbed_lwip_bringdown(); + mbed_lwip_bringdown(); if(wifi_is_connected_to_ap() != RTW_SUCCESS) return NSAPI_ERROR_NO_CONNECTION; - if(wifi_disconnect()<0){ + if(wifi_disconnect()<0){ return NSAPI_ERROR_DEVICE_ERROR; } while(1){