Skip to content

Commit d92979a

Browse files
committed
esp32 disable task wdt
1 parent d753376 commit d92979a

File tree

9 files changed

+70
-39
lines changed

9 files changed

+70
-39
lines changed

.github/ci/ci_platformio.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ board = lolin_s3_mini
2121
platform = espressif32
2222
framework = arduino
2323
build_flags =
24-
-D CONFIG_IDF_TARGET_ESP32S3
2524
-D ARDUINO_USB_MODE=1
2625
-D ARDUINO_USB_CDC_ON_BOOT=1
2726

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=madflight
2-
version=2.3.0
2+
version=2.3.1-DEV
33
author=qqqlab
44
maintainer=qqqlab <madflight@qqqlab.com>
55
license=MIT

platformio.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ platform = espressif32
4747
framework = arduino
4848
monitor_filters = esp32_exception_decoder
4949
build_flags =
50-
-D CONFIG_IDF_TARGET_ESP32S3
5150
-D ARDUINO_USB_MODE=1
5251
-D ARDUINO_USB_CDC_ON_BOOT=1
5352

src/brd/default.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#if defined ARDUINO_ARCH_ESP32
2-
#ifdef CONFIG_IDF_TARGET_ESP32S3
2+
#if CONFIG_IDF_TARGET_ESP32S3
33
#include "default_ESP32-S3.h"
44
#else
55
#include "default_ESP32.h"

src/brd/madflight_FC2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ S1-S4 (GPIO1-4) as ESC outputs
2525
#if !ARDUINO_ARCH_ESP32
2626
#error "Invalid Arduino Architecture: Select ESP32-Arduino"
2727
#elif !CONFIG_IDF_TARGET_ESP32S3
28-
#error "Invalid board: Select board ESP32S3 Dev Kit"
28+
#error "Invalid board: Select board 'ESP32S3 Dev Module'"
2929
#endif
3030

3131
#define MF_BOARD_NAME "madflight FC2"

src/hal/ESP32/hal_ESP32.cpp

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ SOFTWARE.
3333
#else
3434
#include <Wire.h>
3535
#endif
36+
#include <esp_task_wdt.h> //esp_task_wdt_deinit
3637

3738
//Bus Setup
3839
MF_I2C *hal_i2c[HAL_I2C_NUM] = {};
@@ -49,7 +50,22 @@ SPIClass spi1 = SPIClass(VSPI); // VSPI(default) or HSPI
4950
void hal_eeprom_begin();
5051
void startLoop1Task();
5152

52-
void hal_startup() {} // USB MSC not implemented for ESP32
53+
void hal_startup() {
54+
// USB MSC not implemented for ESP32
55+
56+
//disable task watchdog timer
57+
esp_err_t x = esp_task_wdt_deinit(); //this should work for arduino-esp32 v3 / IDF 5
58+
if(x != ESP_OK) {
59+
//this should work for arduino-esp32 v2 / IDF 4
60+
TaskHandle_t h = xTaskGetHandle("IDLE0");
61+
esp_task_wdt_delete(h);
62+
h = xTaskGetHandle("IDLE1");
63+
esp_task_wdt_delete(h);
64+
x = esp_task_wdt_deinit();
65+
//if(x != ESP_OK) ...failed...
66+
}
67+
}
68+
5369
void hal_usb_setup() {}
5470
void hal_print_resources() {}
5571

src/hal/ESP32/hal_ESP32.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@
4646
#define HAL_ARDUINO_STR "Arduino-ESP32 v" mf_df2str(ESP_ARDUINO_VERSION_MAJOR) "." mf_df2str(ESP_ARDUINO_VERSION_MINOR) "." mf_df2str(ESP_ARDUINO_VERSION_PATCH)
4747

4848
#ifndef MF_MCU_NAME
49-
#ifdef CONFIG_IDF_TARGET_ESP32S3
49+
#if CONFIG_IDF_TARGET_ESP32S3
5050
#define MF_MCU_NAME "ESP32-S3"
51-
#elif defined CONFIG_IDF_TARGET_ESP32
51+
#elif CONFIG_IDF_TARGET_ESP32
5252
#define MF_MCU_NAME "ESP32"
5353
#else
54-
#define MF_MCU_NAME "ESP32 (unsupported type)"
54+
#define MF_MCU_NAME "ESP32 (unknown type)"
5555
#endif
5656
#endif

src/madflight.h

Lines changed: 46 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ SOFTWARE.
2626

2727
//#pragma once //don't use here, we want to get an error if this file is included twice
2828

29+
#include "madflight_modules.h"
30+
#include "mag/MagGizmoIMU.h"
31+
2932
extern const char madflight_config[];
3033

3134
#ifdef MF_BOARD
@@ -35,9 +38,6 @@ extern const char madflight_config[];
3538
const char madflight_board[] = "";
3639
#endif
3740

38-
#include "madflight_modules.h"
39-
#include "mag/MagGizmoIMU.h"
40-
4141
//===============================================================================================
4242
// madflight_setup()
4343
//===============================================================================================
@@ -61,30 +61,9 @@ const char* Veh::flightmode_names[6] = VEH_FLIGHTMODE_NAMES; //define flightmode
6161
// Tasks
6262
//=============================================================================
6363

64-
#if defined ARDUINO_ARCH_ESP32
65-
#if ESP_ARDUINO_VERSION_MAJOR <= 2
66-
#include <esp_task_wdt.h>
67-
void hal_task_wdt_disable() {
68-
esp_task_wdt_init(5, false); //disable task watchdog
69-
}
70-
#else
71-
#include <esp_task_wdt.h>
72-
void hal_task_wdt_disable() {
73-
esp_task_wdt_config_t c;
74-
c.timeout_ms = 5000;
75-
c.idle_core_mask = 0x03;
76-
c.trigger_panic = false;
77-
esp_task_wdt_init(&c);
78-
}
79-
#endif
80-
#else
81-
void hal_task_wdt_disable() {}
82-
#endif
83-
8464
void rcl_task(void *pvParameters) {
8565
(void)pvParameters;
8666
for(;;) {
87-
hal_task_wdt_disable();
8867
rcl.update(); // get rc radio commands
8968
out.update(); // stop motors on timeout
9069

@@ -155,10 +134,13 @@ void sensor_task(void *pvParameters) {
155134
}
156135
}
157136

137+
#define mf_xstr(s) #s
138+
#define mf_str(s) mf_xstr(s)
139+
158140
void madflight_setup() {
159141
// HAL - Detach USB to until SDCARD is setup
160142
hal_startup();
161-
143+
162144
// CFG - Configuration parameters (execute before delay to start LED + SDCARD)
163145
cfg.begin();
164146
#ifdef MF_CONFIG_CLEAR
@@ -215,16 +197,52 @@ void madflight_setup() {
215197
#endif
216198
}
217199

218-
Serial.printf("Arduino library: " HAL_ARDUINO_STR "\n");
219-
200+
Serial.println("Arduino library: " HAL_ARDUINO_STR);
220201
#ifdef MF_BOARD_NAME
221202
Serial.println("Board: " MF_BOARD_NAME);
222203
#endif
223-
224204
#ifdef MF_MCU_NAME
225205
Serial.println("Processor: " MF_MCU_NAME);
226206
#endif
227207

208+
//arduino defines
209+
#ifdef ARDUINO_BOARD
210+
Serial.println("-D ARDUINO_BOARD=" ARDUINO_BOARD );
211+
#endif
212+
#ifdef ARDUINO_VARIANT
213+
Serial.println("-D ARDUINO_VARIANT=" ARDUINO_VARIANT );
214+
#endif
215+
#ifdef ARDUINO_HOST_OS
216+
Serial.println("-D ARDUINO_HOST_OS=" ARDUINO_HOST_OS ); //only arduino IDE, not PlatformIO
217+
#endif
218+
#ifdef ARDUINO_FQBN
219+
Serial.println("-D ARDUINO_FQBN=" ARDUINO_FQBN ); //only arduino IDE, not PlatformIO
220+
#endif
221+
#ifdef ARDUINO
222+
Serial.println("-D ARDUINO=" mf_str(ARDUINO));
223+
#endif
224+
#ifdef CORE_DEBUG_LEVEL
225+
Serial.println("-D CORE_DEBUG_LEVEL=" mf_str(CORE_DEBUG_LEVEL));
226+
#endif
227+
#ifdef ARDUINO_RUNNING_CORE
228+
Serial.println("-D ARDUINO_RUNNING_CORE=" mf_str(ARDUINO_RUNNING_CORE));
229+
#endif
230+
#ifdef ARDUINO_EVENT_RUNNING_CORE
231+
Serial.println("-D ARDUINO_EVENT_RUNNING_CORE=" mf_str(ARDUINO_EVENT_RUNNING_CORE));
232+
#endif
233+
#ifdef ARDUINO_USB_MODE
234+
Serial.println("-D ARDUINO_USB_MODE=" mf_str(ARDUINO_USB_MODE));
235+
#endif
236+
#ifdef ARDUINO_USB_CDC_ON_BOOT
237+
Serial.println("-D ARDUINO_USB_CDC_ON_BOOT=" mf_str(ARDUINO_USB_CDC_ON_BOOT));
238+
#endif
239+
#ifdef ARDUINO_USB_MSC_ON_BOOT
240+
Serial.println("-D ARDUINO_USB_MSC_ON_BOOT=" mf_str(ARDUINO_USB_MSC_ON_BOOT));
241+
#endif
242+
#ifdef ARDUINO_USB_DFU_ON_BOOT
243+
Serial.println("-D ARDUINO_USB_DFU_ON_BOOT=" mf_str(ARDUINO_USB_DFU_ON_BOOT));
244+
#endif
245+
228246
// INFO - Rerun CFG to show output after startup delay
229247
cfg.clear();
230248
cfg.loadFromEeprom(); //load parameters from EEPROM
@@ -303,7 +321,6 @@ void madflight_setup() {
303321
gps.setup();
304322

305323
// OUT - Set GPIOs
306-
int last_out;
307324
for(int i = 0; i < 16; i++) {
308325
int pin = (&cfg.pin_out0)[i]; //pin_out0..15
309326
out.set_pin(i, pin);

src/madflight_modules.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#define MADFLIGHT_VERSION "madflight v2.3.0"
3+
#define MADFLIGHT_VERSION "madflight v2.3.1-DEV"
44

55
#include <Arduino.h>
66

0 commit comments

Comments
 (0)