Skip to content

Commit bc463ca

Browse files
authored
Merge pull request #100 from sandeepmistry/wifi-end-deinit
Make WiFi.end() deinit everything
2 parents b7af986 + 0dd0b20 commit bc463ca

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

src/WiFi.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -535,9 +535,6 @@ void WiFiClass::end()
535535
{
536536
if (_mode == WL_AP_MODE) {
537537
m2m_wifi_disable_ap();
538-
539-
_status = WL_IDLE_STATUS;
540-
_mode = WL_RESET_MODE;
541538
} else {
542539
if (_mode == WL_PROV_MODE) {
543540
m2m_wifi_stop_provision_mode();
@@ -549,6 +546,14 @@ void WiFiClass::end()
549546
// WiFi led OFF (rev A then rev B).
550547
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO15, 1);
551548
m2m_periph_gpio_set_val(M2M_PERIPH_GPIO4, 1);
549+
550+
m2m_wifi_deinit(NULL);
551+
552+
nm_bsp_deinit();
553+
554+
_mode = WL_RESET_MODE;
555+
_status = WL_NO_SHIELD;
556+
_init = 0;
552557
}
553558

554559
uint8_t *WiFiClass::macAddress(uint8_t *mac)

src/bsp/source/nm_bsp_arduino.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,17 @@ static void init_chip_pins(void)
9393
}
9494
}
9595

96+
static void deinit_chip_pins(void)
97+
{
98+
digitalWrite(gi8Winc1501ResetPin, LOW);
99+
pinMode(gi8Winc1501ResetPin, INPUT);
100+
101+
if (gi8Winc1501ChipEnPin > -1)
102+
{
103+
pinMode(gi8Winc1501ChipEnPin, INPUT);
104+
}
105+
}
106+
96107
/*
97108
* @fn nm_bsp_init
98109
* @brief Initialize BSP
@@ -122,6 +133,8 @@ sint8 nm_bsp_init(void)
122133
*/
123134
sint8 nm_bsp_deinit(void)
124135
{
136+
deinit_chip_pins();
137+
125138
return M2M_SUCCESS;
126139
}
127140

0 commit comments

Comments
 (0)