From: Adam Green Date: Wed, 30 Jan 2013 05:20:59 +0000 (-0800) Subject: Calculate Fletcher Checksums at compile time from string. X-Git-Url: https://git.hcoop.net/clinton/Smoothieware.git/commitdiff_plain/d4f93cf4359e4b5c80eb55e698ce5d50559c6ef8 Calculate Fletcher Checksums at compile time from string. You can now just call CHECKSUM macro like the following to have the checksum calculated for you at compile time: #define enable_checksum CHECKSUM("enable") This uses a set of recursive macros from src/libs/checksumm.h to inline the checksum calculation and then the compiler uses constant folding in optimized builds (-O1 or higher) to pre-calculate the values. NOTE: The macros in checksumm.h currently only support a maximum string length of 32 characters. If you exceed this, the macros will return a fixed value of 0xFFFF which won't match your string. You should keep your checksummed strings below this length. I took a copy of main.bin from before I starting making these changes and then kept running builds and verifying that the new main.bin was exactly the same as the original. This means that it created the same checksums and didn't grow the binary size at all. --- diff --git a/src/libs/Config.cpp b/src/libs/Config.cpp index 3d858486..f4e54842 100644 --- a/src/libs/Config.cpp +++ b/src/libs/Config.cpp @@ -50,8 +50,8 @@ void Config::set_string( string setting, string value ){ void Config::get_module_list(vector* list, uint16_t family){ for( unsigned int i=1; iconfig_cache.size(); i++){ ConfigValue* value = this->config_cache.at(i); - //if( value->check_sums.size() == 3 && value->check_sums.at(2) == 29545 && value->check_sums.at(0) == family ){ - if( value->check_sums[2] == 29545 && value->check_sums[0] == family ){ + //if( value->check_sums.size() == 3 && value->check_sums.at(2) == CHECKSUM("enable") && value->check_sums.at(0) == family ){ + if( value->check_sums[2] == CHECKSUM("enable") && value->check_sums[0] == family ){ // We found a module enable for this family, add it's number list->push_back(value->check_sums[1]); } diff --git a/src/libs/Config.h b/src/libs/Config.h index 05c9b3a0..f2da3fe6 100644 --- a/src/libs/Config.h +++ b/src/libs/Config.h @@ -14,6 +14,7 @@ #include "ConfigCache.h" #include "ConfigSource.h" #include "libs/ConfigSources/FileConfigSource.h" +#include "checksumm.h" #define error(...) (fprintf(stderr, __VA_ARGS__), exit(1)) diff --git a/src/libs/Kernel.cpp b/src/libs/Kernel.cpp index b3aafafe..a9c41376 100644 --- a/src/libs/Kernel.cpp +++ b/src/libs/Kernel.cpp @@ -26,9 +26,8 @@ -// List of callback functions, ordered as their corresponding events -#define baud_rate_setting_checksum 10922 -#define uart0_checksum 16877 +#define baud_rate_setting_checksum CHECKSUM("baud_rate") +#define uart0_checksum CHECKSUM("uart0") // The kernel is the central point in Smoothie : it stores modules, and handles event calls Kernel::Kernel(){ diff --git a/src/libs/checksumm.h b/src/libs/checksumm.h new file mode 100644 index 00000000..40e0ccb3 --- /dev/null +++ b/src/libs/checksumm.h @@ -0,0 +1,163 @@ +/* + Copyright 2013 Adam Green (https://github.com/adamgreen) + + This file is part of Smoothie (http://smoothieware.org/) + The motion control part is heavily based on Grbl (https://github.com/simen/grbl) + + Smoothie is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + Smoothie is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along + with Smoothie. If not, see . +*/ +/* Calculates Fletcher Checksum at compile time using recursive macros. */ +#ifndef _CHECKSUM_MACRO_H_ +#define _CHECKSUM_MACRO_H_ + +/* Recursively define SUM1, the basic checksum % 255 */ +#define SUM1_1(X) ((X)[0] % 255) +#define SUM1_2(X) ((SUM1_1(X) + (X)[1]) % 255) +#define SUM1_3(X) ((SUM1_2(X) + (X)[2]) % 255) +#define SUM1_4(X) ((SUM1_3(X) + (X)[3]) % 255) +#define SUM1_5(X) ((SUM1_4(X) + (X)[4]) % 255) +#define SUM1_6(X) ((SUM1_5(X) + (X)[5]) % 255) +#define SUM1_7(X) ((SUM1_6(X) + (X)[6]) % 255) +#define SUM1_8(X) ((SUM1_7(X) + (X)[7]) % 255) +#define SUM1_9(X) ((SUM1_8(X) + (X)[8]) % 255) +#define SUM1_10(X) ((SUM1_9(X) + (X)[9]) % 255) +#define SUM1_11(X) ((SUM1_10(X) + (X)[10]) % 255) +#define SUM1_12(X) ((SUM1_11(X) + (X)[11]) % 255) +#define SUM1_13(X) ((SUM1_12(X) + (X)[12]) % 255) +#define SUM1_14(X) ((SUM1_13(X) + (X)[13]) % 255) +#define SUM1_15(X) ((SUM1_14(X) + (X)[14]) % 255) +#define SUM1_16(X) ((SUM1_15(X) + (X)[15]) % 255) +#define SUM1_17(X) ((SUM1_16(X) + (X)[16]) % 255) +#define SUM1_18(X) ((SUM1_17(X) + (X)[17]) % 255) +#define SUM1_19(X) ((SUM1_18(X) + (X)[18]) % 255) +#define SUM1_20(X) ((SUM1_19(X) + (X)[19]) % 255) +#define SUM1_21(X) ((SUM1_20(X) + (X)[20]) % 255) +#define SUM1_22(X) ((SUM1_21(X) + (X)[21]) % 255) +#define SUM1_23(X) ((SUM1_22(X) + (X)[22]) % 255) +#define SUM1_24(X) ((SUM1_23(X) + (X)[23]) % 255) +#define SUM1_25(X) ((SUM1_24(X) + (X)[24]) % 255) +#define SUM1_26(X) ((SUM1_25(X) + (X)[25]) % 255) +#define SUM1_27(X) ((SUM1_26(X) + (X)[26]) % 255) +#define SUM1_28(X) ((SUM1_27(X) + (X)[27]) % 255) +#define SUM1_29(X) ((SUM1_28(X) + (X)[28]) % 255) +#define SUM1_30(X) ((SUM1_29(X) + (X)[29]) % 255) +#define SUM1_31(X) ((SUM1_30(X) + (X)[30]) % 255) +#define SUM1_32(X) ((SUM1_31(X) + (X)[31]) % 255) + +/* Recursively define SUM2, the sum of SUM1s % 255 */ +#define SUM2_1(X) (SUM1_1(X) % 255) +#define SUM2_2(X) ((SUM2_1(X) + SUM1_2(X)) % 255) +#define SUM2_3(X) ((SUM2_2(X) + SUM1_3(X)) % 255) +#define SUM2_4(X) ((SUM2_3(X) + SUM1_4(X)) % 255) +#define SUM2_5(X) ((SUM2_4(X) + SUM1_5(X)) % 255) +#define SUM2_6(X) ((SUM2_5(X) + SUM1_6(X)) % 255) +#define SUM2_7(X) ((SUM2_6(X) + SUM1_7(X)) % 255) +#define SUM2_8(X) ((SUM2_7(X) + SUM1_8(X)) % 255) +#define SUM2_9(X) ((SUM2_8(X) + SUM1_9(X)) % 255) +#define SUM2_10(X) ((SUM2_9(X) + SUM1_10(X)) % 255) +#define SUM2_11(X) ((SUM2_10(X) + SUM1_11(X)) % 255) +#define SUM2_12(X) ((SUM2_11(X) + SUM1_12(X)) % 255) +#define SUM2_13(X) ((SUM2_12(X) + SUM1_13(X)) % 255) +#define SUM2_14(X) ((SUM2_13(X) + SUM1_14(X)) % 255) +#define SUM2_15(X) ((SUM2_14(X) + SUM1_15(X)) % 255) +#define SUM2_16(X) ((SUM2_15(X) + SUM1_16(X)) % 255) +#define SUM2_17(X) ((SUM2_16(X) + SUM1_17(X)) % 255) +#define SUM2_18(X) ((SUM2_17(X) + SUM1_18(X)) % 255) +#define SUM2_19(X) ((SUM2_18(X) + SUM1_19(X)) % 255) +#define SUM2_20(X) ((SUM2_19(X) + SUM1_20(X)) % 255) +#define SUM2_21(X) ((SUM2_20(X) + SUM1_21(X)) % 255) +#define SUM2_22(X) ((SUM2_21(X) + SUM1_22(X)) % 255) +#define SUM2_23(X) ((SUM2_22(X) + SUM1_23(X)) % 255) +#define SUM2_24(X) ((SUM2_23(X) + SUM1_24(X)) % 255) +#define SUM2_25(X) ((SUM2_24(X) + SUM1_25(X)) % 255) +#define SUM2_26(X) ((SUM2_25(X) + SUM1_26(X)) % 255) +#define SUM2_27(X) ((SUM2_26(X) + SUM1_27(X)) % 255) +#define SUM2_28(X) ((SUM2_27(X) + SUM1_28(X)) % 255) +#define SUM2_29(X) ((SUM2_28(X) + SUM1_29(X)) % 255) +#define SUM2_30(X) ((SUM2_29(X) + SUM1_30(X)) % 255) +#define SUM2_31(X) ((SUM2_30(X) + SUM1_31(X)) % 255) +#define SUM2_32(X) ((SUM2_31(X) + SUM1_32(X)) % 255) + +/* Define overall checksum as 16-bit combination of SUM1 in lower 8-bits and SUM2 in upper 8-bits. */ +#define CHECKSUM_(SUM1,SUM2) (SUM1) | (SUM2 << 8) +#define CHECKSUM_1(X) CHECKSUM_(SUM1_1(X),SUM2_1(X)) +#define CHECKSUM_2(X) CHECKSUM_(SUM1_2(X),SUM2_2(X)) +#define CHECKSUM_3(X) CHECKSUM_(SUM1_3(X),SUM2_3(X)) +#define CHECKSUM_4(X) CHECKSUM_(SUM1_4(X),SUM2_4(X)) +#define CHECKSUM_5(X) CHECKSUM_(SUM1_5(X),SUM2_5(X)) +#define CHECKSUM_6(X) CHECKSUM_(SUM1_6(X),SUM2_6(X)) +#define CHECKSUM_7(X) CHECKSUM_(SUM1_7(X),SUM2_7(X)) +#define CHECKSUM_8(X) CHECKSUM_(SUM1_8(X),SUM2_8(X)) +#define CHECKSUM_9(X) CHECKSUM_(SUM1_9(X),SUM2_9(X)) +#define CHECKSUM_10(X) CHECKSUM_(SUM1_10(X),SUM2_10(X)) +#define CHECKSUM_11(X) CHECKSUM_(SUM1_11(X),SUM2_11(X)) +#define CHECKSUM_12(X) CHECKSUM_(SUM1_12(X),SUM2_12(X)) +#define CHECKSUM_13(X) CHECKSUM_(SUM1_13(X),SUM2_13(X)) +#define CHECKSUM_14(X) CHECKSUM_(SUM1_14(X),SUM2_14(X)) +#define CHECKSUM_15(X) CHECKSUM_(SUM1_15(X),SUM2_15(X)) +#define CHECKSUM_16(X) CHECKSUM_(SUM1_16(X),SUM2_16(X)) +#define CHECKSUM_17(X) CHECKSUM_(SUM1_17(X),SUM2_17(X)) +#define CHECKSUM_18(X) CHECKSUM_(SUM1_18(X),SUM2_18(X)) +#define CHECKSUM_19(X) CHECKSUM_(SUM1_19(X),SUM2_19(X)) +#define CHECKSUM_20(X) CHECKSUM_(SUM1_20(X),SUM2_20(X)) +#define CHECKSUM_21(X) CHECKSUM_(SUM1_21(X),SUM2_21(X)) +#define CHECKSUM_22(X) CHECKSUM_(SUM1_22(X),SUM2_22(X)) +#define CHECKSUM_23(X) CHECKSUM_(SUM1_23(X),SUM2_23(X)) +#define CHECKSUM_24(X) CHECKSUM_(SUM1_24(X),SUM2_24(X)) +#define CHECKSUM_25(X) CHECKSUM_(SUM1_25(X),SUM2_25(X)) +#define CHECKSUM_26(X) CHECKSUM_(SUM1_26(X),SUM2_26(X)) +#define CHECKSUM_27(X) CHECKSUM_(SUM1_27(X),SUM2_27(X)) +#define CHECKSUM_28(X) CHECKSUM_(SUM1_28(X),SUM2_28(X)) +#define CHECKSUM_29(X) CHECKSUM_(SUM1_29(X),SUM2_29(X)) +#define CHECKSUM_30(X) CHECKSUM_(SUM1_30(X),SUM2_30(X)) +#define CHECKSUM_31(X) CHECKSUM_(SUM1_31(X),SUM2_31(X)) +#define CHECKSUM_32(X) CHECKSUM_(SUM1_32(X),SUM2_32(X)) + +#define CHECKSUM(X) (sizeof(X) == 0 ? 0 : \ + sizeof(X) == 1 ? 0 : \ + sizeof(X) == 2 ? CHECKSUM_1(X) : \ + sizeof(X) == 3 ? CHECKSUM_2(X) : \ + sizeof(X) == 4 ? CHECKSUM_3(X) : \ + sizeof(X) == 5 ? CHECKSUM_4(X) : \ + sizeof(X) == 6 ? CHECKSUM_5(X) : \ + sizeof(X) == 7 ? CHECKSUM_6(X) : \ + sizeof(X) == 8 ? CHECKSUM_7(X) : \ + sizeof(X) == 9 ? CHECKSUM_8(X) : \ + sizeof(X) == 10 ? CHECKSUM_9(X) : \ + sizeof(X) == 11 ? CHECKSUM_10(X) : \ + sizeof(X) == 12 ? CHECKSUM_11(X) : \ + sizeof(X) == 13 ? CHECKSUM_12(X) : \ + sizeof(X) == 14 ? CHECKSUM_13(X) : \ + sizeof(X) == 15 ? CHECKSUM_14(X) : \ + sizeof(X) == 16 ? CHECKSUM_15(X) : \ + sizeof(X) == 17 ? CHECKSUM_16(X) : \ + sizeof(X) == 18 ? CHECKSUM_17(X) : \ + sizeof(X) == 19 ? CHECKSUM_18(X) : \ + sizeof(X) == 20 ? CHECKSUM_19(X) : \ + sizeof(X) == 21 ? CHECKSUM_20(X) : \ + sizeof(X) == 22 ? CHECKSUM_21(X) : \ + sizeof(X) == 23 ? CHECKSUM_22(X) : \ + sizeof(X) == 24 ? CHECKSUM_23(X) : \ + sizeof(X) == 25 ? CHECKSUM_24(X) : \ + sizeof(X) == 26 ? CHECKSUM_25(X) : \ + sizeof(X) == 27 ? CHECKSUM_26(X) : \ + sizeof(X) == 28 ? CHECKSUM_27(X) : \ + sizeof(X) == 29 ? CHECKSUM_28(X) : \ + sizeof(X) == 30 ? CHECKSUM_29(X) : \ + sizeof(X) == 31 ? CHECKSUM_30(X) : \ + sizeof(X) == 32 ? CHECKSUM_31(X) : \ + sizeof(X) == 33 ? CHECKSUM_32(X) : \ + 0xFFFF) + +#endif /* _CHECKSUM_MACRO_H_ */ diff --git a/src/modules/communication/SerialConsole.h b/src/modules/communication/SerialConsole.h index 02c22921..6dfbcb4c 100644 --- a/src/modules/communication/SerialConsole.h +++ b/src/modules/communication/SerialConsole.h @@ -18,7 +18,7 @@ using std::string; #include "libs/StreamOutput.h" -#define baud_rate_setting_checksum 10922 +#define baud_rate_setting_checksum CHECKSUM("baud_rate") class SerialConsole : public Module, public StreamOutput { public: diff --git a/src/modules/robot/Planner.h b/src/modules/robot/Planner.h index f3fbc151..44cfbc1f 100644 --- a/src/modules/robot/Planner.h +++ b/src/modules/robot/Planner.h @@ -13,9 +13,9 @@ #include "../communication/utils/Gcode.h" #include "Block.h" -#define acceleration_checksum 25326 -#define max_jerk_checksum 61012 -#define junction_deviation_checksum 6035 +#define acceleration_checksum CHECKSUM("acceleration") +#define max_jerk_checksum CHECKSUM("max_jerk") +#define junction_deviation_checksum CHECKSUM("junction_deviation") // TODO: Get from config #define MINIMUM_PLANNER_SPEED 0.0 diff --git a/src/modules/robot/Robot.h b/src/modules/robot/Robot.h index 44dd1309..21729225 100644 --- a/src/modules/robot/Robot.h +++ b/src/modules/robot/Robot.h @@ -19,14 +19,14 @@ using std::string; #include "libs/StepperMotor.h" -#define default_seek_rate_checksum 47357 -#define default_feed_rate_checksum 6633 -#define mm_per_line_segment_checksum 30176 -#define mm_per_arc_segment_checksum 15470 -#define arc_correction_checksum 5074 -#define x_axis_max_speed_checksum 64935 -#define y_axis_max_speed_checksum 3752 -#define z_axis_max_speed_checksum 7849 +#define default_seek_rate_checksum CHECKSUM("default_seek_rate") +#define default_feed_rate_checksum CHECKSUM("default_feed_rate") +#define mm_per_line_segment_checksum CHECKSUM("mm_per_line_segment") +#define mm_per_arc_segment_checksum CHECKSUM("mm_per_arc_segment") +#define arc_correction_checksum CHECKSUM("arc_correction") +#define x_axis_max_speed_checksum CHECKSUM("x_axis_max_speed") +#define y_axis_max_speed_checksum CHECKSUM("y_axis_max_speed") +#define z_axis_max_speed_checksum CHECKSUM("z_axis_max_speed") #define NEXT_ACTION_DEFAULT 0 #define NEXT_ACTION_DWELL 1 diff --git a/src/modules/robot/Stepper.h b/src/modules/robot/Stepper.h index 55e0d6c7..e90ec1f2 100644 --- a/src/modules/robot/Stepper.h +++ b/src/modules/robot/Stepper.h @@ -12,19 +12,19 @@ #include "Planner.h" #include "Block.h" -#define microseconds_per_step_pulse_checksum 42333 -#define acceleration_ticks_per_second_checksum 25075 -#define minimum_steps_per_minute_checksum 9003 -#define base_stepping_frequency_checksum 21918 -#define alpha_step_pin_checksum 11468 -#define beta_step_pin_checksum 22114 -#define gamma_step_pin_checksum 1225 -#define alpha_dir_pin_checksum 55887 -#define beta_dir_pin_checksum 28644 -#define gamma_dir_pin_checksum 46412 -#define alpha_en_pin_checksum 35042 -#define beta_en_pin_checksum 34680 -#define gamma_en_pin_checksum 26335 +#define microseconds_per_step_pulse_checksum CHECKSUM("microseconds_per_step_pulse") +#define acceleration_ticks_per_second_checksum CHECKSUM("acceleration_ticks_per_second") +#define minimum_steps_per_minute_checksum CHECKSUM("minimum_steps_per_minute") +#define base_stepping_frequency_checksum CHECKSUM("base_stepping_frequency") +#define alpha_step_pin_checksum CHECKSUM("alpha_step_pin") +#define beta_step_pin_checksum CHECKSUM("beta_step_pin") +#define gamma_step_pin_checksum CHECKSUM("gamma_step_pin") +#define alpha_dir_pin_checksum CHECKSUM("alpha_dir_pin") +#define beta_dir_pin_checksum CHECKSUM("beta_dir_pin") +#define gamma_dir_pin_checksum CHECKSUM("gamma_dir_pin") +#define alpha_en_pin_checksum CHECKSUM("alpha_en_pin") +#define beta_en_pin_checksum CHECKSUM("beta_en_pin") +#define gamma_en_pin_checksum CHECKSUM("gamma_en_pin") class Stepper : public Module { diff --git a/src/modules/robot/arm_solutions/CartesianSolution.h b/src/modules/robot/arm_solutions/CartesianSolution.h index aaa55072..00e04cd6 100644 --- a/src/modules/robot/arm_solutions/CartesianSolution.h +++ b/src/modules/robot/arm_solutions/CartesianSolution.h @@ -7,9 +7,9 @@ #include "libs/Config.h" -#define alpha_steps_per_mm_checksum 46458 -#define beta_steps_per_mm_checksum 13840 -#define gamma_steps_per_mm_checksum 33143 +#define alpha_steps_per_mm_checksum CHECKSUM("alpha_steps_per_mm") +#define beta_steps_per_mm_checksum CHECKSUM("beta_steps_per_mm") +#define gamma_steps_per_mm_checksum CHECKSUM("gamma_steps_per_mm") class CartesianSolution : public BaseSolution { public: diff --git a/src/modules/tools/endstops/Endstops.h b/src/modules/tools/endstops/Endstops.h index cebcc1ed..69ade57f 100644 --- a/src/modules/tools/endstops/Endstops.h +++ b/src/modules/tools/endstops/Endstops.h @@ -23,26 +23,26 @@ #define MOVING_BACK 2 #define MOVING_TO_ORIGIN_SLOW 3 -#define alpha_min_endstop_checksum 28684 -#define beta_min_endstop_checksum 23457 -#define gamma_min_endstop_checksum 16137 - -#define alpha_max_endstop_checksum 31246 -#define beta_max_endstop_checksum 26019 -#define gamma_max_endstop_checksum 18699 - -#define alpha_fast_homing_rate_checksum 19720 -#define beta_fast_homing_rate_checksum 9373 -#define gamma_fast_homing_rate_checksum 3333 - -#define alpha_slow_homing_rate_checksum 45599 -#define beta_slow_homing_rate_checksum 35252 -#define gamma_slow_homing_rate_checksum 29212 - -#define alpha_homing_retract_checksum 4419 -#define beta_homing_retract_checksum 48344 -#define gamma_homing_retract_checksum 54848 -#define endstop_debounce_count_checksum 25394 +#define alpha_min_endstop_checksum CHECKSUM("alpha_min_endstop") +#define beta_min_endstop_checksum CHECKSUM("beta_min_endstop") +#define gamma_min_endstop_checksum CHECKSUM("gamma_min_endstop") + +#define alpha_max_endstop_checksum CHECKSUM("alpha_max_endstop") +#define beta_max_endstop_checksum CHECKSUM("beta_max_endstop") +#define gamma_max_endstop_checksum CHECKSUM("gamma_max_endstop") + +#define alpha_fast_homing_rate_checksum CHECKSUM("alpha_fast_homing_rate") +#define beta_fast_homing_rate_checksum CHECKSUM("beta_fast_homing_rate") +#define gamma_fast_homing_rate_checksum CHECKSUM("gamma_fast_homing_rate") + +#define alpha_slow_homing_rate_checksum CHECKSUM("alpha_slow_homing_rate") +#define beta_slow_homing_rate_checksum CHECKSUM("beta_slow_homing_rate") +#define gamma_slow_homing_rate_checksum CHECKSUM("gamma_slow_homing_rate") + +#define alpha_homing_retract_checksum CHECKSUM("alpha_homing_retract") +#define beta_homing_retract_checksum CHECKSUM("beta_homing_retract") +#define gamma_homing_retract_checksum CHECKSUM("gamma_homing_retract") +#define endstop_debounce_count_checksum CHECKSUM("endstop_debounce_count") class Endstops : public Module{ diff --git a/src/modules/tools/extruder/Extruder.h b/src/modules/tools/extruder/Extruder.h index 023a48c1..e127c241 100644 --- a/src/modules/tools/extruder/Extruder.h +++ b/src/modules/tools/extruder/Extruder.h @@ -14,14 +14,14 @@ #include "libs/Kernel.h" #include "modules/robot/Block.h" -#define microseconds_per_step_pulse_checksum 42333 -#define extruder_module_enable_checksum 6183 -#define extruder_steps_per_mm_checksum 58088 -#define extruder_acceleration_checksum 60356 -#define extruder_step_pin_checksum 40763 -#define extruder_dir_pin_checksum 57277 -#define extruder_en_pin_checksum 8017 -#define extruder_max_speed_checksum 54671 +#define microseconds_per_step_pulse_checksum CHECKSUM("microseconds_per_step_pulse") +#define extruder_module_enable_checksum CHECKSUM("extruder_module_enable") +#define extruder_steps_per_mm_checksum CHECKSUM("extruder_steps_per_mm") +#define extruder_acceleration_checksum CHECKSUM("extruder_acceleration") +#define extruder_step_pin_checksum CHECKSUM("extruder_step_pin") +#define extruder_dir_pin_checksum CHECKSUM("extruder_dir_pin") +#define extruder_en_pin_checksum CHECKSUM("extruder_en_pin") +#define extruder_max_speed_checksum CHECKSUM("extruder_max_speed") // default_feed_rate_checksum defined by Robot.h diff --git a/src/modules/tools/laser/Laser.h b/src/modules/tools/laser/Laser.h index 2d0d90a2..eef2acbc 100644 --- a/src/modules/tools/laser/Laser.h +++ b/src/modules/tools/laser/Laser.h @@ -14,9 +14,9 @@ #include "modules/communication/utils/Gcode.h" -#define laser_module_enable_checksum 35529 -#define laser_module_max_power_checksum 14134 -#define laser_module_tickle_power_checksum 63341 +#define laser_module_enable_checksum CHECKSUM("laser_module_enable") +#define laser_module_max_power_checksum CHECKSUM("laser_module_max_power") +#define laser_module_tickle_power_checksum CHECKSUM("laser_module_tickle_power") class Laser : public Module{ public: diff --git a/src/modules/tools/switch/Switch.h b/src/modules/tools/switch/Switch.h index 2f73b942..25ae20ed 100644 --- a/src/modules/tools/switch/Switch.h +++ b/src/modules/tools/switch/Switch.h @@ -11,11 +11,11 @@ #include "libs/Pin.h" #include -#define switch_checksum 15508 -#define on_m_code_checksum 29094 -#define off_m_code_checksum 14853 -#define output_pin_checksum 18779 -#define startup_state_checksum 37528 +#define switch_checksum CHECKSUM("switch") +#define on_m_code_checksum CHECKSUM("on_m_code") +#define off_m_code_checksum CHECKSUM("off_m_code") +#define output_pin_checksum CHECKSUM("output_pin") +#define startup_state_checksum CHECKSUM("startup_state") class Switch : public Module { public: diff --git a/src/modules/tools/switch/SwitchPool.h b/src/modules/tools/switch/SwitchPool.h index 01f629ec..85f11f12 100644 --- a/src/modules/tools/switch/SwitchPool.h +++ b/src/modules/tools/switch/SwitchPool.h @@ -13,8 +13,8 @@ using namespace std; #include -#define switch_checksum 15508 -#define enable_checksum 29545 +#define switch_checksum CHECKSUM("switch") +#define enable_checksum CHECKSUM("enable") class SwitchPool : public Module { public: diff --git a/src/modules/tools/temperaturecontrol/TemperatureControl.h b/src/modules/tools/temperaturecontrol/TemperatureControl.h index f9356b54..c2168906 100644 --- a/src/modules/tools/temperaturecontrol/TemperatureControl.h +++ b/src/modules/tools/temperaturecontrol/TemperatureControl.h @@ -16,30 +16,30 @@ #define UNDEFINED -1 -#define thermistor_checksum 41045 -#define r0_checksum 5538 -#define readings_per_second_checksum 18645 -#define t0_checksum 6564 -#define beta_checksum 1181 -#define vadc_checksum 10911 -#define vcc_checksum 36157 -#define r1_checksum 5795 -#define r2_checksum 6052 -#define temperature_control_checksum 44054 -#define thermistor_pin_checksum 1788 -#define heater_pin_checksum 35619 - -#define get_m_code_checksum 20746 -#define set_m_code_checksum 51478 -#define set_and_wait_m_code_checksum 4287 - -#define designator_checksum 49716 - -#define p_factor_checksum 43089 -#define i_factor_checksum 28746 -#define d_factor_checksum 18501 - -#define i_max_checksum 4112 +#define thermistor_checksum CHECKSUM("thermistor") +#define r0_checksum CHECKSUM("r0") +#define readings_per_second_checksum CHECKSUM("readings_per_second") +#define t0_checksum CHECKSUM("t0") +#define beta_checksum CHECKSUM("beta") +#define vadc_checksum CHECKSUM("vadc") +#define vcc_checksum CHECKSUM("vcc") +#define r1_checksum CHECKSUM("r1") +#define r2_checksum CHECKSUM("r2") +#define temperature_control_checksum CHECKSUM("temperature_control") +#define thermistor_pin_checksum CHECKSUM("thermistor_pin") +#define heater_pin_checksum CHECKSUM("heater_pin") + +#define get_m_code_checksum CHECKSUM("get_m_code") +#define set_m_code_checksum CHECKSUM("set_m_code") +#define set_and_wait_m_code_checksum CHECKSUM("set_and_wait_m_code") + +#define designator_checksum CHECKSUM("designator") + +#define p_factor_checksum CHECKSUM("p_factor") +#define i_factor_checksum CHECKSUM("i_factor") +#define d_factor_checksum CHECKSUM("d_factor") + +#define i_max_checksum CHECKSUM("i_max") #define QUEUE_LEN 8 diff --git a/src/modules/tools/temperaturecontrol/TemperatureControlPool.h b/src/modules/tools/temperaturecontrol/TemperatureControlPool.h index 80a59c4b..848f9e7d 100644 --- a/src/modules/tools/temperaturecontrol/TemperatureControlPool.h +++ b/src/modules/tools/temperaturecontrol/TemperatureControlPool.h @@ -14,8 +14,8 @@ using namespace std; #include -#define temperature_control_checksum 44054 -#define enable_checksum 29545 +#define temperature_control_checksum CHECKSUM("temperature_control") +#define enable_checksum CHECKSUM("enable") class TemperatureControlPool : public Module { public: diff --git a/src/modules/utils/configurator/Configurator.h b/src/modules/utils/configurator/Configurator.h index b0214d55..e945126e 100644 --- a/src/modules/utils/configurator/Configurator.h +++ b/src/modules/utils/configurator/Configurator.h @@ -20,9 +20,9 @@ #define CONF_SD 2 #define CONF_EEPROM 3 -#define config_get_command_checksum 46310 // "config-get" -#define config_set_command_checksum 55538 // "config-set" -#define config_load_command_checksum 3143 // "config-load" +#define config_get_command_checksum CHECKSUM("config-get") +#define config_set_command_checksum CHECKSUM("config-set") +#define config_load_command_checksum CHECKSUM("config-load") class Configurator : public Module { public: diff --git a/src/modules/utils/currentcontrol/CurrentControl.h b/src/modules/utils/currentcontrol/CurrentControl.h index 0a8946e3..0ed03b30 100644 --- a/src/modules/utils/currentcontrol/CurrentControl.h +++ b/src/modules/utils/currentcontrol/CurrentControl.h @@ -6,11 +6,11 @@ #include "libs/utils.h" #include "libs/Pin.h" -#define alpha_current_checksum 22381 -#define beta_current_checksum 60163 -#define gamma_current_checksum 12906 -#define delta_current_checksum 30321 -#define currentcontrol_module_enable_checksum 38842 +#define alpha_current_checksum CHECKSUM("alpha_current") +#define beta_current_checksum CHECKSUM("beta_current") +#define gamma_current_checksum CHECKSUM("gamma_current") +#define delta_current_checksum CHECKSUM("delta_current") +#define currentcontrol_module_enable_checksum CHECKSUM("currentcontrol_module_enable") class CurrentControl : public Module { public: diff --git a/src/modules/utils/pausebutton/PauseButton.h b/src/modules/utils/pausebutton/PauseButton.h index 50e0b9d2..20203f32 100644 --- a/src/modules/utils/pausebutton/PauseButton.h +++ b/src/modules/utils/pausebutton/PauseButton.h @@ -6,9 +6,9 @@ #include "libs/utils.h" #include "libs/Pin.h" -#define pause_button_enable_checksum 55526 -#define pause_button_pin_checksum 32709 -#define pause_led_pin_checksum 48477 +#define pause_button_enable_checksum CHECKSUM("pause_button_enable") +#define pause_button_pin_checksum CHECKSUM("pause_button_pin") +#define pause_led_pin_checksum CHECKSUM("pause_led_pin") class PauseButton : public Module { public: diff --git a/src/modules/utils/simpleshell/SimpleShell.h b/src/modules/utils/simpleshell/SimpleShell.h index 0857638d..9a0ee7ef 100644 --- a/src/modules/utils/simpleshell/SimpleShell.h +++ b/src/modules/utils/simpleshell/SimpleShell.h @@ -15,13 +15,13 @@ #include "libs/StreamOutput.h" -#define ls_command_checksum 19679 -#define cd_command_checksum 11207 -#define pwd_command_checksum 42060 -#define cat_command_checksum 24889 -#define play_command_checksum 17335 -#define reset_command_checksum 27429 -#define dfu_command_checksum 28480 +#define ls_command_checksum CHECKSUM("ls") +#define cd_command_checksum CHECKSUM("cd") +#define pwd_command_checksum CHECKSUM("pwd") +#define cat_command_checksum CHECKSUM("cat") +#define play_command_checksum CHECKSUM("play") +#define reset_command_checksum CHECKSUM("reset") +#define dfu_command_checksum CHECKSUM("dfu") class SimpleShell : public Module { public: