static void leave_limit_switch(bool x, bool y, bool z) { uint8_t my_count; uint8_t out_bits = 0; homing_cycle(x, y, z, true, (HOMING_CYCLE << 5)); // HOMING_CYCLE Ramp Start Values // noch Impulse hinterherschieben, damit Schalter sicher verlassen wird if (x) { out_bits |= (1<<X_STEP_BIT); } if (y) { out_bits |= (1<<Y_STEP_BIT); } if (z) { out_bits |= (1<<Z_STEP_BIT); } for (my_count=0; my_count<HOMING_LEAVE_PULSES; my_count++) { STEPPING_PORT |= (out_bits ^ settings.invert_mask) & STEP_MASK; // Pulse-Bits setzen delay_us(settings.pulse_microseconds); STEPPING_PORT ^= (out_bits ^ settings.invert_mask) & STEP_MASK; // Pulse-Bits löschen delay_us(HOMING_CYCLE << 5); } }
static void leave_limit_switch(bool w, bool x, bool y, bool z) { homing_cycle(w, x, y, z, true, 500000); }
static void approach_limit_switch(bool w, bool x, bool y, bool z) { homing_cycle(w, x, y, z, false, 100000); }
static void approach_limit_switch(bool x, bool y, bool z) { homing_cycle(x, y, z, false, (HOMING_CYCLE << 4)); // HOMING_CYCLE Ramp Start Values }