Fixed off-by-one error in pump2gpio logic
authorvolpol <volpol@packet-gain.de>
Thu, 23 Aug 2018 17:50:23 +0000 (19:50 +0200)
committervolpol <volpol@packet-gain.de>
Thu, 23 Aug 2018 17:50:23 +0000 (19:50 +0200)
pump.c

diff --git a/pump.c b/pump.c
index 3f3e3ec04b7aea15590c9c939107125e680060c2..8aceb39a87bb181192f46f7fbaffc962ab2d67bd 100644 (file)
--- a/pump.c
+++ b/pump.c
@@ -37,8 +37,8 @@ int pump_add(int num){
     int res = -1;
     DPRINT ("pump_idx %d", num);
     if (num > 0 && num <= NUM_PUMPS){
-        int gpio = P2G[num];
-        DPRINT ("pump_gpio %d", gpio);
+        int gpio = P2G[num - 1];
+        DPRINT ("pump_gpio %d\n", gpio);
         setup_gpio(gpio, OUTPUT, PUD_UP);
         pump_off(num);
         res = 0;
@@ -48,10 +48,10 @@ int pump_add(int num){
 
 int pump_del(int num){
     int res = -1;
-    DPRINT ("pump_idx %d", num);
+    DPRINT ("pump_idx %d\n", num);
     if (num > 0 && num <= NUM_PUMPS){
-        int gpio = P2G[num];
-        DPRINT ("pump_gpio %d", gpio);
+        int gpio = P2G[num - 1];
+        DPRINT ("pump_gpio %d\n", gpio);
         setup_gpio(gpio, INPUT, PUD_OFF);
         res = 0;
     }
@@ -59,19 +59,19 @@ int pump_del(int num){
 }
 
 void pump_on(int num){
-    DPRINT ("pump_idx %d", num);
+    DPRINT ("pump_idx %d\n", num);
     if (num > 0 && num <= NUM_PUMPS){
-        int gpio = P2G[num];
-        DPRINT ("pump_gpio %d", gpio);
+        int gpio = P2G[num - 1];
+        DPRINT ("pump_gpio %d\n", gpio);
         output_gpio(gpio, LOW);
     }
 }
 
 void pump_off(int num){
-    DPRINT ("pump_idx %d", num);
+    DPRINT ("pump_idx %d\n", num);
     if (num > 0 && num <= NUM_PUMPS){
-        int gpio = P2G[num];
-        DPRINT ("pump_gpio %d", gpio);
+        int gpio = P2G[num - 1];
+        DPRINT ("pump_gpio %d\n", gpio);
         output_gpio(gpio, HIGH);
     }
 }