Return to Home Page

Platform Service Channels

This shows an overview of how the CarPlatform uses some global channels to communicate with the serial port as well as pieces of the HMI

flowchart TD serialPort@{shape: flag, label: "Serial Port" } subgraph GlobalScope messageIngress[("`**IbusMessage** Message Ingress`")] messageOutput[("`**IbusMessage** Message Output`")] commsDebug[("` **CommsDebugMessage** Comms Debug`")] inputEvents[("` **InputEvent** Input Event`")] inputEventsWriter[("` **InputEvent** Input Event Writer`")] inputEventParser[Input Event Parser] messageIngress --> inputEventParser inputEventParser --> inputEventsWriter inputEventsWriter -->|MutableSharedFlow to SharedFlow| inputEvents picoCommsDebugWindow["Pico Comms Debug Window"] commsDebug --> picoCommsDebugWindow knobListenerService["Knob Listener Service"] inputEvents --> knobListenerService AudioFocusWriter AudioFocusWriter --> messageOutput ScreenTrackInfoPrinter --> messageOutput end subgraph ConfiguredCarScope SerialListenerService --> messageIngress messageOutput --> SerialWriterService SerialWriterService --> serialPort serialPort --> SerialListenerService otherServices@{ shape: processes, label: "Other Services"} messageIngress --> otherServices otherServices --> messageOutput subgraph PicoToPiParsers logMessageParser messageIngress ---> logMessageParser logMessageParser --> commsDebug end end
Return to Top