APIs, concepts, guides, and more

Represents a G-code program executor. This class provides an interface to load and run G-code programs with a callback interface for M-codes. An instance of this class is created by the Robot class, access it via the Robot.Gcode property. More...


Visit our Concept Page for more information.


void FeedRateSet (double programmingUnitsPerMinute)=0
 REQUIRED before Load() or LoadFile() if your g-code does not have 'F' in its contents. Sets the target feed rate for the machine (units/minute). Rotational moves are in (degrees/minute)
void AccelerationRateSet (double programmingUnitsPerMinuteSquared)=0
 REQUIRED before Load() or LoadFile(). Sets the target acceleration for the machine (units/minute^2). Rotational moves are in (degrees/minute^2). Should be set appropriately based on your hardware.
void Load (const char *const text)=0
 Load a G-code program from a string.
void LoadFile (const char *const file)=0
 Load a G-code program from a file.
void Run ()=0
 Run the loaded G-Code file (or string). The behavior is non-blocking. Use DoneWait() to block.
uint64_t DoneWait (uint64_t timeoutMilliseconds)=0
 Wait for the completion of G-code program execution with a timeout.
void ReloadLines (int32_t start=0, int32_t end=-1)=0
 Reloads the lines from the last call to GcodeLoad() but only between start line and end of file. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
int32_t LineCountGet ()=0
 Get the number of lines in the last loaded G-Code program.
const char *const ProgramGet ()=0
 Gets the raw file contents of the last loaded program.
int32_t SyntaxErrorLineNumberGet ()=0
 Gets the line number of any errors in the G-Code syntax. Or use the exception thrown by Load or LoadFile.
const char *const LineTextGet (uint32_t lineNumber)=0
 Gives you the text of a specific line from the last loaded program excluding all comments and with only once space between chunks.
double FeedRateGet ()=0
 Gets the target feed rate for the machine (GcodeUnitsGet()/minute). Rotational only moves are in (degrees/minute).
double AccelerationRateGet ()=0
 Gets the target acceleration for the machine (GcodeUnitsGet()/minute^2). Rotational only moves are in (degrees/minute^2).
double DurationGet ()=0
 Get the time duration required to run the loaded G-Code program in seconds.
void Cancel ()=0
 Cancel the currently running G-code program.
RapidVector< RobotPositionPlannedPositionsGet (uint64_t startFrame, uint64_t frameCount)=0
 Get RobotPositions representing the planned G-Code motion in cartesian space that will happen when run is called. Also includes the positions of the free axes.
void UnitsSet (LinearUnits units)=0
 Set the currently active unit (same as calling G20/G21)
LinearUnits UnitsGet ()=0
 Get the currently active unit as set by G20/G21.
void WorkOffsetConfigure (GCodeWorkOffset workOffset, Vector3d offsetValues)=0
 Save an XYZ offset to be used with specified G-Code work offset.
void ActiveWorkOffsetSelect (GCodeWorkOffset workOffset)=0
 Apply the offset saved under the specified location.
GCodeWorkOffset ActiveWorkOffsetGet ()=0
 Gets the enum representing the location where the current offset is saved.
const RobotPositionActiveWorkOffsetValuesGet ()=0
 Gets the actual values of the currently applied offset.
bool IsRunning ()=0
 Returns true if a Gcode program is executing, false otherwise.
int32_t ExecutingLineNumberGet ()=0
 Get the currently executing line number.
void FreeAxisLetterSet (const char gcodeLetter, const int32_t freeAxisIndex)=0
 Map a letter in a Gcode file to a free axis. It will be used to specify the free axis' motion.
void CallbackRegister (Cartesian::GcodeCallback *callback)=0
 G-code callback register.
const char *const VersionGet ()
 Get the RSI RapidCode version.
int32_t MpiVersionMajor ()
 Get the major MPI version.
int32_t MpiVersionMinor ()
 Get the minor MPI version.
int32_t MpiVersionRelease ()
 Get the release MPI version.
int32_t RSIVersionMajor ()
 Get the major RSI version.
int32_t RSIVersionMinor ()
 Get the minor RSI version.
int32_t RSIVersionMicro ()
 Get the micro RSI version.
int32_t RSIVersionPatch ()
 Get the patch RSI version.
int32_t NumberGet ()
 Get the zero-based index of this object.
int32_t ErrorLogCountGet ()
 Get the number of software errors in the error log.
const RsiError *const ErrorLogGet ()
 Get the next RsiError in the log.
void ErrorLogClear ()
 Clear the error log.
void ThrowExceptions (bool state)
 Configure a class to throw exceptions.
const char *const RsiErrorMessageGet (RSIErrorMessage msg)
 Get the RSI-specific error message text for a specific RSIErrorMessage.
const char *const ErrorMessageGet (RSIErrorMessage msg)
 Get the detailed text message for an RSIErrorMessage.
bool WarningMsgCheck (RSIErrorMessage msg)
 Check to see if an RSIErrorMessage is a warning (true) or not (false).
void Trace (bool state)
 Enables/Disables trace output.
void TraceMaskOnSet (RSITrace maskOn)
 Turn on a particular trace output mask.
bool TraceMaskOnGet (RSITrace maskOn)
 Check to see if a particular trace output mask is turned on.
void TraceMaskOffSet (RSITrace maskOff)
 Turn off a particular trace output mask.
void TraceMaskClear ()
 Clear the trace output mask.
void TraceFileSet (const char *const fileName)
 Channels Tracing messages to specified file.
void TraceFileClose ()
 Stops Logging to the file.
void TraceInjectMessage (RSITrace traceLevel, const char *const message)
 Add a message to the Trace Log.


Definition at line 1493 of file cartesianrobot.h.