From: Joseph Coffland Date: Sun, 15 Jan 2017 05:31:25 +0000 (-0800) Subject: Remove soft limit magic number X-Git-Url: https://git.buildbotics.com/?a=commitdiff_plain;h=e60241bace600fbf65757a3e87ec5457cdff4670;p=bbctrl-firmware Remove soft limit magic number --- diff --git a/avr/src/axis.c b/avr/src/axis.c index afcfc49..6da42da 100644 --- a/avr/src/axis.c +++ b/avr/src/axis.c @@ -174,8 +174,8 @@ AXIS_SET(homed, bool) AXIS_GET(homing_mode, homing_mode_t, HOMING_DISABLED) AXIS_SET(homing_mode, homing_mode_t) AXIS_GET(radius, float, 0) -AXIS_GET(travel_min, float, DISABLE_SOFT_LIMIT) -AXIS_GET(travel_max, float, DISABLE_SOFT_LIMIT) +AXIS_GET(travel_min, float, 0) +AXIS_GET(travel_max, float, 0) AXIS_GET(search_velocity, float, 0) AXIS_GET(latch_velocity, float, 0) AXIS_GET(zero_backoff, float, 0) diff --git a/avr/src/config.h b/avr/src/config.h index 68e41e2..a7f3717 100644 --- a/avr/src/config.h +++ b/avr/src/config.h @@ -98,8 +98,6 @@ enum { #define SWITCHES 10 // number of supported switches #define PWMS 2 // number of supported PWM channels -#define DISABLE_SOFT_LIMIT -1000000 - // Motor settings. See motor.c #define MOTOR_MAX_CURRENT 1.0 // 1.0 is full power @@ -139,12 +137,6 @@ enum { #define M4_POWER_MODE MOTOR_POWER_MODE -// Switch settings. See switch.c -#define SWITCH_INTLVL PORT_INT0LVL_MED_gc -#define SW_LOCKOUT_TICKS 250 // ms -#define SW_DEGLITCH_TICKS 30 // ms - - // Machine settings //#define STEP_CORRECTION // Enable step correction #define MAX_STEP_CORRECTION 4 // In steps per segment @@ -231,6 +223,18 @@ enum { #define GCODE_DEFAULT_ARC_DISTANCE_MODE INCREMENTAL_MODE +// Arc +#define ARC_RADIUS_ERROR_MAX 1.0 // max mm diff between start and end radius +#define ARC_RADIUS_ERROR_MIN 0.005 // min mm where 1% rule applies +#define ARC_RADIUS_TOLERANCE 0.001 // 0.1% radius variance test + + +// Switch settings. See switch.c +#define SWITCH_INTLVL PORT_INT0LVL_MED_gc +#define SW_LOCKOUT_TICKS 250 // ms +#define SW_DEGLITCH_TICKS 30 // ms + + // Motor ISRs #define STALL_ISR_vect PORTA_INT1_vect #define FAULT_ISR_vect PORTF_INT1_vect @@ -307,12 +311,6 @@ enum { #define INPUT_BUFFER_LEN 255 // text buffer size (255 max) -// Arc -#define ARC_RADIUS_ERROR_MAX 1.0 // max mm diff between start and end radius -#define ARC_RADIUS_ERROR_MIN 0.005 // min mm where 1% rule applies -#define ARC_RADIUS_TOLERANCE 0.001 // 0.1% radius variance test - - // Planner /// Should be at least the number of buffers required to support optimal /// planning in the case of very short lines or arc segments. Suggest no less diff --git a/avr/src/machine.c b/avr/src/machine.c index 5deffdc..1fde72d 100644 --- a/avr/src/machine.c +++ b/avr/src/machine.c @@ -339,8 +339,7 @@ stat_t mach_test_soft_limits(float target[]) { // min == max means no soft limits if (fp_EQ(min, max)) continue; - if ((min > DISABLE_SOFT_LIMIT && target[axis] < min) || - (max > DISABLE_SOFT_LIMIT && target[axis] > max)) + if (target[axis] < min || max < target[axis]) return STAT_SOFT_LIMIT_EXCEEDED; }