Interroger ici les fins de course ralentira peut-être le mouvement, mais permettra d'être au plus proche des déplacements des axes, pour réagir vite en cas de dépassement des fins de course.
Cette fonction ne s'execute qu'à certaines conditions :
<code lang=c>if(this->current_block && !this->paused && this->main_stepper->moving ) {...</code>
j'insère alors au début de cette fonction :
this->current_block->release();
}</code>
et dans l'objet Endstops, je décris la fonction :
<code lang=c>
bool Endstops::overflow()
{
///add from cedric tentavie of endstop runtime implementation
for ( char c = 'X'; c <= 'Z'; c++ ) {
//if endstop hit and motor go in is direction
if ( this->pins[c - 'X' + (this->steppers[c - 'X']->dir_pin.get() ? 0 : 3)].get() ) {
return true;
}
}
/////
}
</code>
[[Catégorie:FabAcademy]]