stat_t mp_runtime_command(mpBuf_t *bf) { bf->cm_func(bf->value_vector, bf->flag_vector); // 2 vectors used by callbacks if (mp_free_run_buffer()) cm_cycle_end(); // free buffer & perform cycle_end if planner is empty return (STAT_OK); }
static stat_t _exec_dwell(mpBuf_t *bf) { // st_prep_dwell((uint32_t)(bf->gm.move_time * 1000000));// convert seconds to uSec st_prep_dwell((uint32_t)(bf->gm.move_time));// convert seconds to uSec if (mp_free_run_buffer()) cm_cycle_end(); // free buffer & perform cycle_end if planner is empty return (STAT_OK); }
static stat_t _exec_command(mpBuf_t *bf) { bf->cm_func(bf->int_val, bf->dbl_val); st_prep_null(); // Must call a null prep to keep the loader happy. mp_free_run_buffer(); return (STAT_OK); }
void mp_end_dwell() // all's well that ends dwell { mp_free_run_buffer(); // Note: this is called from an interrupt }