diff --git a/builder/utils/cores.py b/builder/utils/cores.py index f4a8ad4..280d5b0 100644 --- a/builder/utils/cores.py +++ b/builder/utils/cores.py @@ -50,6 +50,7 @@ def env_add_core_sources(env: Environment, queue, name: str, path: str) -> bool: "+", "+", "+", + "+", "+", ], includes=[ @@ -58,6 +59,7 @@ def env_add_core_sources(env: Environment, queue, name: str, path: str) -> bool: "!", "!", "!", + "!", ], ) queue.AddLibrary( diff --git a/cores/common/arduino/src/common/hooks.c b/cores/common/arduino/src/common/hooks.c deleted file mode 100644 index 3f9b0a9..0000000 --- a/cores/common/arduino/src/common/hooks.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2015 Arduino LLC. All right reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -/** - * Empty yield() hook. - * - * This function is intended to be used by library writers to build - * libraries or sketches that supports cooperative threads. - * - * Its defined as a weak symbol and it can be redefined to implement a - * real cooperative scheduler. - */ -static void __empty() { - // Empty -} - -void yield(void) __attribute__((weak, alias("__empty"))); - -/** - * SysTick hook - * - * This function is called from SysTick handler, before the default - * handler provided by Arduino. - */ -static int __false() { - // Return false - return 0; -} - -int sysTickHook(void) __attribute__((weak, alias("__false"))); - -/** - * SVC hook - * PendSV hook - * - * These functions are called from SVC handler, and PensSV handler. - * Default action is halting. - */ -static void __halt() { - // Halts - while (1) - ; -} - -void svcHook(void) __attribute__((weak, alias("__halt"))); -void pendSVHook(void) __attribute__((weak, alias("__halt"))); diff --git a/cores/common/arduino/src/wiring.c b/cores/common/arduino/src/wiring/wiring.c similarity index 81% rename from cores/common/arduino/src/wiring.c rename to cores/common/arduino/src/wiring/wiring.c index 5f344de..f96fa62 100644 --- a/cores/common/arduino/src/wiring.c +++ b/cores/common/arduino/src/wiring/wiring.c @@ -12,6 +12,11 @@ __attribute__((weak)) void yield() { runPeriodicTasks(); vTaskDelay(1); taskYIELD(); + lt_wdt_feed(); } +#else + +__attribute__((weak)) void yield() {} + #endif diff --git a/cores/common/arduino/src/wiring_compat.cpp b/cores/common/arduino/src/wiring/wiring_compat.cpp similarity index 100% rename from cores/common/arduino/src/wiring_compat.cpp rename to cores/common/arduino/src/wiring/wiring_compat.cpp diff --git a/cores/common/arduino/src/wiring_compat.h b/cores/common/arduino/src/wiring/wiring_compat.h similarity index 100% rename from cores/common/arduino/src/wiring_compat.h rename to cores/common/arduino/src/wiring/wiring_compat.h diff --git a/cores/common/arduino/src/wiring_custom.c b/cores/common/arduino/src/wiring/wiring_custom.c similarity index 100% rename from cores/common/arduino/src/wiring_custom.c rename to cores/common/arduino/src/wiring/wiring_custom.c diff --git a/cores/common/arduino/src/wiring_custom.h b/cores/common/arduino/src/wiring/wiring_custom.h similarity index 100% rename from cores/common/arduino/src/wiring_custom.h rename to cores/common/arduino/src/wiring/wiring_custom.h diff --git a/cores/common/arduino/src/wiring_irq.c b/cores/common/arduino/src/wiring/wiring_irq.c similarity index 100% rename from cores/common/arduino/src/wiring_irq.c rename to cores/common/arduino/src/wiring/wiring_irq.c diff --git a/cores/common/arduino/src/common/WMath.cpp b/cores/common/arduino/src/wiring/wiring_math.cpp similarity index 100% rename from cores/common/arduino/src/common/WMath.cpp rename to cores/common/arduino/src/wiring/wiring_math.cpp diff --git a/cores/common/arduino/src/wiring_private.c b/cores/common/arduino/src/wiring/wiring_private.c similarity index 100% rename from cores/common/arduino/src/wiring_private.c rename to cores/common/arduino/src/wiring/wiring_private.c diff --git a/cores/common/arduino/src/wiring_private.h b/cores/common/arduino/src/wiring/wiring_private.h similarity index 100% rename from cores/common/arduino/src/wiring_private.h rename to cores/common/arduino/src/wiring/wiring_private.h diff --git a/cores/common/arduino/src/common/wiring_shift.c b/cores/common/arduino/src/wiring/wiring_shift.c similarity index 100% rename from cores/common/arduino/src/common/wiring_shift.c rename to cores/common/arduino/src/wiring/wiring_shift.c