diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-06-15 14:28:21 +0200 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-06-15 14:28:21 +0200 |
commit | 30171b5c84dd90ee9de9f3efc395766497a86c85 (patch) | |
tree | bf6ccd036d4eaa5e1a2f1ab892ac116b8874ce72 /lib/pbdrv/drv | |
parent | b9599d6cbaf924b2c9f73511d5c7604ed57a755d (diff) |
restore arduino compatibility
Diffstat (limited to 'lib/pbdrv/drv')
-rw-r--r-- | lib/pbdrv/drv/arduino/mod.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pbdrv/drv/arduino/mod.cpp b/lib/pbdrv/drv/arduino/mod.cpp index 21834d9..8766444 100644 --- a/lib/pbdrv/drv/arduino/mod.cpp +++ b/lib/pbdrv/drv/arduino/mod.cpp @@ -52,14 +52,25 @@ __weak void pb_i2c_send(i2c_addr_t addr, const uint8_t * buf, size_t sz) { //! Arduino setup function extern void setup(void); +//! Arduino loop function +extern void loop(void); //! Arduino internal initialization void init(void); +//! FreeRTOS loop task +void loop_task() { + for(;;) { + loop(); + if (serialEventRun) serialEventRun(); + } +} + //! Application entrypoint int main(void) { init(); // call arduino internal setup setup(); // call regular arduino setup pb_setup(); // call pbdrv-mod setup + xTaskCreate((TaskFunction_t) loop_task, "loop", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL); vTaskStartScheduler(); // start freertos scheduler return 0; } |