From e1f50fadd7cef13b91532d55ff0e6ee6d8721497 Mon Sep 17 00:00:00 2001 From: Nicholas Kruzan Date: Mon, 15 May 2023 16:47:38 +0000 Subject: [PATCH] Tools: new mcu: esp32s3 --- Tools/ardupilotwaf/boards.py | 9 ++++++++- Tools/ardupilotwaf/esp32.py | 7 ++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Tools/ardupilotwaf/boards.py b/Tools/ardupilotwaf/boards.py index 8ccb521498..bc3f62e90f 100644 --- a/Tools/ardupilotwaf/boards.py +++ b/Tools/ardupilotwaf/boards.py @@ -551,7 +551,11 @@ def add_dynamic_boards_esp32(): continue hwdef = os.path.join(dirname, d, 'hwdef.dat') if os.path.exists(hwdef): - newclass = type(d, (esp32,), {'name': d}) + mcu_esp32s3 = True if (d[0:7] == "esp32s3") else False + if mcu_esp32s3: + newclass = type(d, (esp32s3,), {'name': d}) + else: + newclass = type(d, (esp32,), {'name': d}) def get_boards_names(): add_dynamic_boards_chibios() @@ -894,6 +898,9 @@ class esp32(Board): def get_name(self): return self.__class__.__name__ +class esp32s3(esp32): + abstract = True + toolchain = 'xtensa-esp32s3-elf' class chibios(Board): abstract = True diff --git a/Tools/ardupilotwaf/esp32.py b/Tools/ardupilotwaf/esp32.py index 1993a26d0e..20a9528860 100644 --- a/Tools/ardupilotwaf/esp32.py +++ b/Tools/ardupilotwaf/esp32.py @@ -18,8 +18,8 @@ import pickle import subprocess def configure(cfg): - - target = "esp32" + mcu_esp32s3 = True if (cfg.variant[0:7] == "esp32s3") else False + target = "esp32s3" if mcu_esp32s3 else "esp32" bldnode = cfg.bldnode.make_node(cfg.variant) def srcpath(path): return cfg.srcnode.make_node(path).abspath() @@ -37,7 +37,7 @@ def configure(cfg): env.ESP_IDF_PREFIX_REL = 'esp-idf' prefix_node = bldnode.make_node(env.ESP_IDF_PREFIX_REL) - + env.ESP32_TARGET = target env.BUILDROOT = bldpath('') env.SRCROOT = srcpath('') env.APJ_TOOL = srcpath('Tools/scripts/apj_tool.py') @@ -64,6 +64,7 @@ def pre_build(self): lib_vars['ARDUPILOT_CMD'] = self.cmd lib_vars['ARDUPILOT_LIB'] = self.bldnode.find_or_declare('lib/').abspath() lib_vars['ARDUPILOT_BIN'] = self.bldnode.find_or_declare('lib/bin').abspath() + target = self.env.ESP32_TARGET esp_idf = self.cmake( name='esp-idf', cmake_vars=lib_vars,