Trying to encode a configuration file and a set of instructions to be passed to a microcontroller

Dependencies:   MODSERIAL Nanopb

Revision:
1:5752892425a3
Parent:
0:abf096b1334e
Child:
2:89156c267f7a
diff -r abf096b1334e -r 5752892425a3 main.cpp
--- a/main.cpp	Sun Aug 18 18:53:32 2019 +0000
+++ b/main.cpp	Sun Aug 18 19:03:28 2019 +0000
@@ -27,47 +27,20 @@
 DigitalOut signal2(p25);         //Red
 
 
-void incr(int i, int n = 1){
-    for (int k = 0; k < n; k++){
-        i++;
-        i = i % sizeof(buffer);
-        }
-    }
     
 void read_setpoint(){
     if (pc.scanf("%d",&set_point_in_length) < 0){pc.printf("Error in reading message length");}
     for (int i = 0; i < set_point_length; i++) {
-            c = pc.getc();
-            if (c == '#'){
-                i++;
-                }
-            else{
-            if (c == 'E'){
-                if ((cn = pc.getc()) == 'o'){
-                    if ((cnn = pc.getc()) == 'T'){
-                        break;
-                        }
-                    else {
-                        buffer_in[i+2] = cnn;
-                        buffer_in[i+1] = cn;
-                        buffer_in[i] = c;
-                        incr(i,3);
-                        }
-                    }
-                else{
-                    buffer_in[i+1] = cn;
-                    buffer_in[i] = c;
-                    incr(i,2);
-                    }
-                }
-            else{
-                buffer_in[i] = c;
-                pc.putc(buffer_in[i]);
-                incr(i);
-                }
+        i = i % sizeof(buffer_in);
+        c = pc.getc();
+        if (c == '#'){
             }
-            }
-}      
+        else{
+            buffer_in[i] = c;
+            }  
+        pc.putc(buffer_in[i]);
+        }
+    }      
 
 void write_setpoint(){
     pc.printf("%d ",set_point_length);
@@ -79,7 +52,6 @@
             pc.putc(buffer[i]);
             }
     }
-    pc.printf("EoT");
     }
        
        
@@ -138,6 +110,13 @@
     pc.getc();
     pc.printf("\n Input your set point:\n");
     read_setpoint();
+    for (i=0;i<20;i++){
+    pc.putc(buffer[i]);
+    pc.putc(buffer_in[i]);
+    if(buffer_in[i] == buffer[i]) {pc.putc('y');}
+    else {pc.putc('n');}
+    pc.printf("\n");
+    }
     decode_setpoint();