diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b33c61fc..53d5f323a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,8 +84,16 @@ if (CONFIG_ARDUINO_API) add_library(arduinocore_api_rust STATIC IMPORTED GLOBAL) set_target_properties(arduinocore_api_rust PROPERTIES IMPORTED_LOCATION ${RUST_LIB}) zephyr_link_libraries(arduinocore_api_rust) + zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/) else() zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/CanMsg.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/CanMsgRingbuffer.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Common.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/IPAddress.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Print.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Stream.cpp) + zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/String.cpp) endif() endif() diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h index a57d58cb1..a15d8ffce 100644 --- a/cores/arduino/Arduino.h +++ b/cores/arduino/Arduino.h @@ -6,7 +6,7 @@ #pragma once -#include +#include "api/ArduinoAPI.h" #include #include @@ -104,6 +104,5 @@ int digitalPinToInterrupt(pin_size_t pin); #include #ifdef __cplusplus -#include #include #endif // __cplusplus diff --git a/cores/arduino/CMakeLists.txt b/cores/arduino/CMakeLists.txt index 3ce78a5a4..36e337b90 100644 --- a/cores/arduino/CMakeLists.txt +++ b/cores/arduino/CMakeLists.txt @@ -11,10 +11,13 @@ zephyr_include_directories(../../variants) if(NOT DEFINED ARDUINO_BUILD_PATH) -zephyr_sources(zephyrPrint.cpp) zephyr_sources(zephyrSerial.cpp) zephyr_sources(zephyrCommon.cpp) -zephyr_sources(apiCommon.cpp) + +if(CONFIG_USE_ARDUINO_API_RUST_IMPLEMENTATION) + zephyr_sources(zephyrPrint.cpp) + zephyr_sources(apiCommon.cpp) +endif() if(DEFINED CONFIG_ARDUINO_ENTRY) zephyr_sources(main.cpp)