Skip to content

Commit 287d87b

Browse files
committed
Fix error with 3 stepgens skipping a Word
1 parent 344a015 commit 287d87b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/litexcnc/driver/modules/litexcnc_stepgen.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ size_t litexcnc_stepgen_init(litexcnc_module_instance_t **module, litexcnc_t *li
532532
litexcnc_stepgen_instance_t *instance = &(stepgen->instances[i]);
533533

534534
// Set the pick-offs
535-
int8_t shift = *(*config);
535+
int8_t shift = *(*config) & 0xF;
536536
instance->data.pick_off_pos = 32;
537537
instance->data.pick_off_vel = instance->data.pick_off_pos + shift;
538538
instance->data.pick_off_acc = instance->data.pick_off_vel + 16;
@@ -575,7 +575,8 @@ size_t litexcnc_stepgen_init(litexcnc_module_instance_t **module, litexcnc_t *li
575575
}
576576

577577
// Align config at DWORD boundary
578-
(*config) += 4 - ((1 + stepgen->num_instances) & 0x03);
578+
(*config) += (4 - ((1 + stepgen->num_instances) & 0x03) & 0x03);
579+
LITEXCNC_ERR_NO_DEVICE("%d\n", (4 - ((1 + stepgen->num_instances) & 0x03) & 0x03));
579580

580581
return 0;
581582
}

0 commit comments

Comments
 (0)