#include "Arduino.h" #include "RPC.h" #include "SerialRPC.h" using namespace rtos; Thread subtractThread; /** Returns the CPU that's currently running the sketch (M7 or M4) Note that the sketch has to be uploaded to both cores. **/ String currentCPU() { if (RPC.cpu_id() == CM7_CPUID) { return "M7"; } else { return "M4"; } } void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize RPC library; this also boots the M4 core Serial.begin(115200); if (!SerialRPC.begin()) { Serial.println("RPC initialization fail"); } } void loop() { if (currentCPU() == "M4") { if (SerialRPC.available()) { char read= (char)SerialRPC.read(); // Fill the buffer with characters if (read=='1') digitalWrite(LED_BUILTIN, HIGH); else digitalWrite(LED_BUILTIN, LOW); } } if (currentCPU() == "M7") { SerialRPC.print('1'); delay(1000); SerialRPC.print('0'); delay(1000); } }