arduino-esp32/cores/esp32
rgot-org cec3fca4ad Fix BluetoothSerial crash when restart (#3471)
* Update esp32-hal-bt.c

BluetoothSerial crash when restart:  this is because the BT controller remains in state  ESP_BT_CONTROLLER_STATUS_INITED instead of state  ESP_BT_CONTROLLER_STATUS_IDLE after the end() method.
in file esp_bt.h it is specified

> @brief Enable BT controller.
>                Due to a known issue, you cannot call esp_bt_controller_enable() a second time
>                 to change the controller mode dynamically. To change controller mode, call
>                esp_bt_controller_disable() and then call esp_bt_controller_enable() with the new mode.

after **esp_bt_controller_disable()** the controller remains in state INITED so we do call the **esp_bt_controller_deinit()** function to put the controller into state IDLE.

i have modified the **esp32-hal-bt.c** file
line 57 and next
(i have insert the esp_bt_controller_deinit() function so the controller go into Idle state)
```c++
bool btStop(){
    if(esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_IDLE){
		log_i("bt stopped");
        return true;
    }
    if(esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_ENABLED){
		log_i("bt enabled");
        if (esp_bt_controller_disable()) {
            log_e("BT Disable failed");
            return false;
        }
        while(esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_ENABLED);
    }
    if(esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_INITED){
		log_i("inited");
		if (esp_bt_controller_deinit()) {
			log_e("BT deint failed");
			return false;
		}
		while (esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_INITED);
        return true;
    }
    log_e("BT Stop failed");
    return false;
}
```

* Update esp32-hal-bt.c

remove while to avoid infinite loop
2019-11-11 18:31:09 +01:00
..
apps/sntp Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) 2018-09-21 08:39:36 +02:00
libb64 use libbase64 macro to calculate base64 length (#2007) 2018-11-19 17:01:38 +01:00
Arduino.h Use std::abs for a float-compatible abs() function (#2738) 2019-05-11 11:18:39 +03:00
base64.cpp Base64::encode : const correctness / String by reference passing (#3314) 2019-10-02 14:29:24 +03:00
base64.h Base64::encode : const correctness / String by reference passing (#3314) 2019-10-02 14:29:24 +03:00
binary.h initial import 2016-10-06 07:09:44 -06:00
cbuf.cpp Fix cbuf not being able to hold the full length 2017-01-24 17:57:44 +02:00
cbuf.h initial import 2016-10-06 07:09:44 -06:00
Client.h Remove extra connects from Client.h (#3191) 2019-09-09 09:36:22 +03:00
esp32-hal-adc.c Add Arduino SAM compatible analogReadResolution and Non-Blocking ADC api 2017-03-03 15:53:20 +02:00
esp32-hal-adc.h Add Arduino SAM compatible analogReadResolution and Non-Blocking ADC api 2017-03-03 15:53:20 +02:00
esp32-hal-bt.c Fix BluetoothSerial crash when restart (#3471) 2019-11-11 18:31:09 +01:00
esp32-hal-bt.h BT define the hal methods even if BT is disabled (but return false) 2017-05-06 18:50:20 +03:00
esp32-hal-cpu.c Add support for 160MHz rated CPUs (#3135) 2019-09-05 12:30:43 +03:00
esp32-hal-cpu.h Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-dac.c Add analogRead, touchRead, dacWrite and updated esp-idf 2016-12-08 23:43:41 +02:00
esp32-hal-dac.h Missing include gpio.h in esp32-hal-dac.h (#1512) 2018-06-19 11:33:17 +03:00
esp32-hal-gpio.c Update esp32-hal-gpio.c 2018-12-28 19:14:15 +02:00
esp32-hal-gpio.h InterruptArg should take voidFuncPtrArg as argument (#1776) 2018-09-17 23:10:13 +02:00
esp32-hal-i2c.c Fix Unused Variable Warning (#2940) 2019-07-09 19:24:35 +03:00
esp32-hal-i2c.h Wire ReSTART fix, with others (#1717) 2018-08-14 11:51:15 +02:00
esp32-hal-ledc.c Fix LEDC channels above 8 not properly clearing 2019-04-12 17:49:44 +02:00
esp32-hal-ledc.h LEDC Driver Update 2017-01-09 18:05:30 +02:00
esp32-hal-log.h Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) 2018-09-21 08:39:36 +02:00
esp32-hal-matrix.c initial import 2016-10-06 07:09:44 -06:00
esp32-hal-matrix.h initial import 2016-10-06 07:09:44 -06:00
esp32-hal-misc.c Make yield() overridable (#2991) 2019-10-04 12:49:39 +03:00
esp32-hal-psram.c Update IDF to abea9e4c0 (#2458) 2019-02-14 16:49:30 +01:00
esp32-hal-psram.h Add Wrover Support and Option to enable SPIRAM 2018-07-03 23:03:50 +02:00
esp32-hal-rmt.c Update esp32-hal-rmt.c 2019-05-01 20:10:41 +03:00
esp32-hal-rmt.h Added rmtDeinit to header. Fixes #2585 (#2587) 2019-04-09 21:09:40 +02:00
esp32-hal-sigmadelta.c Handle APB frequency change (#2250) 2019-01-09 10:07:54 +01:00
esp32-hal-sigmadelta.h fix renamed method names for SigmaDelta 2017-01-09 21:55:37 +02:00
esp32-hal-spi.c SPI: Fix discarded-qalifiers warning when compiling with all warnings (#3458) 2019-11-11 17:44:49 +01:00
esp32-hal-spi.h SPI: Ensure all read-only data pointers are marked as const (#3356) 2019-10-14 20:39:27 +03:00
esp32-hal-time.c Fixed so configTime will not crash if tcpip is not initialized (#3470) 2019-11-11 15:50:56 +01:00
esp32-hal-timer.c Fix timerRestart 2019-09-24 19:25:27 +03:00
esp32-hal-timer.h Initial Timers driver 2016-12-09 17:47:30 +02:00
esp32-hal-touch.c Change Touch interrupt allocator 2017-09-28 16:44:47 +08:00
esp32-hal-touch.h Add analogRead, touchRead, dacWrite and updated esp-idf 2016-12-08 23:43:41 +02:00
esp32-hal-uart.c Implement Tx only Flush (#3433) 2019-11-11 15:37:35 +01:00
esp32-hal-uart.h Implement Tx only Flush (#3433) 2019-11-11 15:37:35 +01:00
esp32-hal.h Allow selecting in IDF the running core for Arduino's core tasks 2019-04-13 17:13:13 +02:00
esp8266-compat.h Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
Esp.cpp Inline ESP::getCycleCount() to make it safe to call from ISRs (#3165) 2019-09-11 14:29:53 +03:00
Esp.h Inline ESP::getCycleCount() to make it safe to call from ISRs (#3165) 2019-09-11 14:29:53 +03:00
FunctionalInterrupt.cpp Functional interrupt (#1728) 2018-09-17 23:13:58 +02:00
FunctionalInterrupt.h Functional interrupt (#1728) 2018-09-17 23:13:58 +02:00
HardwareSerial.cpp Implement Tx only Flush (#3433) 2019-11-11 15:37:35 +01:00
HardwareSerial.h Implement Tx only Flush (#3433) 2019-11-11 15:37:35 +01:00
IPAddress.cpp const correctness (#89) 2016-12-12 01:32:55 +02:00
IPAddress.h const correctness (#89) 2016-12-12 01:32:55 +02:00
IPv6Address.cpp Add initial IPv6 Support 2017-01-06 00:54:50 +02:00
IPv6Address.h Add initial IPv6 Support 2017-01-06 00:54:50 +02:00
main.cpp Make yield() overridable (#2991) 2019-10-04 12:49:39 +03:00
MD5Builder.cpp initial import 2016-10-06 07:09:44 -06:00
MD5Builder.h initial import 2016-10-06 07:09:44 -06:00
pgmspace.h Fix incorrect definition of FPSTR() and move from pgmspace.h to WString.h (#1371) (#2961) 2019-07-17 10:16:47 +03:00
Print.cpp Fix return of Print::print(timeinfo, format) (#3189) 2019-09-09 00:36:30 +03:00
Print.h Fixes implementation of __FlashStringHelper (#183) 2017-02-08 19:57:26 +02:00
Printable.h initial import 2016-10-06 07:09:44 -06:00
Server.h Update IDF to aaf1239 (#1539) 2018-06-27 09:01:06 +02:00
stdlib_noniso.c include stdlib_noniso in Arduino.h 2016-10-26 02:13:00 +03:00
stdlib_noniso.h initial import 2016-10-06 07:09:44 -06:00
Stream.cpp Alternative Improve _uploadReadByte (#2656) 2019-04-12 12:45:35 +02:00
Stream.h Portability from ESP8266, virtual Stream member functions. (#2701) 2019-04-23 17:56:49 +03:00
StreamString.cpp StreamString SSO fix (#2736) 2019-05-11 11:16:05 +03:00
StreamString.h Convert the few remaining cr/lf files to use lf for eol. (#1316) 2018-04-16 16:34:39 +02:00
Udp.h initial import 2016-10-06 07:09:44 -06:00
WCharacter.h Wiring.h -> Arduino.h 2016-10-06 07:09:45 -06:00
wiring_private.h Do not include file that does not exist 2016-11-13 13:26:49 +02:00
wiring_pulse.c Enable pulseIn() (#140) 2017-01-20 21:49:17 +02:00
wiring_shift.c fix missing the first bit in HC589 shift in (#2448) 2019-02-14 13:11:08 +01:00
WMath.cpp Fix map() division by zero (#2848) 2019-06-05 13:48:13 +02:00
WString.cpp Pull in ESP8266 String::replace() fixes, others (#3143) 2019-08-27 20:05:36 +03:00
WString.h Pull in ESP8266 String::replace() fixes, others (#3143) 2019-08-27 20:05:36 +03:00