Select Git revision
getinput.ino
getinput.ino 1.87 KiB
void getinputs()
{
bool tlimitXM=digitalRead(limitXMpin);
bool tlimitXP=!digitalRead(limitXPpin);
bool tlimitYM=!digitalRead(limitYMpin);
bool tlimitYP=!digitalRead(limitYPpin);
bool tlimitZM=!digitalRead(limitZMpin);
bool tlimitZP=digitalRead(limitZPpin);
delayMicroseconds(8000);
if (tlimitXM==digitalRead(limitXMpin)) limitXM=digitalRead(limitXMpin);
if (tlimitXP==!digitalRead(limitXPpin)) limitXP=!digitalRead(limitXPpin);
if (tlimitYM==!digitalRead(limitYMpin)) limitYM=!digitalRead(limitYMpin);
if (tlimitYP==!digitalRead(limitYPpin)) limitYP=!digitalRead(limitYPpin);
if (tlimitZM==!digitalRead(limitZMpin)) limitZM=!digitalRead(limitZMpin);
if (tlimitZP==digitalRead(limitZPpin)) limitZP=digitalRead(limitZPpin);
//conveniance array:
limitM[0]=limitXM;
limitM[1]=limitYM;
limitM[2]=limitZM;
limitP[0]=limitXP;
limitP[1]=limitYP;
limitP[2]=limitZP;
readyX=digitalRead(readyXpin);
readyY=digitalRead(readyYpin);
readyZ=digitalRead(readyZpin);
//conveniance array:
machineready[0]=readyX;
machineready[1]=readyY;
machineready[2]=readyZ;
bool limitchanged=false;
error=-1;
for (int ax=0;ax<max_ax;ax++)
{
if (!machineready[ax]) {error=ax;}
if (limitM[ax]!=lastlimitM[ax]) {limitchanged=true;}
if (limitP[ax]!=lastlimitP[ax]) {limitchanged=true;}
}
if (limitchanged)
reportinputs();
for (int ax=0;ax<max_ax;ax++)
{
lastlimitM[ax]=limitM[ax];
lastlimitP[ax]=limitP[ax];
}
}
void reportinputs()
{
Serial.println("limitXM\tlimitXP\tlimitYM\tlimitYP\tlimitZM\tlimitZP\treadyX\treadyY\treadyZ");
Serial.print(limitXM);Serial.print("\t");
Serial.print(limitXP);Serial.print("\t");
Serial.print(limitYM);Serial.print("\t");