Merge remote-tracking branch 'upstream/master' into edge
[clinton/Smoothieware.git] / src / modules / utils / currentcontrol / CurrentControl.cpp
index 409632b..0eb7952 100644 (file)
@@ -1,5 +1,5 @@
-#include "libs/Kernel.h"
 #include "CurrentControl.h"
+#include "libs/Kernel.h"
 #include "libs/nuts_bolts.h"
 #include "libs/utils.h"
 #include "ConfigValue.h"
@@ -8,6 +8,7 @@
 #include "Gcode.h"
 #include "Config.h"
 #include "checksumm.h"
+#include "DigipotBase.h"
 
 // add new digipot chips here
 #include "mcp4451.h"
 #include <string>
 using namespace std;
 
+#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 epsilon_current_checksum                CHECKSUM("epsilon_current")
+#define zeta_current_checksum                   CHECKSUM("zeta_current")
+#define eta_current_checksum                    CHECKSUM("eta_current")
+#define theta_current_checksum                  CHECKSUM("theta_current")
+#define currentcontrol_module_enable_checksum   CHECKSUM("currentcontrol_module_enable")
+#define digipotchip_checksum                    CHECKSUM("digipotchip")
+#define digipot_max_current                     CHECKSUM("digipot_max_current")
+#define digipot_factor                          CHECKSUM("digipot_factor")
+
+#define mcp4451_checksum                        CHECKSUM("mcp4451")
+#define ad5206_checksum                         CHECKSUM("ad5206")
+
 CurrentControl::CurrentControl()
 {
     digipot = NULL;
@@ -42,6 +59,9 @@ void CurrentControl::on_module_loaded()
         digipot = new MCP4451();
     }
 
+    digipot->set_max_current( THEKERNEL->config->value(digipot_max_current )->by_default(2.0f)->as_number());
+    digipot->set_factor( THEKERNEL->config->value(digipot_factor )->by_default(113.33f)->as_number());
+
     // Get configuration
     this->digipot->set_current(0, THEKERNEL->config->value(alpha_current_checksum  )->by_default(0.8f)->as_number());
     this->digipot->set_current(1, THEKERNEL->config->value(beta_current_checksum   )->by_default(0.8f)->as_number());
@@ -52,8 +72,6 @@ void CurrentControl::on_module_loaded()
     this->digipot->set_current(6, THEKERNEL->config->value(eta_current_checksum    )->by_default(-1)->as_number());
     this->digipot->set_current(7, THEKERNEL->config->value(theta_current_checksum  )->by_default(-1)->as_number());
 
-    digipot->set_max_current( THEKERNEL->config->value(digipot_max_current )->by_default(2.0f)->as_number());
-    digipot->set_factor( THEKERNEL->config->value(digipot_factor )->by_default(113.33f)->as_number());
 
     this->register_for_event(ON_GCODE_RECEIVED);
 }