Math was wrong in the Digipot class
authorArthur Wolf <wolf.arthur@gmail.com>
Fri, 20 Apr 2012 17:47:04 +0000 (19:47 +0200)
committerArthur Wolf <wolf.arthur@gmail.com>
Fri, 20 Apr 2012 17:47:04 +0000 (19:47 +0200)
src/libs/Digipot.h
src/modules/utils/currentcontrol/CurrentControl.cpp

index 9c1b6cf..d5b28bb 100644 (file)
@@ -12,7 +12,7 @@ class Digipot{
         Digipot(){ }
       
         char current_to_wiper( double current ){
-            return char(int(ceil(double(double(double(double(current/8.25)-double(50/83))*-83000)/double(196.07)))));
+            return char(ceil(double((113.33*current)))); 
         }
 
         void i2c_send( char first, char second, char third ){
index e31dda8..b810264 100644 (file)
@@ -11,10 +11,10 @@ void CurrentControl::on_module_loaded(){
     //if( !this->kernel->config->value( currentcontrol_module_enable_checksum )->by_default(false)->as_bool() ){ return; } 
 
     // Get configuration
-    this->alpha_current =           this->kernel->config->value(alpha_current_checksum  )->by_default(0.1)->as_number(); 
-    this->beta_current  =           this->kernel->config->value(beta_current_checksum   )->by_default(0.2)->as_number(); 
-    this->gamma_current =           this->kernel->config->value(gamma_current_checksum  )->by_default(0.3)->as_number(); 
-    this->delta_current =           this->kernel->config->value(delta_current_checksum  )->by_default(0.4)->as_number();
+    this->alpha_current =           this->kernel->config->value(alpha_current_checksum  )->by_default(0)->as_number(); 
+    this->beta_current  =           this->kernel->config->value(beta_current_checksum   )->by_default(0.1)->as_number(); 
+    this->gamma_current =           this->kernel->config->value(gamma_current_checksum  )->by_default(1.9)->as_number(); 
+    this->delta_current =           this->kernel->config->value(delta_current_checksum  )->by_default(2)->as_number();
 
     this->kernel->digipot->set_current(0, this->alpha_current);
     this->kernel->digipot->set_current(1, this->beta_current );