MOtor control Pololu

Dependencies:   Encoder HIDScope mbed-dsp mbed

Revision:
5:06381e54b94a
Parent:
4:1a53b06eeb7f
Child:
6:0832c6c6bcba
diff -r 1a53b06eeb7f -r 06381e54b94a main.cpp
--- a/main.cpp	Mon Sep 29 21:07:58 2014 +0000
+++ b/main.cpp	Mon Sep 29 21:20:29 2014 +0000
@@ -2,12 +2,12 @@
 #include "encoder.h"
 #include "MODSERIAL.h"
 
-#define K_P .01
-//0.007//0.0184997836671646 //0.015
-#define K_I 0.00
-//.000824387821287097 //0
-#define K_D .05
-//0.01//.0972091946803081 //0.077
+#define TSAMP 0.01
+#define K_P (10     *TSAMP)
+
+#define K_I (0.00   *TSAMP)
+
+#define K_D (5      *TSAMP)
 
 #define POT_AVG 50
 void coerce(float * in, float min, float max);
@@ -23,7 +23,6 @@
 
 void potAverager(void)
 {
-
     static uint16_t sample_index = 0;
     float voltage = potmeter.read()-.5;
 
@@ -34,63 +33,8 @@
         sample_index = 0;
 }
 
-void bubblesort(float arr[], int size)
-{
-    int i,j;
-    float temp;
-    for ( i = 0 ; i <= (size/2)+1 ; i++ )
-    {
-        for ( j = 0 ; j <= (size/2)+1 - i ; j++ )
-        {
-            if ( arr[j] > arr[j + 1] )
-            {
-                temp = arr[j] ;
-                arr[j] = arr[j + 1] ;
-                arr[j + 1] = temp ;
-            }
-        }
-    }
-}
-
-void quicksort(float own_array[], int low, int high)
-{
-    int i = low;
-    int j = high;
-    int y = 0;
-    /* compare value */
-    int z = own_array[(low + high) / 2];
-    /* partition */
-    do {
-        /* find member above ... */
-        while(own_array[i] < z) i++;
-
-        /* find element below ... */
-        while(own_array[j] > z) j--;
-
-        if(i <= j) {
-            /* swap two elements */
-            y = own_array[i];
-            own_array[i] = own_array[j];
-            own_array[j] = y;
-            i++;
-            j--;
-        }
-    } while(i <= j);
-
-    /* recurse */
-    if(low <= j)
-        quicksort(own_array, low, j);
-
-    if(i <= high)
-        quicksort(own_array, i, high);
-}
-
 float getpotAverage(void)
 {
-    //float own_array[POT_AVG];
-    //memcpy(own_array, potsamples, sizeof(own_array));
-    //bubblesort(own_array, POT_AVG-1);
-    //return own_array[POT_AVG/2];
     uint16_t valuecounter;
     float sum = 0;
     for(valuecounter = 0 ; valuecounter < POT_AVG ; valuecounter++)
@@ -110,7 +54,7 @@
     potaverage.attach(potAverager,0.002);
     pc.baud(921600);
     Ticker looptimer;
-    looptimer.attach(setlooptimerflag,0.01);
+    looptimer.attach(setlooptimerflag,TSAMP);
     pc.printf("bla");
     while(1) {
         float setpoint;