time to save, fixed a typo, maybe some F-related bugs
This commit is contained in:
parent
4fc004c6c2
commit
d9bb2f4db7
|
|
@ -13,6 +13,6 @@ extern volatile uint8_t clock_flag_250ms;
|
|||
|
||||
#define CLOCK_FLAG_250MS_TEMPCHECK 1
|
||||
#define CLOCK_FLAG_250MS_REPORT 2
|
||||
#define CLOCL_FLAG_250MS_STEPTIMEOUT 4
|
||||
#define CLOCK_FLAG_250MS_STEPTIMEOUT 4
|
||||
|
||||
#endif /* _CLOCK_H */
|
||||
|
|
|
|||
48
mendel/dda.c
48
mendel/dda.c
|
|
@ -201,20 +201,20 @@ void dda_create(TARGET *target, DDA *dda) {
|
|||
if (DEBUG)
|
||||
serwrite_uint32(dda->total_steps); serial_writechar(',');
|
||||
|
||||
if (dda->f_delta > dda->total_steps) {
|
||||
dda->f_scale = dda->f_delta / dda->total_steps;
|
||||
if (dda->f_scale > 3) {
|
||||
dda->f_delta = dda->total_steps;
|
||||
}
|
||||
else {
|
||||
// if we boost the number of steps here, many will only be F-steps which take no time- maybe we should calculate move_distance first?
|
||||
dda->f_scale = 1;
|
||||
dda->total_steps = dda->f_delta;
|
||||
}
|
||||
}
|
||||
else {
|
||||
dda->f_scale = 1;
|
||||
}
|
||||
// if (dda->f_delta > dda->total_steps) {
|
||||
// dda->f_scale = dda->f_delta / dda->total_steps;
|
||||
// if (dda->f_scale > 3) {
|
||||
// dda->f_delta = dda->total_steps;
|
||||
// }
|
||||
// else {
|
||||
// // if we boost the number of steps here, many will only be F-steps which take no time- maybe we should calculate move_distance first?
|
||||
// dda->f_scale = 1;
|
||||
// dda->total_steps = dda->f_delta;
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// dda->f_scale = 1;
|
||||
// }
|
||||
|
||||
if (DEBUG)
|
||||
serwrite_uint32(dda->total_steps); serial_writechar(',');
|
||||
|
|
@ -238,8 +238,8 @@ void dda_create(TARGET *target, DDA *dda) {
|
|||
|
||||
if (distance < 2)
|
||||
distance = dda->e_delta * UM_PER_STEP_E;
|
||||
if (distance < 2)
|
||||
distance = dda->f_delta;
|
||||
// if (distance < 2)
|
||||
// distance = dda->f_delta;
|
||||
|
||||
// pre-calculate move speed in millimeter microseconds per step minute for less math in interrupt context
|
||||
// mm (distance) * 60000000 us/min / step (total_steps) = mm.us per step.min
|
||||
|
|
@ -409,20 +409,22 @@ void dda_step(DDA *dda) {
|
|||
|
||||
if (step_option & F_CAN_STEP) {
|
||||
dda->f_counter -= dda->f_delta;
|
||||
if (dda->f_counter < 0) {
|
||||
while (dda->f_counter < 0) {
|
||||
|
||||
dda->f_counter += dda->total_steps;
|
||||
|
||||
if (dda->f_scale == 0)
|
||||
dda->f_scale = 1;
|
||||
// if (dda->f_scale == 0)
|
||||
// dda->f_scale = 1;
|
||||
|
||||
if (dda->f_direction) {
|
||||
current_position.F += dda->f_scale;
|
||||
// current_position.F += dda->f_scale;
|
||||
current_position.F += 1;
|
||||
if (current_position.F > dda->endpoint.F)
|
||||
current_position.F = dda->endpoint.F;
|
||||
}
|
||||
else {
|
||||
current_position.F -= dda->f_scale;
|
||||
// current_position.F -= dda->f_scale;
|
||||
current_position.F -= 1;
|
||||
if (current_position.F < dda->endpoint.F)
|
||||
current_position.F = dda->endpoint.F;
|
||||
}
|
||||
|
|
@ -435,8 +437,8 @@ void dda_step(DDA *dda) {
|
|||
serial_writechar('[');
|
||||
serwrite_hex8(step_option);
|
||||
serial_writechar(':');
|
||||
serwrite_uint16(dda->f_scale);
|
||||
serial_writechar(',');
|
||||
// serwrite_uint16(dda->f_scale);
|
||||
// serial_writechar(',');
|
||||
serwrite_int32(current_position.F);
|
||||
serial_writechar('/');
|
||||
serwrite_int32(dda->endpoint.F);
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ typedef struct {
|
|||
|
||||
uint32_t total_steps;
|
||||
|
||||
uint16_t f_scale;
|
||||
// uint16_t f_scale;
|
||||
uint32_t move_duration;
|
||||
} DDA;
|
||||
|
||||
|
|
|
|||
|
|
@ -117,8 +117,8 @@ int main (void)
|
|||
serial_writestr_P(PSTR("DDA: f#"));
|
||||
serwrite_int32(movebuffer[mb_head].f_counter);
|
||||
serial_writechar('/');
|
||||
serwrite_uint16(movebuffer[mb_head].f_scale);
|
||||
serial_writechar('/');
|
||||
// serwrite_uint16(movebuffer[mb_head].f_scale);
|
||||
// serial_writechar('/');
|
||||
serwrite_int16(movebuffer[mb_head].f_delta);
|
||||
serial_writechar('\n');
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue