From 1d33915d4f9f006fd6616cc09ff59e883e964f22 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Thu, 17 Feb 2022 10:35:27 +0100 Subject: [PATCH] Change digitalPinToPinName() into a first class function This fixes some issues with the new arduino-cli, since compling a lot of libraries forces linking them as archives, breaking the inline. Must be tested in the CI to make sure it dones't break anyhing --- cores/arduino/pinDefinitions.h | 4 +--- cores/arduino/pinToIndex.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cores/arduino/pinDefinitions.h b/cores/arduino/pinDefinitions.h index 4ba117f34..7df17a804 100644 --- a/cores/arduino/pinDefinitions.h +++ b/cores/arduino/pinDefinitions.h @@ -29,9 +29,7 @@ struct _AnalogPinDescription #ifdef __cplusplus__ extern "C" { #endif -inline PinName digitalPinToPinName(pin_size_t P) { - return (P >= PINS_COUNT ? NC : g_APinDescription[P].name); -}; +PinName digitalPinToPinName(pin_size_t P); #ifdef __cplusplus__ } #endif diff --git a/cores/arduino/pinToIndex.cpp b/cores/arduino/pinToIndex.cpp index 094557033..01817e97d 100644 --- a/cores/arduino/pinToIndex.cpp +++ b/cores/arduino/pinToIndex.cpp @@ -9,3 +9,13 @@ int PinNameToIndex(PinName P) { } return NOT_A_PIN; } + +#ifdef __cplusplus__ +extern "C" { +#endif +PinName digitalPinToPinName(pin_size_t P) { + return (P >= PINS_COUNT ? NC : g_APinDescription[P].name); +}; +#ifdef __cplusplus__ +} +#endif \ No newline at end of file