#include <ProbingSplineCommand.h>
#include <Machine.h>
#include <MachineCommands.h>
#include <Axis.h>
#include <SysTick.h>
#include <MainCommands.h>
#include "InterpolationTimer.h"
#include <Probe.h>
const char ProbingSplineCommand::myName[] =
"ProbingSpline";
const char*
ProbingSplineCommand::name() {
return
myName; };
// Initializer
ProbingSplineCommand::ProbingSplineCommand(
char* data,
Axis* firstMachineAxis,
String* msgPtr )
: Spline(
data,
firstMachineAxis,
msgPtr ) {
probeStop = false; };
bool // This method performs program position linear and Bezier interpolation
ProbingSplineCommand::execute(
Machine* machine ) {
if ( ! machine->probe )
return
true;
if ( machine->probe->probeStop() ) {
probeStop = true;
return
true; };
return
Spline::execute( machine ); };
void
ProbingSplineCommand::report(
Machine* machine,
String* msgPtr ) {
machine->reportSplineCompleted(
&stepControl,
msgPtr );
if ( aborting )
*msgPtr += " Aborted";
if ( ! machine->probe )
*msgPtr += " P0";
else if ( ! probeStop )
*msgPtr += " P1";
else if ( stepControl.t )
*msgPtr += " P2";
else
*msgPtr += " P3";
*msgPtr += "\n"; };