The Rover software consists of severeal parts: mainly several internal systems and the steering control software. The purpose of this site is to provide a short overview.
Programming languages and methods
The Rover code is basically a blend of modern C++ and C. The central C - code is executable on all platforms and implements the communications protocol LiteComm. This protocol has been optimised for embedded applications, inter chip - and network communication. For better access the code has been split in several Git repositories - some of them are public.
Composition and architecture
The centerpiece is the RMaster software component, which connects all other components to each other. Electric motos and servos are controlled by RBreakout and the conversation of user steering commands to actual signals for motor speeds and steering angles is done by regulation kernels. Those are written in Python and can be chosen freely.