Return to Home Page

UART Forwarder Writer

This Observer works with the UART Forwarder Observer to relay messages from UART1 to UART0 and vise-versa.

This writer is the simplest possible packet writer subclass. It doesn’t construct any new packets, or build them up.

namespace pico::ibus::output::writer {
    UartForwarderWriter::UartForwarderWriter(
            std::shared_ptr<logger::BaseLogger> logger,
            std::shared_ptr<dma::IDmaManager> dmaManager
            ) {
        this->logger = logger;
        this->dmaManager = dmaManager;
    }

    std::shared_ptr<dma::IDmaManager> UartForwarderWriter::getDmaManager() {
        return dmaManager;
    }

    void UartForwarderWriter::forwardPacketToCar(data::IbusPacket packet) {
        getDmaManager()->cpu0scheduleOutgoingMessage(packet);
    }

    void UartForwarderWriter::forwardPacketToPi(data::IbusPacket packet) {
        getDmaManager()->cpu0scheduleOutgoingProbeOnlyMessage(packet);
    }

} // writer
Return to Top