3rd Repo, trying to figure this out.

Dependencies:   LPS25H hts221

Fork of SOFT253_Template_Weather_OS_54 by Stage-1 Students SoCEM

Revision:
76:ee1f132e5744
Parent:
75:b44645bbf2d2
Child:
77:db3384071634
--- a/MessageLogger/MessageLogger.cpp	Tue Apr 25 16:06:35 2017 +0000
+++ b/MessageLogger/MessageLogger.cpp	Wed Apr 26 10:00:19 2017 +0000
@@ -2,6 +2,7 @@
 
 #define SIGNAL_printMessage 2
 
+Mail<string, 16> message_mail;
 
         // constructor
         MessageLogger::MessageLogger()
@@ -16,42 +17,45 @@
         }
        
         // public methods:
-        void MessageLogger::SendError(string errorMessage)
+        void MessageLogger::SendError(char* errorMessage)
         {
-            fatalError << errorMessage << " Terminating program\n\r";
+            fatalError = strcat(errorMessage, "\n\rTerminating Program...\n\r");
             loggingThread->signal_set(SIGNAL_printMessage);
             hasError = true;
         }
         
-        void MessageLogger::SendMessage(string message)
+        
+        
+        void MessageLogger::SendMessage(char* message)
         {
-            /*
-            ostringstream *messageObj = message_mail.alloc();
-            ostringstream temp = *messageObj;
-            
+            //string messageObj;
+            //*messageObj = message_mail.alloc();
+            //strcpy(&messageObj, message_mail.alloc());            
+                        /*
             if (messageObj == NULL) 
             {
                SendError("ERROR: Message queue is full.");
                return;   
             }
-            
-            temp << message;
+            */
+            //strcpy(messageObj, message);
     
             //stat = message_mail.put(messageObj);
             
+            /*
             //Check if succesful
             if (stat == osErrorResource) 
             {
-                ostringstream error;
-                error <<  "ERROR CODE: " << stat << ", Failed to add message to the queue.\r\n";
-                SendError(error.str());   
                 message_mail.free(messageObj);
+                char error[50];
+                strcat(error,  "ERROR CODE: ", evt.status);
+                strcat(error, ", Failed to add message to queue");
+                SendError(error); 
                 return;
             }
-            
-            messageCount++;
-            loggingThread->signal_set(SIGNAL_printMessage);     
             */
+            //messageCount++;
+            //loggingThread->signal_set(SIGNAL_printMessage);
         }
         
         bool MessageLogger::GetError()
@@ -65,40 +69,42 @@
         }
         bool MessageLogger::GetMessage()
         {
+            /*
             if(messageCount > 0)
             {
                 PrintMessage();
                 return true;
             }
-            return false;            
+            return false;    
+            */        
         }
         
         void MessageLogger::PrintError()
         {
-            printf(fatalError.str().c_str());
+            printf(fatalError);
         }
         
         void MessageLogger::PrintMessage()
         {
+            /*
             osEvent evt = message_mail.get();
             
             //Check status
             if (evt.status == osEventMail) 
             {
-                ostringstream *message = (ostringstream*)evt.value.p;   
+                char* message = (char*)evt.value.p;   
                 
-                printf("Incoming!");
-                printf(message->str().c_str());
+                printf(message);
                 
                 message_mail.free(message);
                 messageCount--;
             } 
-            /*
             else 
             {
-                ostringstream error;
-                error <<  "ERROR CODE: " << evt.status << ", Failed to retrieve message from queue/n/r";
-                SendError(error.str());
+                char* error;
+                strcat(error,  "ERROR CODE: ", evt.status);
+                strcat(error, ", Failed to retrieve message from queue");
+                SendError(error);
             }  
             */
         }
\ No newline at end of file