![](/media/cache/profiles/ba5be68d3d541f2ca043d77fc54fe702.jpg.50x50_q85.jpg)
3rd Repo, trying to figure this out.
Fork of SOFT253_Template_Weather_OS_54 by
MessageLogger/MessageLogger.cpp
- Committer:
- aburch1
- Date:
- 2017-04-26
- Revision:
- 76:ee1f132e5744
- Parent:
- 75:b44645bbf2d2
- Child:
- 77:db3384071634
File content as of revision 76:ee1f132e5744:
#include "MessageLogger.h" #define SIGNAL_printMessage 2 Mail<string, 16> message_mail; // constructor MessageLogger::MessageLogger() { hasError = false; messageCount = 0; } void MessageLogger::SetThread(Thread* logger) { loggingThread = logger; } // public methods: void MessageLogger::SendError(char* errorMessage) { fatalError = strcat(errorMessage, "\n\rTerminating Program...\n\r"); loggingThread->signal_set(SIGNAL_printMessage); hasError = true; } void MessageLogger::SendMessage(char* message) { //string messageObj; //*messageObj = message_mail.alloc(); //strcpy(&messageObj, message_mail.alloc()); /* if (messageObj == NULL) { SendError("ERROR: Message queue is full."); return; } */ //strcpy(messageObj, message); //stat = message_mail.put(messageObj); /* //Check if succesful if (stat == osErrorResource) { 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); } bool MessageLogger::GetError() { if(hasError) { PrintError(); return true; } return false; } bool MessageLogger::GetMessage() { /* if(messageCount > 0) { PrintMessage(); return true; } return false; */ } void MessageLogger::PrintError() { printf(fatalError); } void MessageLogger::PrintMessage() { /* osEvent evt = message_mail.get(); //Check status if (evt.status == osEventMail) { char* message = (char*)evt.value.p; printf(message); message_mail.free(message); messageCount--; } else { char* error; strcat(error, "ERROR CODE: ", evt.status); strcat(error, ", Failed to retrieve message from queue"); SendError(error); } */ }