PES 4 - Smart Medication Dispenser / PES4_ProgrammeforDesignReview2

Dependencies:   SDFileSystem mbed

Fork of PES4_Programme by PES 4 - Smart Medication Dispenser

Revision:
47:0f44c88e7643
Parent:
46:cdc24a24e4e3
Child:
85:04fe3dff23f4
diff -r cdc24a24e4e3 -r 0f44c88e7643 source/functions.cpp
--- a/source/functions.cpp	Thu Mar 29 14:14:13 2018 +0000
+++ b/source/functions.cpp	Thu Mar 29 15:50:51 2018 +0000
@@ -2,9 +2,10 @@
 
 void setLED(char button, uint32_t color)
 {
-    float red =     ((color >> 16) & 0xff)/2.55;
-    float green =   ((color >> 8) & 0xff)/2.55;
-    float blue =    (color & 0xff)/2.55;
+    /* 0xFF - 4095, 0x00 - 0 -> factor 1/16.06 */
+    float red =     ((color >> 16) & 0xff)/16.06;
+    float green =   ((color >> 8) & 0xff)/16.06;
+    float blue =    (color & 0xff)/16.06;
     
     /* PWM channel 10-15, Button is 0 or 1
     * -> if Button = 0, set Channel 10,11,12
@@ -20,30 +21,32 @@
 
 void setValvePosition(char pos)
 {
+    /* 1ms = 0° = 218E, 2ms = 180° = 436E; 1E = 4.59us */
     switch(pos) {
         case 0:                 // neutrale Position
-            setPWM(0, 50);
+            setPWM(0, 218);
             break;
         case 1:                 // Glas
-            setPWM(0, 100);
+            setPWM(0, 326);
             break;
         case 2:                 // Auswurf
-            setPWM(0, 0);
+            setPWM(0, 436);
             break;
     }
 }
 
 void setSpeed(char container, char direction)
 {
+    /* CW 279...322; Stop 322...331; CCW 331...374 */
     switch(direction) {
         case 0:                 // Stillstand
-            setPWM(container, 50);
+            setPWM(container, 326);
             break;
         case 1:                 // Rückwärts
-            setPWM(container, 0);
+            setPWM(container, 334);
             break;
         case 2:                 // Vorwärts
-            setPWM(container, 100);
+            setPWM(container, 320);
             break;
     }
 }