From 07c6b5ab717d41ea5bd827e6e5a5ed763cafc362 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 18 Dec 2014 08:13:08 -0800 Subject: [PATCH] Using axis constants --- Marlin/ConfigurationStore.cpp | 46 +++++++------- Marlin/Configuration_adv.h | 4 +- Marlin/Marlin_main.cpp | 60 +++++++++---------- .../SCARA/Configuration_adv.h | 4 +- .../delta/Configuration_adv.h | 4 +- .../makibox/Configuration_adv.h | 4 +- Marlin/planner.cpp | 12 ++-- Marlin/planner.h | 15 ++--- 8 files changed, 71 insertions(+), 78 deletions(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index dbbe33a23..54e69c013 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -116,38 +116,38 @@ void Config_PrintSettings() SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Steps per unit:"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[0]); - SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[1]); - SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[2]); - SERIAL_ECHOPAIR(" E",axis_steps_per_unit[3]); + SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[X_AXIS]); + SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[Y_AXIS]); + SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[Z_AXIS]); + SERIAL_ECHOPAIR(" E",axis_steps_per_unit[E_AXIS]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; #ifdef SCARA SERIAL_ECHOLNPGM("Scaling factors:"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M365 X",axis_scaling[0]); - SERIAL_ECHOPAIR(" Y",axis_scaling[1]); - SERIAL_ECHOPAIR(" Z",axis_scaling[2]); + SERIAL_ECHOPAIR(" M365 X",axis_scaling[X_AXIS]); + SERIAL_ECHOPAIR(" Y",axis_scaling[Y_AXIS]); + SERIAL_ECHOPAIR(" Z",axis_scaling[Z_AXIS]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; #endif SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M203 X",max_feedrate[0]); - SERIAL_ECHOPAIR(" Y",max_feedrate[1] ); - SERIAL_ECHOPAIR(" Z", max_feedrate[2] ); - SERIAL_ECHOPAIR(" E", max_feedrate[3]); + SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]); + SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); + SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M201 X" ,max_acceleration_units_per_sq_second[0] ); - SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[1] ); - SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[2] ); - SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[3]); + SERIAL_ECHOPAIR(" M201 X" ,max_acceleration_units_per_sq_second[X_AXIS] ); + SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[Z_AXIS] ); + SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[E_AXIS]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration"); @@ -170,17 +170,17 @@ SERIAL_ECHOLNPGM("Scaling factors:"); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Home offset (mm):"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M206 X",add_homing[0] ); - SERIAL_ECHOPAIR(" Y" ,add_homing[1] ); - SERIAL_ECHOPAIR(" Z" ,add_homing[2] ); + SERIAL_ECHOPAIR(" M206 X",add_homing[X_AXIS] ); + SERIAL_ECHOPAIR(" Y" ,add_homing[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z" ,add_homing[Z_AXIS] ); SERIAL_ECHOLN(""); #ifdef DELTA SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Endstop adjustement (mm):"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M666 X",endstop_adj[0] ); - SERIAL_ECHOPAIR(" Y" ,endstop_adj[1] ); - SERIAL_ECHOPAIR(" Z" ,endstop_adj[2] ); + SERIAL_ECHOPAIR(" M666 X",endstop_adj[X_AXIS] ); + SERIAL_ECHOPAIR(" Y" ,endstop_adj[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z" ,endstop_adj[Z_AXIS] ); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second"); @@ -303,9 +303,9 @@ void Config_ResetDefault() max_xy_jerk=DEFAULT_XYJERK; max_z_jerk=DEFAULT_ZJERK; max_e_jerk=DEFAULT_EJERK; - add_homing[0] = add_homing[1] = add_homing[2] = 0; + add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0; #ifdef DELTA - endstop_adj[0] = endstop_adj[1] = endstop_adj[2] = 0; + endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0; delta_radius= DELTA_RADIUS; delta_diagonal_rod= DELTA_DIAGONAL_ROD; delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND; diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index d0f988c17..5eebec973 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -345,8 +345,8 @@ #define D_FILAMENT 2.85 #define STEPS_MM_E 836 - #define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) #endif // ADVANCE diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index bea1db727..59b291cfe 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1537,7 +1537,7 @@ void process_commands() #ifdef SCARA current_position[X_AXIS]=code_value(); #else - current_position[X_AXIS]=code_value()+add_homing[0]; + current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; #endif } } @@ -1547,7 +1547,7 @@ void process_commands() #ifdef SCARA current_position[Y_AXIS]=code_value(); #else - current_position[Y_AXIS]=code_value()+add_homing[1]; + current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; #endif } } @@ -1612,7 +1612,7 @@ void process_commands() if(code_seen(axis_codes[Z_AXIS])) { if(code_value_long() != 0) { - current_position[Z_AXIS]=code_value()+add_homing[2]; + current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; } } #ifdef ENABLE_AUTO_BED_LEVELING @@ -2745,9 +2745,9 @@ Sigma_Exit: SERIAL_PROTOCOLLN(""); SERIAL_PROTOCOLPGM("SCARA Cal - Theta:"); - SERIAL_PROTOCOL(delta[X_AXIS]+add_homing[0]); + SERIAL_PROTOCOL(delta[X_AXIS]+add_homing[X_AXIS]); SERIAL_PROTOCOLPGM(" Psi+Theta (90):"); - SERIAL_PROTOCOL(delta[Y_AXIS]-delta[X_AXIS]-90+add_homing[1]); + SERIAL_PROTOCOL(delta[Y_AXIS]-delta[X_AXIS]-90+add_homing[Y_AXIS]); SERIAL_PROTOCOLLN(""); SERIAL_PROTOCOLPGM("SCARA step Cal - Theta:"); @@ -2883,11 +2883,11 @@ Sigma_Exit: #ifdef SCARA if(code_seen('T')) // Theta { - add_homing[0] = code_value() ; + add_homing[X_AXIS] = code_value() ; } if(code_seen('P')) // Psi { - add_homing[1] = code_value() ; + add_homing[Y_AXIS] = code_value() ; } #endif break; @@ -3275,11 +3275,11 @@ Sigma_Exit: //SERIAL_ECHOLN(" Soft endstops disabled "); if(Stopped == false) { //get_coordinates(); // For X Y Z E F - delta[0] = 0; - delta[1] = 120; + delta[X_AXIS] = 0; + delta[Y_AXIS] = 120; calculate_SCARA_forward_Transform(delta); - destination[0] = delta[0]/axis_scaling[X_AXIS]; - destination[1] = delta[1]/axis_scaling[Y_AXIS]; + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; prepare_move(); //ClearToSend(); @@ -3293,11 +3293,11 @@ Sigma_Exit: //SERIAL_ECHOLN(" Soft endstops disabled "); if(Stopped == false) { //get_coordinates(); // For X Y Z E F - delta[0] = 90; - delta[1] = 130; + delta[X_AXIS] = 90; + delta[Y_AXIS] = 130; calculate_SCARA_forward_Transform(delta); - destination[0] = delta[0]/axis_scaling[X_AXIS]; - destination[1] = delta[1]/axis_scaling[Y_AXIS]; + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; prepare_move(); //ClearToSend(); @@ -3310,11 +3310,11 @@ Sigma_Exit: //SERIAL_ECHOLN(" Soft endstops disabled "); if(Stopped == false) { //get_coordinates(); // For X Y Z E F - delta[0] = 60; - delta[1] = 180; + delta[X_AXIS] = 60; + delta[Y_AXIS] = 180; calculate_SCARA_forward_Transform(delta); - destination[0] = delta[0]/axis_scaling[X_AXIS]; - destination[1] = delta[1]/axis_scaling[Y_AXIS]; + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; prepare_move(); //ClearToSend(); @@ -3327,11 +3327,11 @@ Sigma_Exit: //SERIAL_ECHOLN(" Soft endstops disabled "); if(Stopped == false) { //get_coordinates(); // For X Y Z E F - delta[0] = 50; - delta[1] = 90; + delta[X_AXIS] = 50; + delta[Y_AXIS] = 90; calculate_SCARA_forward_Transform(delta); - destination[0] = delta[0]/axis_scaling[X_AXIS]; - destination[1] = delta[1]/axis_scaling[Y_AXIS]; + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; prepare_move(); //ClearToSend(); @@ -3344,11 +3344,11 @@ Sigma_Exit: //SERIAL_ECHOLN(" Soft endstops disabled "); if(Stopped == false) { //get_coordinates(); // For X Y Z E F - delta[0] = 45; - delta[1] = 135; + delta[X_AXIS] = 45; + delta[Y_AXIS] = 135; calculate_SCARA_forward_Transform(delta); - destination[0] = delta[0]/axis_scaling[X_AXIS]; - destination[1] = delta[1]/axis_scaling[Y_AXIS]; + destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS]; + destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; prepare_move(); //ClearToSend(); @@ -4020,9 +4020,9 @@ for (int s = 1; s <= steps; s++) { calculate_delta(destination); - //SERIAL_ECHOPGM("destination[0]="); SERIAL_ECHOLN(destination[0]); - //SERIAL_ECHOPGM("destination[1]="); SERIAL_ECHOLN(destination[1]); - //SERIAL_ECHOPGM("destination[2]="); SERIAL_ECHOLN(destination[2]); + //SERIAL_ECHOPGM("destination[X_AXIS]="); SERIAL_ECHOLN(destination[X_AXIS]); + //SERIAL_ECHOPGM("destination[Y_AXIS]="); SERIAL_ECHOLN(destination[Y_AXIS]); + //SERIAL_ECHOPGM("destination[Z_AXIS]="); SERIAL_ECHOLN(destination[Z_AXIS]); //SERIAL_ECHOPGM("delta[X_AXIS]="); SERIAL_ECHOLN(delta[X_AXIS]); //SERIAL_ECHOPGM("delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]); //SERIAL_ECHOPGM("delta[Z_AXIS]="); SERIAL_ECHOLN(delta[Z_AXIS]); diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 10fbe9b31..840a1b288 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -353,8 +353,8 @@ #define D_FILAMENT 1.75 #define STEPS_MM_E 1000 - #define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) #endif // ADVANCE diff --git a/Marlin/example_configurations/delta/Configuration_adv.h b/Marlin/example_configurations/delta/Configuration_adv.h index 6c9d56886..edc658047 100644 --- a/Marlin/example_configurations/delta/Configuration_adv.h +++ b/Marlin/example_configurations/delta/Configuration_adv.h @@ -340,8 +340,8 @@ #define D_FILAMENT 2.85 #define STEPS_MM_E 836 - #define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) #endif // ADVANCE diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index 312b2b964..21dbd46d7 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -344,8 +344,8 @@ #define D_FILAMENT 2.85 #define STEPS_MM_E 836 - #define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) #endif // ADVANCE diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp index fe617501f..c8942251e 100644 --- a/Marlin/planner.cpp +++ b/Marlin/planner.cpp @@ -63,9 +63,9 @@ //=========================================================================== unsigned long minsegmenttime; -float max_feedrate[4]; // set the max speeds -float axis_steps_per_unit[4]; -unsigned long max_acceleration_units_per_sq_second[4]; // Use M201 to override by software +float max_feedrate[NUM_AXIS]; // set the max speeds +float axis_steps_per_unit[NUM_AXIS]; +unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software float minimumfeedrate; float acceleration; // Normal acceleration mm/s^2 THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX float retract_acceleration; // mm/s^2 filament pull-pack and push-forward while standing still in the other axis M204 TXXXX @@ -85,8 +85,8 @@ matrix_3x3 plan_bed_level_matrix = { #endif // #ifdef ENABLE_AUTO_BED_LEVELING // The current position of the tool in absolute steps -long position[4]; //rescaled from extern when axis_steps_per_unit are changed by gcode -static float previous_speed[4]; // Speed of previous path line segment +long position[NUM_AXIS]; //rescaled from extern when axis_steps_per_unit are changed by gcode +static float previous_speed[NUM_AXIS]; // Speed of previous path line segment static float previous_nominal_speed; // Nominal speed of previous path line segment #ifdef AUTOTEMP @@ -989,7 +989,7 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi else { long acc_dist = estimate_acceleration_distance(0, block->nominal_rate, block->acceleration_st); float advance = (STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K) * - (current_speed[E_AXIS] * current_speed[E_AXIS] * EXTRUTION_AREA * EXTRUTION_AREA)*256; + (current_speed[E_AXIS] * current_speed[E_AXIS] * EXTRUSION_AREA * EXTRUSION_AREA)*256; block->advance = advance; if(acc_dist == 0) { block->advance_rate = 0; diff --git a/Marlin/planner.h b/Marlin/planner.h index 837199eb7..0952b9dd3 100644 --- a/Marlin/planner.h +++ b/Marlin/planner.h @@ -106,9 +106,9 @@ void check_axes_activity(); uint8_t movesplanned(); //return the nr of buffered moves extern unsigned long minsegmenttime; -extern float max_feedrate[4]; // set the max speeds -extern float axis_steps_per_unit[4]; -extern unsigned long max_acceleration_units_per_sq_second[4]; // Use M201 to override by software +extern float max_feedrate[NUM_AXIS]; // set the max speeds +extern float axis_steps_per_unit[NUM_AXIS]; +extern unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software extern float minimumfeedrate; extern float acceleration; // Normal acceleration mm/s^2 THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX extern float retract_acceleration; // mm/s^2 filament pull-pack and push-forward while standing still in the other axis M204 TXXXX @@ -152,14 +152,7 @@ FORCE_INLINE block_t *plan_get_current_block() } // Returns true if the buffer has a queued block, false otherwise -FORCE_INLINE bool blocks_queued() -{ - if (block_buffer_head == block_buffer_tail) { - return false; - } - else - return true; -} +FORCE_INLINE bool blocks_queued() { return (block_buffer_head != block_buffer_tail); } #ifdef PREVENT_DANGEROUS_EXTRUDE void set_extrude_min_temp(float temp);