void Config::get_module_list(vector<uint16_t>* list, uint16_t family){
for( unsigned int i=1; i<this->config_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]);
}
#include "ConfigCache.h"
#include "ConfigSource.h"
#include "libs/ConfigSources/FileConfigSource.h"
+#include "checksumm.h"
#define error(...) (fprintf(stderr, __VA_ARGS__), exit(1))
-// 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(){
--- /dev/null
+/*
+ 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 <http://www.gnu.org/licenses/>.
+*/
+/* 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_ */
#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:
#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
#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
#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 {
#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:
#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{
#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
#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:
#include "libs/Pin.h"
#include <math.h>
-#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:
using namespace std;
#include <vector>
-#define switch_checksum 15508
-#define enable_checksum 29545
+#define switch_checksum CHECKSUM("switch")
+#define enable_checksum CHECKSUM("enable")
class SwitchPool : public Module {
public:
#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
using namespace std;
#include <vector>
-#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:
#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:
#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:
#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:
#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: