About the project
This website presents information about r++ and devrpp, free replacements for the roboBASIC IDE. These tools were developed during a practical at the Interdisciplinary Center for Scientific Computing of the Ruprecht-Karls-University of Heidelberg by Lutz Büch and Bastian Rieck.
Goals
Our task was to analyze the serial protocol that is used by the roboBASIC IDE to upload programs to the Hitec Robonova robot. Knowledge about this protocol was then to be used to create a new compiler from scratch which was meant to be able to replace the original compiler. And thus, r++ was born.
Since we decided very early in the project that r++ need not be a GUI program, a new IDE, devrpp, was also created from scratch, thereby essentially rendering the vendor-shipped roboBASIC software package obsolete.
Features
First of all, both r++ and devrpp are free to use for anyone anywhere. There are absolutely no licencing restrictions in effect and every line of the code has been created via reverse engineering methods, hence it as total rewrite of the roboBASIC programming language. The main features of these implementations are:
- r++ and devrpp are platform-independent and have been succesfully compiled and tested under Microsoft Windows, various flavours of Linux and FreeBSD.
- r++ and devrpp are stable and will under no circumstances create incorrect bytecode that might harm the robot (this is not the case for the vendor-supplied compiler. See the comparison for more details.
- r++ and devrpp are small and very fast. Since the compiler is separated from the IDE, you can use nothing but the command-line to program the robot (great for creating scripts that perform a syntax check on sources in a certain directory).
- r++ is very modular. New commands and support for new chipsets can be added easily.
Status
The latest version of r++ supports all important commands of the roboBAISC programming language. Some of the more obscure commands have not yet been implemented, but the compiler can still be used for most applications. In fact, another group of students is working on improving older projects using r++ and devrpp at the time of this writing. However, we have compiled a non-comprehensive list that might be helpful if you want to compare r++ and its commercial counterpart.
r++ and devrpp are still under active development. Since the project is officially finished, changes will be made in our spare time. Please report all bugs you might encounter.