update build script to correctly skip non max3421 enabled for espressif boards
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
# Apply board specific content here
|
# Apply board specific content here
|
||||||
set(IDF_TARGET "esp32")
|
set(IDF_TARGET "esp32")
|
||||||
|
set(MAX3421_HOST 1)
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
# Apply board specific content here
|
# Apply board specific content here
|
||||||
set(IDF_TARGET "esp32s2")
|
set(IDF_TARGET "esp32s2")
|
||||||
|
set(MAX3421_HOST 1)
|
||||||
|
@@ -0,0 +1,3 @@
|
|||||||
|
# Apply board specific content here
|
||||||
|
set(IDF_TARGET "esp32s3")
|
||||||
|
set(MAX3421_HOST 1)
|
53
hw/bsp/espressif/boards/adafruit_feather_esp32s3/board.h
Normal file
53
hw/bsp/espressif/boards/adafruit_feather_esp32s3/board.h
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020, Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef BOARD_H_
|
||||||
|
#define BOARD_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define NEOPIXEL_PIN 33
|
||||||
|
#define NEOPIXEL_POWER_PIN 21
|
||||||
|
#define NEOPIXEL_POWER_STATE 1
|
||||||
|
|
||||||
|
#define BUTTON_PIN 0
|
||||||
|
#define BUTTON_STATE_ACTIVE 0
|
||||||
|
|
||||||
|
// SPI for USB host shield
|
||||||
|
#define MAX3421_SPI_HOST SPI2_HOST
|
||||||
|
#define MAX3421_SCK_PIN 36
|
||||||
|
#define MAX3421_MOSI_PIN 35
|
||||||
|
#define MAX3421_MISO_PIN 37
|
||||||
|
#define MAX3421_CS_PIN 10
|
||||||
|
#define MAX3421_INTR_PIN 9
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* BOARD_H_ */
|
@@ -1,2 +1,3 @@
|
|||||||
# Apply board specific content here
|
# Apply board specific content here
|
||||||
set(IDF_TARGET "esp32s2")
|
set(IDF_TARGET "esp32s2")
|
||||||
|
set(MAX3421_HOST 1)
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
# Apply board specific content here
|
# Apply board specific content here
|
||||||
set(IDF_TARGET "esp32c3")
|
set(IDF_TARGET "esp32c3")
|
||||||
|
set(MAX3421_HOST 1)
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
# Apply board specific content here
|
# Apply board specific content here
|
||||||
set(IDF_TARGET "esp32c6")
|
set(IDF_TARGET "esp32c6")
|
||||||
|
set(MAX3421_HOST 1)
|
||||||
|
@@ -84,7 +84,10 @@ def cmake_board(board, toolchain):
|
|||||||
# for espressif, we have to build example individually
|
# for espressif, we have to build example individually
|
||||||
all_examples = get_examples(family)
|
all_examples = get_examples(family)
|
||||||
for example in all_examples:
|
for example in all_examples:
|
||||||
rcmd = run_cmd(f'cmake examples/{example} -B {build_dir}/{example} -G "Ninja" -DBOARD={board} -DMAX3421_HOST=1')
|
if build_utils.skip_example(example, board):
|
||||||
|
ret[2] += 1
|
||||||
|
else:
|
||||||
|
rcmd = run_cmd(f'cmake examples/{example} -B {build_dir}/{example} -G "Ninja" -DBOARD={board}')
|
||||||
if rcmd.returncode == 0:
|
if rcmd.returncode == 0:
|
||||||
rcmd = run_cmd(f'cmake --build {build_dir}/{example}')
|
rcmd = run_cmd(f'cmake --build {build_dir}/{example}')
|
||||||
ret[0 if rcmd.returncode == 0 else 1] += 1
|
ret[0 if rcmd.returncode == 0 else 1] += 1
|
||||||
|
@@ -13,12 +13,6 @@ def skip_example(example, board):
|
|||||||
ex_dir = pathlib.Path('examples/') / example
|
ex_dir = pathlib.Path('examples/') / example
|
||||||
bsp = pathlib.Path("hw/bsp")
|
bsp = pathlib.Path("hw/bsp")
|
||||||
|
|
||||||
if (bsp / board / "board.mk").exists():
|
|
||||||
# board without family
|
|
||||||
board_dir = bsp / board
|
|
||||||
family = ""
|
|
||||||
mk_contents = ""
|
|
||||||
else:
|
|
||||||
# board within family
|
# board within family
|
||||||
board_dir = list(bsp.glob("*/boards/" + board))
|
board_dir = list(bsp.glob("*/boards/" + board))
|
||||||
if not board_dir:
|
if not board_dir:
|
||||||
@@ -26,7 +20,6 @@ def skip_example(example, board):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
board_dir = list(board_dir)[0]
|
board_dir = list(board_dir)[0]
|
||||||
|
|
||||||
family_dir = board_dir.parent.parent
|
family_dir = board_dir.parent.parent
|
||||||
family = family_dir.name
|
family = family_dir.name
|
||||||
|
|
||||||
@@ -36,10 +29,9 @@ def skip_example(example, board):
|
|||||||
|
|
||||||
# Find the mcu, first in family mk then board mk
|
# Find the mcu, first in family mk then board mk
|
||||||
if "CFG_TUSB_MCU=OPT_MCU_" not in mk_contents:
|
if "CFG_TUSB_MCU=OPT_MCU_" not in mk_contents:
|
||||||
board_mk = board_dir / "board.cmake"
|
|
||||||
if not board_mk.exists():
|
|
||||||
board_mk = board_dir / "board.mk"
|
board_mk = board_dir / "board.mk"
|
||||||
|
if not board_mk.exists():
|
||||||
|
board_mk = board_dir / "board.cmake"
|
||||||
mk_contents = board_mk.read_text()
|
mk_contents = board_mk.read_text()
|
||||||
|
|
||||||
mcu = "NONE"
|
mcu = "NONE"
|
||||||
@@ -49,18 +41,23 @@ def skip_example(example, board):
|
|||||||
token = token.strip("\"")
|
token = token.strip("\"")
|
||||||
_, opt_mcu = token.split("=")
|
_, opt_mcu = token.split("=")
|
||||||
mcu = opt_mcu[len("OPT_MCU_"):]
|
mcu = opt_mcu[len("OPT_MCU_"):]
|
||||||
break
|
|
||||||
if "esp32s2" in token:
|
if "esp32s2" in token:
|
||||||
mcu = "ESP32S2"
|
mcu = "ESP32S2"
|
||||||
break
|
|
||||||
if "esp32s3" in token:
|
if "esp32s3" in token:
|
||||||
mcu = "ESP32S3"
|
mcu = "ESP32S3"
|
||||||
|
if mcu != "NONE":
|
||||||
break
|
break
|
||||||
|
|
||||||
# Skip all OPT_MCU_NONE these are WIP port
|
# Skip all OPT_MCU_NONE these are WIP port
|
||||||
if mcu == "NONE":
|
if mcu == "NONE":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
max3421_enabled = False
|
||||||
|
for line in mk_contents.splitlines():
|
||||||
|
if "MAX3421_HOST=1" in line or 'MAX3421_HOST 1' in line:
|
||||||
|
max3421_enabled = True
|
||||||
|
break
|
||||||
|
|
||||||
skip_file = ex_dir / "skip.txt"
|
skip_file = ex_dir / "skip.txt"
|
||||||
only_file = ex_dir / "only.txt"
|
only_file = ex_dir / "only.txt"
|
||||||
|
|
||||||
@@ -74,6 +71,7 @@ def skip_example(example, board):
|
|||||||
if only_file.exists():
|
if only_file.exists():
|
||||||
onlys = only_file.read_text().split()
|
onlys = only_file.read_text().split()
|
||||||
if not ("mcu:" + mcu in onlys or
|
if not ("mcu:" + mcu in onlys or
|
||||||
|
("mcu:MAX3421" in onlys and max3421_enabled) or
|
||||||
"board:" + board in onlys or
|
"board:" + board in onlys or
|
||||||
"family:" + family in onlys):
|
"family:" + family in onlys):
|
||||||
return True
|
return True
|
||||||
|
Reference in New Issue
Block a user