ReplicatorG is based on a driver system. What this means is that all the GCode parsing is handled by a parsing class. That class then communicates with your machine via a driver using a simplified API. This makes for a much more modular and simplified system. For example: GCode specifies a canned drilling cycle command which can essentially be broken down into a series of movements. With the driver system, we essentially only need to implement one function: queuePoint() and the GCode parser handles the rest.
These are the various available drivers, more will become available over time.
- RepRap 3rd Generation Driver - since 0003
- Serial Pass Through Driver - since 0001
- Null Driver - since 0001
Each machine defined in machines.xml file is required to have a <driver> configuration element. Each <driver> tag takes different driver-specific configuration parameters. Those parameters are described in detail on each of the driver information pages above.
Here is an example of a driver configuration block:
<driver name="null"> <!-- use a fake driver --> <wait>25</wait> <!-- in milliseconds --> </driver>
The driver system is based on the principles of Object Oriented Programming. There is a base Driver class which contains various method definitions, implementations, etc. All of the actual drivers are subclasses of this base class and implement based on the actual hardware setup.
As we are in early stages of development, the API may undergo changes. Please see the Driver class for the most up to date API info.