// © RiceMotion ( Robert Carl Rice ) 2012-2016 - All rights reserved


// This software makes use of tools and libraries obtained from open source projects or released for

// use by relevant hardware manufactures. However, this software is NOT a part of any open source project.

// It is released only on a "need to know" basis for beta testers of the "RiceCNC Interpolation Engine".

// Recipents of this source code must respect the confidential nature of this software and prevent any

// distribution that could result in counterfeit copies of the "RiceCNC Interpolation Engine".


// © RiceMotion ( Robert Carl Rice ) 2012-2016 - All rights reserved

#include <Coolants.h>

#include <OutputPin.h>



bool

     Coolant::validate( char* data, String* msgPtr ) {

     

     char    pinString[8];

     sscanf( data,

          "%lu %s",

          &outputNumber,

          pinString );


     pin  = new OutputPin( pinString, msgPtr );

     if ( pin->valid() ) {

          on         = false;

          pin->setPin( on );


          snprintf( data, 40,

               " Output %lu pin ",

               outputNumber );

          *msgPtr  += String( data );

          pin->fmtPin( msgPtr );


          return true; };

     delete pin;

     pin    = NULL;


     return false; };



Coolant::~Coolant() {

     if ( pin )

          delete pin; };


void

     Coolant::setCoolantOn( bool setOn ) {


     on         = setOn;

     pin->setPin( on ); };