CSE237B_Team / Mbed 2 deprecated read_serial

Dependencies:   mbed-rtos mbed

Revision:
4:558b29109618
Parent:
3:f24de3613c5c
Child:
5:af9b6ec6b9b5
--- a/main.cpp	Sun Jun 01 11:07:01 2014 +0000
+++ b/main.cpp	Sun Jun 01 11:48:26 2014 +0000
@@ -21,35 +21,35 @@
  
 //Converts the data from the buffer into values
 //and puts it in a struct which we can pass to another fn 
- control_p set_cp_values(int packet_num){
+control_p set_cp_values(int packet_num){
   
     control_p packet_data;
   
-    int bit_index = 0;
+    int bit_idx = 0;
     int sequence = 0;
     int furnace = 0;
     int interval = 0;
     int bit_decrement = 0;
     
     bit_decrement = 3;
-    for(; bit_index < 4; bit_index++){
-        if( read_buffer[packet_num][2 + bit_index] == 1){ //need to add 2 because starrt bits
+    for(; bit_idx < 4; bit_idx++){
+        if( read_buffer[packet_num][2 + bit_idx] == 1){ //need to add 2 because starrt bits
              sequence += pow(2.0,bit_decrement); 
              }
         bit_decrement--;
     }
     
     bit_decrement = 3;
-    for(; bit_index < 8; bit_index++){
-        if( read_buffer[packet_num][2 + bit_index] == 1){ 
+    for(; bit_idx < 8; bit_idx++){
+        if( read_buffer[packet_num][2 + bit_idx] == 1){ 
              furnace += pow(2.0,bit_decrement); 
              }
         bit_decrement--;
     }
     
       bit_decrement = 6;
-    for(; bit_index < 18; bit_index++){
-        if( read_buffer[packet_num][2 + bit_index] == 1){ 
+    for(; bit_idx < 18; bit_idx++){
+        if( read_buffer[packet_num][2 + bit_idx] == 1){ 
              interval += pow(2.0,bit_decrement); 
              }
         bit_decrement--;
@@ -79,83 +79,62 @@
 
 int main() {
     char* a;
-   // string a;
-   // string result;
-   // buffer2.push(a);
-    
+
     myled4 = 1;
     
-    int index = 0; 
+    int idx = 0; 
     int num_packets = 0;
    
-   /*
-    while(1){
-    pc.printf("PYTHON PLZ");
-    myled3= 1;
-    wait(1);
-    }
-    
-    return 0;
-    */
-   // a[0] = 'x';
-   // a[1] = 'y';
-    
-    FILE *fp = fopen("/local/packet.txt", "w");    
-   // fprintf(fp,"%c",a[0]);
-   // fclose(fp);
-   // return 0;
-    
-for(; num_packets < PACKET_COUNT; num_packets++){
-    a = (char *) malloc(sizeof(char) * 20);
-    for(; index < 19; index++){
-    a[index] = char(pc.getc());
+    FILE *fp = fopen("/local/packet.txt", "w"); 
+    for(; num_packets < PACKET_COUNT; num_packets++){
+        a = (char *) malloc(sizeof(char) * 21);
+        
+        if(a==NULL){
+            myled3 = 1; 
+            return 1;
+        }
+          
+        if(fp==NULL){
+            myled3 = 1; 
+            fclose(fp);
+            return 1;  
+        }
+        for(idx=0; idx < 20; idx++){
+            a[idx] = char(pc.getc());
+            
+            fprintf(fp,"%c",a[idx]);    
+            if(idx == 1)
+                fprintf(fp,".");
+            if(idx == 5)
+                fprintf(fp,".");
+            if(idx == 9)
+                fprintf(fp,".");
+            if(idx == 16)
+                fprintf(fp,".");
+            if(idx == 18)
+                fprintf(fp,".");
+            if(idx == 19)
+                a[idx] = 0;
+        }
+        
+        idx = 0;
+        fprintf(fp,"\n");
+        // buffer2.push(a);
+        
+        buffer4.put((char**)&a[0]);
 
-     fprintf(fp,"%c",a[index]);    
-     if(index == 1)
-        fprintf(fp,".");
-     if(index == 5)
-        fprintf(fp,".");
-     if(index == 9)
-        fprintf(fp,".");
-     if(index == 16)
-        fprintf(fp,".");
-     if(index == 18)
-        fprintf(fp,".");
-      
-    }
-    
-    
-     index = 0;
-     fprintf(fp,"\n");
-    // buffer2.push(a);
-     
-     
-     buffer4.put((char**)&a);
-    
-    
-     osEvent evt = buffer4.get();
+        osEvent evt = buffer4.get();
         if (evt.status != osEventMessage) {
             printf("Furnace: queue->get() returned %02x status\n\r", evt.status);
         } else {
             fprintf(fp,"Queue: %s\n\r",evt.value.v);
             //printf("Furnace: %s", evt.value.v);
         }
-    
-    free(a);
-
-
-
- //     myled3 = 1; 
-  //   result = buffer2.back();
-   //  fprintf(fp,"BufferVal=%s\n",result); 
-     myled3 = 1; 
-      fclose(fp);
-     return 0;
-     
-     
-     }
-     
+        free(a);
+    }
     //fclose(fp);
+    fclose(fp);
+    return 0;
     
 }