Skip to content

Commit 545dcbb

Browse files
authored
Merge pull request #1 from aqib-ublox/bt_configAPI_fix
updating wlan parameter configuration under appropriate settings
2 parents 565ab14 + e2167e8 commit 545dcbb

File tree

5 files changed

+68
-111
lines changed

5 files changed

+68
-111
lines changed

targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/OdinWiFiInterface.cpp

Lines changed: 68 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ static void set_wpa_rsn_cipher(
124124
cbWLAN_CipherSuite &rsn_ciphers);
125125

126126
static bool is_valid_AP_channel(cbWLAN_Channel channel);
127-
static cbTARGET_ConfigParams map_odin_config(target_config_params_e parameter);
127+
static unsigned int map_odin_config(target_config_params_e parameter);
128128
static cbTARGET_PowerSaveMode convertPowerSaveAtToIoctl(target_power_save_mode_e powerSaveMode);
129129

130130
// Friend declared C-functions that calls corresponding wi-fi object member function
@@ -529,7 +529,7 @@ int OdinWiFiInterface::scan(WiFiAccessPoint *res_list, unsigned count)
529529
void OdinWiFiInterface::set_config(void *setting, cb_uint32 value) {
530530
cbTARGET_ConfigParams param;
531531
target_config_params_e configuration = *(target_config_params_e*)setting;
532-
param = map_odin_config(configuration);
532+
param = (cbTARGET_ConfigParams)map_odin_config(configuration);
533533
wlan_set_gParams(param, value);
534534
}
535535

@@ -542,7 +542,7 @@ void OdinWiFiInterface::wlan_set_gParams(cbTARGET_ConfigParams setting, cb_uint3
542542
unsigned int OdinWiFiInterface::get_config(void *setting) {
543543
cbTARGET_ConfigParams param;
544544
target_config_params_e configuration = *(target_config_params_e*)setting;
545-
param = map_odin_config(configuration);
545+
param = (cbTARGET_ConfigParams)map_odin_config(configuration);
546546
return wlan_get_gParams(param);
547547
}
548548

@@ -2027,73 +2027,74 @@ static bool is_valid_AP_channel(cbWLAN_Channel channel)
20272027
return ok;
20282028
}
20292029

2030-
static cbTARGET_ConfigParams map_odin_config(target_config_params_e parameter)
2030+
static unsigned int map_odin_config(target_config_params_e parameter)
20312031
{
2032-
cbTARGET_ConfigParams config;
2032+
unsigned int config;
20332033

20342034
switch (parameter) {
2035-
case ODIN_CFG_SET_POWER_SAVE_MODE: config = cbTARGET_CFG_SET_POWER_SAVE_MODE;
2036-
case ODIN_CFG_GET_POWER_SAVE_MODE: config = cbTARGET_CFG_GET_POWER_SAVE_MODE;
2037-
case ODIN_CFG_SET_LISTEN_INTERVAL: config = cbTARGET_CFG_SET_LISTEN_INTERVAL;
2038-
case ODIN_CFG_GET_LISTEN_INTERVAL: config = cbTARGET_CFG_GET_LISTEN_INTERVAL;
2039-
case ODIN_CFG_SET_MIN_SCAN_TIME: config = cbTARGET_CFG_SET_MIN_SCAN_TIME;
2040-
case ODIN_CFG_GET_MIN_SCAN_TIME: config = cbTARGET_CFG_GET_MIN_SCAN_TIME;
2041-
case ODIN_CFG_SET_MAX_SCAN_TIME: config = cbTARGET_CFG_SET_MAX_SCAN_TIME;
2042-
case ODIN_CFG_GET_MAX_SCAN_TIME: config = cbTARGET_CFG_GET_MAX_SCAN_TIME;
2043-
case ODIN_CFG_SET_SCAN_TYPE: config = cbTARGET_CFG_SET_SCAN_TYPE;
2044-
case ODIN_CFG_GET_SCAN_TYPE: config = cbTARGET_CFG_GET_SCAN_TYPE;
2045-
case ODIN_CFG_SET_DTIM_ENABLE: config = cbTARGET_CFG_SET_DTIM_ENABLE;
2046-
case ODIN_CFG_GET_DTIM_ENABLE: config = cbTARGET_CFG_GET_DTIM_ENABLE;
2047-
case ODIN_CFG_SET_QOS_ENABLE: config = cbTARGET_CFG_SET_QOS_ENABLE;
2048-
case ODIN_CFG_GET_QOS_ENABLE: config = cbTARGET_CFG_GET_QOS_ENABLE;
2049-
case ODIN_CFG_SET_RTS_THRESHOLD: config = cbTARGET_CFG_SET_RTS_THRESHOLD;
2050-
case ODIN_CFG_GET_RTS_THRESHOLD: config = cbTARGET_CFG_GET_RTS_THRESHOLD;
2051-
case ODIN_CFG_SET_TX_POWER: config = cbTARGET_CFG_SET_TX_POWER;
2052-
case ODIN_CFG_GET_TX_POWER: config = cbTARGET_CFG_GET_TX_POWER;
2053-
case ODIN_CFG_SET_MAX_PASSIVE_SCAN_TIME: config = cbTARGET_CFG_SET_MAX_PASSIVE_SCAN_TIME;
2054-
case ODIN_CFG_GET_MAX_PASSIVE_SCAN_TIME: config = cbTARGET_CFG_GET_MAX_PASSIVE_SCAN_TIME;
2055-
case ODIN_CFG_SET_SCAN_LISTEN_INTERVAL: config = cbTARGET_CFG_SET_SCAN_LISTEN_INTERVAL;
2056-
case ODIN_CFG_GET_SCAN_LISTEN_INTERVAL: config = cbTARGET_CFG_GET_SCAN_LISTEN_INTERVAL;
2057-
case ODIN_CFG_SET_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_SET_DOT11_SHORT_RETRY_LIMIT;
2058-
case ODIN_CFG_GET_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_GET_DOT11_SHORT_RETRY_LIMIT;
2059-
case ODIN_CFG_SET_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_SET_DOT11_LONG_RETRY_LIMIT;
2060-
case ODIN_CFG_GET_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_GET_DOT11_LONG_RETRY_LIMIT;
2061-
case ODIN_CFG_SET_AP_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_SET_AP_DOT11_SHORT_RETRY_LIMIT;
2062-
case ODIN_CFG_GET_AP_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_GET_AP_DOT11_SHORT_RETRY_LIMIT;
2063-
case ODIN_CFG_SET_AP_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_SET_AP_DOT11_LONG_RETRY_LIMIT;
2064-
case ODIN_CFG_GET_AP_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_GET_AP_DOT11_LONG_RETRY_LIMIT;
2065-
case ODIN_CFG_SET_REMAIN_ON_CHANNEL: config = cbTARGET_CFG_SET_REMAIN_ON_CHANNEL;
2066-
case ODIN_CFG_GET_REMAIN_ON_CHANNEL: config = cbTARGET_CFG_GET_REMAIN_ON_CHANNEL;
2067-
case ODIN_CFG_SET_STA_TX_RATE_MASK: config = cbTARGET_CFG_SET_STA_TX_RATE_MASK;
2068-
case ODIN_CFG_GET_STA_TX_RATE_MASK: config = cbTARGET_CFG_GET_STA_TX_RATE_MASK;
2069-
case ODIN_CFG_SET_RSSI_GOOD: config = cbTARGET_CFG_SET_RSSI_GOOD;
2070-
case ODIN_CFG_GET_RSSI_GOOD: config = cbTARGET_CFG_GET_RSSI_GOOD;
2071-
case ODIN_CFG_SET_RSSI_BAD: config = cbTARGET_CFG_SET_RSSI_BAD;
2072-
case ODIN_CFG_GET_RSSI_BAD: config = cbTARGET_CFG_GET_RSSI_BAD;
2073-
case ODIN_CFG_SET_SLEEP_TIMEOUT: config = cbTARGET_CFG_SET_SLEEP_TIMEOUT;
2074-
case ODIN_CFG_GET_SLEEP_TIMEOUT: config = cbTARGET_CFG_GET_SLEEP_TIMEOUT;
2075-
case ODIN_CFG_SET_GOOD_RSSI_YIELD_TMO: config = cbTARGET_CFG_SET_GOOD_RSSI_YIELD_TMO;
2076-
case ODIN_CFG_GET_GOOD_RSSI_YIELD_TMO: config = cbTARGET_CFG_GET_GOOD_RSSI_YIELD_TMO;
2077-
case ODIN_CFG_SET_BAD_RSSI_YIELD_TMO: config = cbTARGET_CFG_SET_BAD_RSSI_YIELD_TMO;
2078-
case ODIN_CFG_GET_BAD_RSSI_YIELD_TMO: config = cbTARGET_CFG_GET_BAD_RSSI_YIELD_TMO;
2079-
case ODIN_CFG_SET_FORCE_WORLD_MODE: config = cbTARGET_CFG_SET_FORCE_WORLD_MODE;
2080-
case ODIN_CFG_GET_FORCE_WORLD_MODE: config = cbTARGET_CFG_GET_FORCE_WORLD_MODE;
2081-
case ODIN_CFG_GET_TX_PACKET_ACK_TIMEOUT_WD: config = cbTARGET_CFG_SET_TX_PACKET_ACK_TIMEOUT_WD;
2082-
case ODIN_CFG_SET_TX_PACKET_ACK_TIMEOUT_WD: config = cbTARGET_CFG_GET_TX_PACKET_ACK_TIMEOUT_WD;
2083-
case ODIN_CFG_SET_CTS_PROTECTION: config = cbTARGET_CFG_SET_CTS_PROTECTION;
2084-
case ODIN_CFG_GET_CTS_PROTECTION: config = cbTARGET_CFG_GET_CTS_PROTECTION;
2085-
case ODIN_CFG_SET_HIDDEN_SSID: config = cbTARGET_CFG_SET_HIDDEN_SSID;
2086-
case ODIN_CFG_GET_HIDDEN_SSID: config = cbTARGET_CFG_GET_HIDDEN_SSID;
2087-
case ODIN_CFG_SET_AP_STA_INACTIVITY_TIMEOUT: config = cbTARGET_CFG_SET_AP_STA_INACTIVITY_TIMEOUT;
2088-
case ODIN_CFG_GET_AP_STA_INACTIVITY_TIMEOUT: config = cbTARGET_CFG_GET_AP_STA_INACTIVITY_TIMEOUT;
2089-
case ODIN_CFG_SET_ROAMING_AREA_HYSTERESIS: config = cbTARGET_CFG_SET_ROAMING_AREA_HYSTERESIS;
2090-
case ODIN_CFG_GET_ROAMING_AREA_HYSTERESIS: config = cbTARGET_CFG_GET_ROAMING_AREA_HYSTERESIS;
2091-
case ODIN_CFG_SET_PMF_STA: config = cbTARGET_CFG_SET_PMF_STA;
2092-
case ODIN_CFG_GET_PMF_STA: config = cbTARGET_CFG_GET_PMF_STA;
2093-
case ODIN_CFG_SET_FT_MODE: config = cbTARGET_CFG_SET_FT_MODE;
2094-
case ODIN_CFG_GET_FT_MODE: config = cbTARGET_CFG_GET_FT_MODE;
2095-
default:
2096-
MBED_ASSERT(false);
2035+
case ODIN_CFG_SET_POWER_SAVE_MODE: config = cbTARGET_CFG_SET_POWER_SAVE_MODE;break;
2036+
case ODIN_CFG_GET_POWER_SAVE_MODE: config = cbTARGET_CFG_GET_POWER_SAVE_MODE; break;
2037+
case ODIN_CFG_SET_LISTEN_INTERVAL: config = cbTARGET_CFG_SET_LISTEN_INTERVAL; break;
2038+
case ODIN_CFG_GET_LISTEN_INTERVAL: config = cbTARGET_CFG_GET_LISTEN_INTERVAL; break;
2039+
case ODIN_CFG_SET_MIN_SCAN_TIME: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_MIN_SCAN_TIME; break;
2040+
case ODIN_CFG_GET_MIN_SCAN_TIME: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_MIN_SCAN_TIME; break;
2041+
case ODIN_CFG_SET_MAX_SCAN_TIME: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_MAX_SCAN_TIME; break;
2042+
case ODIN_CFG_GET_MAX_SCAN_TIME: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_MAX_SCAN_TIME; break;
2043+
case ODIN_CFG_SET_SCAN_TYPE: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_SCAN_TYPE; break;
2044+
case ODIN_CFG_GET_SCAN_TYPE: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_SCAN_TYPE; break;
2045+
case ODIN_CFG_SET_DTIM_ENABLE: config = cbTARGET_CFG_SET_DTIM_ENABLE; break;
2046+
case ODIN_CFG_GET_DTIM_ENABLE: config = cbTARGET_CFG_GET_DTIM_ENABLE; break;
2047+
case ODIN_CFG_SET_QOS_ENABLE: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_QOS_ENABLE; break;
2048+
case ODIN_CFG_GET_QOS_ENABLE: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_QOS_ENABLE; break;
2049+
case ODIN_CFG_SET_RTS_THRESHOLD: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_RTS_THRESHOLD; break;
2050+
case ODIN_CFG_GET_RTS_THRESHOLD: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_RTS_THRESHOLD; break;
2051+
case ODIN_CFG_SET_TX_POWER: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_TX_POWER; break;
2052+
case ODIN_CFG_GET_TX_POWER: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_TX_POWER; break;
2053+
case ODIN_CFG_SET_MAX_PASSIVE_SCAN_TIME: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_MAX_PASSIVE_SCAN_TIME; break;
2054+
case ODIN_CFG_GET_MAX_PASSIVE_SCAN_TIME: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_MAX_PASSIVE_SCAN_TIME; break;
2055+
case ODIN_CFG_SET_SCAN_LISTEN_INTERVAL: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_SCAN_LISTEN_INTERVAL; break;
2056+
case ODIN_CFG_GET_SCAN_LISTEN_INTERVAL: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_SCAN_LISTEN_INTERVAL; break;
2057+
case ODIN_CFG_SET_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_DOT11_SHORT_RETRY_LIMIT; break;
2058+
case ODIN_CFG_GET_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_DOT11_SHORT_RETRY_LIMIT; break;
2059+
case ODIN_CFG_SET_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_DOT11_LONG_RETRY_LIMIT; break;
2060+
case ODIN_CFG_GET_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_DOT11_LONG_RETRY_LIMIT; break;
2061+
case ODIN_CFG_SET_AP_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_AP_DOT11_SHORT_RETRY_LIMIT; break;
2062+
case ODIN_CFG_GET_AP_DOT11_SHORT_RETRY_LIMIT: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_AP_DOT11_SHORT_RETRY_LIMIT; break;
2063+
case ODIN_CFG_SET_AP_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_AP_DOT11_LONG_RETRY_LIMIT; break;
2064+
case ODIN_CFG_GET_AP_DOT11_LONG_RETRY_LIMIT: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_AP_DOT11_LONG_RETRY_LIMIT; break;
2065+
case ODIN_CFG_SET_REMAIN_ON_CHANNEL: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_REMAIN_ON_CHANNEL; break;
2066+
case ODIN_CFG_GET_REMAIN_ON_CHANNEL: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_REMAIN_ON_CHANNEL; break;
2067+
case ODIN_CFG_SET_STA_TX_RATE_MASK: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_STA_TX_RATE_MASK; break;
2068+
case ODIN_CFG_GET_STA_TX_RATE_MASK: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_STA_TX_RATE_MASK; break;
2069+
case ODIN_CFG_SET_RSSI_GOOD: config = cbTARGET_CFG_SET_RSSI_GOOD; break;
2070+
case ODIN_CFG_GET_RSSI_GOOD: config = cbTARGET_CFG_GET_RSSI_GOOD; break;
2071+
case ODIN_CFG_SET_RSSI_BAD: config = cbTARGET_CFG_SET_RSSI_BAD; break;
2072+
case ODIN_CFG_GET_RSSI_BAD: config = cbTARGET_CFG_GET_RSSI_BAD; break;
2073+
case ODIN_CFG_SET_SLEEP_TIMEOUT: config = cbTARGET_CFG_SET_SLEEP_TIMEOUT; break;
2074+
case ODIN_CFG_GET_SLEEP_TIMEOUT: config = cbTARGET_CFG_GET_SLEEP_TIMEOUT; break;
2075+
case ODIN_CFG_SET_GOOD_RSSI_YIELD_TMO: config = cbTARGET_CFG_SET_GOOD_RSSI_YIELD_TMO; break;
2076+
case ODIN_CFG_GET_GOOD_RSSI_YIELD_TMO: config = cbTARGET_CFG_GET_GOOD_RSSI_YIELD_TMO; break;
2077+
case ODIN_CFG_SET_BAD_RSSI_YIELD_TMO: config = cbTARGET_CFG_SET_BAD_RSSI_YIELD_TMO; break;
2078+
case ODIN_CFG_GET_BAD_RSSI_YIELD_TMO: config = cbTARGET_CFG_GET_BAD_RSSI_YIELD_TMO; break;
2079+
case ODIN_CFG_SET_FORCE_WORLD_MODE: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_FORCE_WORLD_MODE; break;
2080+
case ODIN_CFG_GET_FORCE_WORLD_MODE: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_FORCE_WORLD_MODE; break;
2081+
case ODIN_CFG_GET_TX_PACKET_ACK_TIMEOUT_WD: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_TX_PACKET_ACK_TIMEOUT_WD; break;;
2082+
case ODIN_CFG_SET_TX_PACKET_ACK_TIMEOUT_WD: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_TX_PACKET_ACK_TIMEOUT_WD; break;
2083+
case ODIN_CFG_SET_CTS_PROTECTION: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_CTS_PROTECTION; break;
2084+
case ODIN_CFG_GET_CTS_PROTECTION: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_CTS_PROTECTION; break;
2085+
case ODIN_CFG_SET_HIDDEN_SSID: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_HIDDEN_SSID; break;
2086+
case ODIN_CFG_GET_HIDDEN_SSID: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_HIDDEN_SSID; break;
2087+
case ODIN_CFG_SET_AP_STA_INACTIVITY_TIMEOUT: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_AP_STA_INACTIVITY_TIMEOUT; break;
2088+
case ODIN_CFG_GET_AP_STA_INACTIVITY_TIMEOUT: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_AP_STA_INACTIVITY_TIMEOUT; break;
2089+
case ODIN_CFG_SET_ROAMING_AREA_HYSTERESIS: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_ROAMING_AREA_HYSTERESIS; break;
2090+
case ODIN_CFG_GET_ROAMING_AREA_HYSTERESIS: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_ROAMING_AREA_HYSTERESIS; break;
2091+
case ODIN_CFG_SET_PMF_STA: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_PMF_STA; break;
2092+
case ODIN_CFG_GET_PMF_STA: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_PMF_STA; break;
2093+
case ODIN_CFG_SET_FT_MODE: config = cbTARGET_CFG_SET_GSETTING + cbTARGET_GSETTING_FT_MODE; break;
2094+
case ODIN_CFG_GET_FT_MODE: config = cbTARGET_CFG_GET_GSETTING + cbTARGET_GSETTING_FT_MODE; break;
2095+
default:
2096+
MBED_ASSERT(false);
2097+
break;
20972098
}
20982099
return config;
20992100
}

0 commit comments

Comments
 (0)