Using Serial3 on M4 Core of Arduino Giga

Hey Everyone, for whatever reason I am unable to read any input from Serial ports on the Arduino Giga (I know Serial port 0 is reserved for the M7 for printing), but how do I access for example Serial3 port of the giga from the M4 core. (obviously the M7 has no issues reading). Thanks!

here is an example of what it looks like:

#include "SBUS.h"
#include "Arduino.h"
#include "RPC.h"

//RECEIVER
bfs::SbusRx RECEIVER(&Serial3);
const long receiver_read_delay_microseconds = 15000;
long receiver_last_read_time = 0l;
bool pre_arm_state = false;

void setup() {
  if (currentCPU() == "M4") {
    RPC.begin();
    RECEIVER.begin();
  }

  if (currentCPU() == "M7") {
    RPC.begin();
    Serial.begin(115200);
  }
}

void loop() {
  if (currentCPU() == "M4") {
    sendTelemetryToM7("HI");
    bfs::SbusData receiverData;
    if (RECEIVER.read()) {
      sendTelemetryToM7("HO");
      receiverData = RECEIVER.data();
      for (int i = 0; i < receiverData.NUM_CH; i++) {
        switch (i) {
          case 0:  //yaw
            sendTelemetryToM7(String(receiverData.ch[i]));          
            //yaw_input = convertTo2000Range(receiverData.ch[i]);
            break;
          case 1:  //pitch
            //pitch_input = convertTo2000Range(receiverData.ch[i]);
            break;
          case 2:  //throttle
            //throttle_input = convertTo2000Range(receiverData.ch[i]);
            break;
          case 3:  //roll
            //roll_input = convertTo2000Range(receiverData.ch[i]);
            break;
        }
      }
    }
    delay(1000);
  }

  if (currentCPU() == "M7") {
    processIncomingM4Telemetry();
  }
}

void sendTelemetryToM7(String data) {
  data += "#";
  RPC.write(data.c_str(), data.length());
}

String serialTelemetryBuffer = "";

void processIncomingM4Telemetry() {
  while (RPC.available()) {
    char currentChar = (char)RPC.read();
    if (currentChar == '#') {  //message complete
      Serial.println(serialTelemetryBuffer);
      serialTelemetryBuffer = "";
    } else {
      serialTelemetryBuffer += currentChar;
    }
  }
}

String currentCPU() {
  if (HAL_GetCurrentCPUID() == CM7_CPUID) {
    return "M7";
  } else {
    return "M4";
  }
}

If you refer to the limitations section on the documentation page, it explains that serial communication is not available on the M4 core :

But it DOES say it supports UART, I'm having a similar issue with trying to use RS485 with the M4 and send any collected data to M7. If their claims of supporting UART arent referring to TX/RX1-4, then what are they? Only the USB?

Did you manage to get UART to work in the M4 core?

I am about to start a new project with the Giga and being able to access the UART on the M4 core will be very helpful!

Thanks!

I put an example here how it was working for me for serial1 on the giga: