stepcompress: Return number of steps traveled from stepcompress_push()

Return the same information from stepcompress_push() that is returned
from stepcompress_push_const() and stpcompress_push_delta().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2017-09-13 09:01:13 -04:00
parent 52156d2c41
commit 14810d7e80
3 changed files with 7 additions and 10 deletions

View File

@ -25,7 +25,7 @@ defs_stepcompress = """
int stepcompress_set_homing(struct stepcompress *sc, uint64_t homing_clock);
int stepcompress_queue_msg(struct stepcompress *sc, uint32_t *data, int len);
int stepcompress_push(struct stepcompress *sc, double step_clock
int32_t stepcompress_push(struct stepcompress *sc, double step_clock
, int32_t sdir);
int32_t stepcompress_push_const(struct stepcompress *sc, double clock_offset
, double step_offset, double steps, double start_sv, double accel);

View File

@ -108,14 +108,11 @@ class MCU_stepper:
if ret:
raise error("Internal error in stepcompress")
def step(self, mcu_time, sdir):
clock = mcu_time * self._mcu_freq
ret = self._ffi_lib.stepcompress_push(self._stepqueue, clock, sdir)
if ret:
count = self._ffi_lib.stepcompress_push(
self._stepqueue, mcu_time * self._mcu_freq, sdir)
if count == STEPCOMPRESS_ERROR_RET:
raise error("Internal error in stepcompress")
if sdir:
self._commanded_pos += 1
else:
self._commanded_pos -= 1
self._commanded_pos += count
def step_const(self, mcu_time, start_pos, dist, start_v, accel):
inv_step_dist = self._inv_step_dist
step_offset = self._commanded_pos - start_pos * inv_step_dist

View File

@ -488,7 +488,7 @@ static inline double safe_sqrt(double v) {
}
// Schedule a step event at the specified step_clock time
int
int32_t
stepcompress_push(struct stepcompress *sc, double step_clock, int32_t sdir)
{
int ret = set_next_step_dir(sc, !!sdir);
@ -499,7 +499,7 @@ stepcompress_push(struct stepcompress *sc, double step_clock, int32_t sdir)
if (ret)
return ret;
queue_append_finish(qa);
return 0;
return sdir ? 1 : -1;
}
// Schedule 'steps' number of steps at constant acceleration. If