RMaster

Die RMaster Softwarekomponente ist der zentrale Bestandteil der Softwarearchitektur des Rovers. Sie verbindet sämtliche anderen Komponenten miteinander und sendet Nachrichten zwischen den verschiedenen Teilen, also die Benutzerkommandos, die Hardwaresteuerung oder der Regulation Kernel, umher.

RMaster basiert auf der Boost Asio Library und wurde mit einem Proactor Designmuster umgesetzt. Dies ermöglicht es, zeitnahe auf kritische Events zu reagieren und diese so schnell wie möglich an die anderen Teile weiterzugeben, während lediglich ein einziger Thread gebraucht wird. Es werden Verbindungen über UART, TCP, Pipes und andere Methoden unterstützt, die man wiederum miteinander kombinieren kann, um weitere Verbinungen herzustellen.

Durch die Verwendung des LiteComm Paketformats und Nachrichtenstandards werden über RMaster lediglich diejenigen Nachrichten weiterverbreitet, die von den jeweiligen Clients angefordert wurden. Auf diese Weise kann eine Überflutung der Kommunikationskanäle vorgebeugt werden.