Skip to content

Commit 303fc14

Browse files
authored
Merge branch 'espressif:release/v2.x' into release/v2.x
2 parents 4572ccf + 369e974 commit 303fc14

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

cores/esp32/io_pin_remap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ int8_t digitalPinFromGPIONumber(int8_t gpioPin);
1818
#define pulseInLong(pin, state, timeout) pulseInLong(digitalPinToGPIONumber(pin), state, timeout)
1919
#define pulseIn(pin, state, timeout) pulseIn(digitalPinToGPIONumber(pin), state, timeout)
2020
#define noTone(_pin) noTone(digitalPinToGPIONumber(_pin))
21-
#define tone(_pin, frequency, duration) tone(digitalPinToGPIONumber(_pin), frequency, duration)
21+
#define tone(_pin, args...) tone(digitalPinToGPIONumber(_pin), args)
2222

2323
// cores/esp32/esp32-hal.h
2424
#define analogGetChannel(pin) analogGetChannel(digitalPinToGPIONumber(pin))

tools/platformio-build.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ def add_tinyuf2_extra_image():
171171
# Target: Build Core Library
172172
#
173173

174+
# Set -DARDUINO_CORE_BUILD only for the core library
175+
corelib_env = env.Clone()
176+
corelib_env.Append(CPPDEFINES=["ARDUINO_CORE_BUILD"])
177+
174178
libs = []
175179

176180
variants_dir = join(FRAMEWORK_DIR, "variants")
@@ -180,13 +184,14 @@ def add_tinyuf2_extra_image():
180184

181185
if "build.variant" in board_config:
182186
env.Append(CPPPATH=[join(variants_dir, board_config.get("build.variant"))])
183-
env.BuildSources(
187+
corelib_env.Append(CPPPATH=[join(variants_dir, board_config.get("build.variant"))])
188+
corelib_env.BuildSources(
184189
join("$BUILD_DIR", "FrameworkArduinoVariant"),
185190
join(variants_dir, board_config.get("build.variant")),
186191
)
187192

188193
libs.append(
189-
env.BuildLibrary(
194+
corelib_env.BuildLibrary(
190195
join("$BUILD_DIR", "FrameworkArduino"),
191196
join(FRAMEWORK_DIR, "cores", board_config.get("build.core")),
192197
)

variants/arduino_nano_nora/io_pin_remap.cpp

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
1-
#ifndef BOARD_USES_HW_GPIO_NUMBERS
1+
#if defined(BOARD_HAS_PIN_REMAP) && !defined(ARDUINO_CORE_BUILD)
2+
// -DARDUINO_CORE_BUILD must be set for core files only, to avoid extra
3+
// remapping steps that would create all sorts of issues in the core.
4+
// Removing -DBOARD_HAS_PIN_REMAP at least does correctly restore the
5+
// use of GPIO numbers in the API.
6+
#error This build system is not supported. Please rebuild without BOARD_HAS_PIN_REMAP.
7+
#endif
8+
9+
#if !defined(BOARD_HAS_PIN_REMAP)
10+
// This board uses pin mapping but the build system has disabled it
11+
#warning The build system forces the Arduino API to use GPIO numbers on a board that has custom pin mapping.
12+
#elif defined(BOARD_USES_HW_GPIO_NUMBERS)
13+
// The user has chosen to disable pin mappin.
14+
#warning The Arduino API will use GPIO numbers for this build.
15+
#endif
16+
17+
#if defined(BOARD_HAS_PIN_REMAP) && !defined(BOARD_USES_HW_GPIO_NUMBERS)
218

319
#include "Arduino.h"
420

0 commit comments

Comments
 (0)