Isolate babystep to a separate function
This commit is contained in:
parent
bd28007312
commit
dfd8fee712
@ -1401,6 +1401,31 @@ void adc_ready(void) //callback from adc when sampling finished
|
||||
temp_meas_ready = true;
|
||||
}
|
||||
|
||||
#ifdef BABYSTEPPING
|
||||
FORCE_INLINE static void applyBabysteps() {
|
||||
for(uint8_t axis=0;axis<3;axis++)
|
||||
{
|
||||
int curTodo=babystepsTodo[axis]; //get rid of volatile for performance
|
||||
|
||||
if(curTodo>0)
|
||||
{
|
||||
CRITICAL_SECTION_START;
|
||||
babystep(axis,/*fwd*/true);
|
||||
babystepsTodo[axis]--; //less to do next time
|
||||
CRITICAL_SECTION_END;
|
||||
}
|
||||
else
|
||||
if(curTodo<0)
|
||||
{
|
||||
CRITICAL_SECTION_START;
|
||||
babystep(axis,/*fwd*/false);
|
||||
babystepsTodo[axis]++; //less to do next time
|
||||
CRITICAL_SECTION_END;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif //BABYSTEPPING
|
||||
|
||||
FORCE_INLINE static void soft_pwm_isr()
|
||||
{
|
||||
lcd_buttons_update();
|
||||
@ -1740,28 +1765,8 @@ FORCE_INLINE static void soft_pwm_isr()
|
||||
|
||||
#endif //ifndef SLOW_PWM_HEATERS
|
||||
|
||||
|
||||
#ifdef BABYSTEPPING
|
||||
for(uint8_t axis=0;axis<3;axis++)
|
||||
{
|
||||
int curTodo=babystepsTodo[axis]; //get rid of volatile for performance
|
||||
|
||||
if(curTodo>0)
|
||||
{
|
||||
CRITICAL_SECTION_START;
|
||||
babystep(axis,/*fwd*/true);
|
||||
babystepsTodo[axis]--; //less to do next time
|
||||
CRITICAL_SECTION_END;
|
||||
}
|
||||
else
|
||||
if(curTodo<0)
|
||||
{
|
||||
CRITICAL_SECTION_START;
|
||||
babystep(axis,/*fwd*/false);
|
||||
babystepsTodo[axis]++; //less to do next time
|
||||
CRITICAL_SECTION_END;
|
||||
}
|
||||
}
|
||||
applyBabysteps();
|
||||
#endif //BABYSTEPPING
|
||||
|
||||
// Check if a stack overflow happened
|
||||
|
Loading…
Reference in New Issue
Block a user