[beken-72xx] Fix station with static IP
This commit is contained in:
@@ -15,6 +15,7 @@ WiFiStatus eventTypeToStatus(uint8_t type) {
|
||||
switch (type) {
|
||||
case RW_EVT_STA_IDLE:
|
||||
return WL_IDLE_STATUS;
|
||||
case RW_EVT_STA_NO_AP_FOUND:
|
||||
return WL_NO_SSID_AVAIL;
|
||||
case RW_EVT_STA_CONNECTING:
|
||||
case RW_EVT_STA_CONNECTED:
|
||||
@@ -22,7 +23,6 @@ WiFiStatus eventTypeToStatus(uint8_t type) {
|
||||
case RW_EVT_STA_GOT_IP:
|
||||
return WL_CONNECTED;
|
||||
case RW_EVT_STA_PASSWORD_WRONG:
|
||||
case RW_EVT_STA_NO_AP_FOUND:
|
||||
case RW_EVT_STA_ASSOC_FULL:
|
||||
case RW_EVT_STA_CONNECT_FAILED:
|
||||
return WL_CONNECT_FAILED;
|
||||
|
||||
@@ -71,7 +71,10 @@ WiFiMode WiFiClass::getMode() {
|
||||
}
|
||||
|
||||
WiFiStatus WiFiClass::status() {
|
||||
return eventTypeToStatus(mhdr_get_station_status());
|
||||
rw_evt_type status = mhdr_get_station_status();
|
||||
if (status == RW_EVT_STA_CONNECTED && STA_CFG->dhcp_mode == DHCP_DISABLE)
|
||||
status = RW_EVT_STA_GOT_IP;
|
||||
return eventTypeToStatus(status);
|
||||
}
|
||||
|
||||
IPAddress WiFiClass::hostByName(const char *hostname) {
|
||||
|
||||
@@ -25,6 +25,9 @@ WiFiClass::begin(const char *ssid, const char *passphrase, int32_t channel, cons
|
||||
}
|
||||
|
||||
bool WiFiClass::config(IPAddress localIP, IPAddress gateway, IPAddress subnet, IPAddress dns1, IPAddress dns2) {
|
||||
// need to initialize data struct first
|
||||
enableSTA(true);
|
||||
|
||||
STA_CFG->dhcp_mode = localIP ? DHCP_DISABLE : DHCP_CLIENT;
|
||||
if (localIP) {
|
||||
sprintf(STA_CFG->local_ip_addr, IP_FMT, localIP[0], localIP[1], localIP[2], localIP[3]);
|
||||
|
||||
Reference in New Issue
Block a user