Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed
Fork of ICE by
src/CloudDataHandler/LogHandler.cpp@116:7337ed514891, 2016-09-22 (annotated)
- Committer:
- davidjhoward
- Date:
- Thu Sep 22 21:09:49 2016 +0000
- Revision:
- 116:7337ed514891
- Child:
- 121:650205ffa656
- Child:
- 123:ce602c91a9c3
Write log to EEPROM
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
davidjhoward | 116:7337ed514891 | 1 | #include "LogHandler.h" |
davidjhoward | 116:7337ed514891 | 2 | #include "LogLocalApi.h" |
davidjhoward | 116:7337ed514891 | 3 | #include "CloudFileReceiver.h" |
davidjhoward | 116:7337ed514891 | 4 | #include "MTSLog.h" |
davidjhoward | 116:7337ed514891 | 5 | #include "MbedJSONValue.h" |
davidjhoward | 116:7337ed514891 | 6 | #include "global.h" |
davidjhoward | 116:7337ed514891 | 7 | #include <sstream> |
davidjhoward | 116:7337ed514891 | 8 | #include <iostream> |
davidjhoward | 116:7337ed514891 | 9 | |
davidjhoward | 116:7337ed514891 | 10 | Mail<LoggerQueue_t, 16> LoggerQueue; |
davidjhoward | 116:7337ed514891 | 11 | |
davidjhoward | 116:7337ed514891 | 12 | size_t LoggerXmitLength = 128; |
davidjhoward | 116:7337ed514891 | 13 | |
davidjhoward | 116:7337ed514891 | 14 | bool LogHandler( bool connected ) |
davidjhoward | 116:7337ed514891 | 15 | { |
davidjhoward | 116:7337ed514891 | 16 | int32_t ret; |
davidjhoward | 116:7337ed514891 | 17 | std::string tmp_buffer; |
davidjhoward | 116:7337ed514891 | 18 | |
davidjhoward | 116:7337ed514891 | 19 | osEvent evt = LoggerQueue.get(50); |
davidjhoward | 116:7337ed514891 | 20 | if (evt.status != osEventMail) { |
davidjhoward | 116:7337ed514891 | 21 | tmp_buffer = "{\"mtype\":\"20\"}"; |
davidjhoward | 116:7337ed514891 | 22 | } else { |
davidjhoward | 116:7337ed514891 | 23 | char buffer[128]; |
davidjhoward | 116:7337ed514891 | 24 | LoggerQueue_t *LoggerEvent = (LoggerQueue_t*)evt.value.p; |
davidjhoward | 116:7337ed514891 | 25 | logInfo("Log Msg Received: log entry: %s", LoggerEvent->log_entry); |
davidjhoward | 116:7337ed514891 | 26 | if( strlen(LoggerEvent->log_entry) >= LoggerXmitLength ) { |
davidjhoward | 116:7337ed514891 | 27 | memset(buffer, 0, sizeof(buffer)); |
davidjhoward | 116:7337ed514891 | 28 | strncpy( buffer, LoggerEvent->log_entry, (LoggerXmitLength-1) ); |
davidjhoward | 116:7337ed514891 | 29 | tmp_buffer.assign(buffer); |
davidjhoward | 116:7337ed514891 | 30 | } else { |
davidjhoward | 116:7337ed514891 | 31 | strncpy( buffer, LoggerEvent->log_entry, (LoggerXmitLength-1) ); |
davidjhoward | 116:7337ed514891 | 32 | tmp_buffer.assign(buffer); |
davidjhoward | 116:7337ed514891 | 33 | LoggerQueue.free(LoggerEvent); |
davidjhoward | 116:7337ed514891 | 34 | } |
davidjhoward | 116:7337ed514891 | 35 | } |
davidjhoward | 116:7337ed514891 | 36 | |
davidjhoward | 116:7337ed514891 | 37 | if( connected == true ) { |
davidjhoward | 116:7337ed514891 | 38 | std::vector<uint8_t> data(tmp_buffer.begin(), tmp_buffer.end()); |
davidjhoward | 116:7337ed514891 | 39 | if ((ret = GLOBAL_mdot->send(data)) == mDot::MDOT_OK) { |
davidjhoward | 116:7337ed514891 | 40 | return true; |
davidjhoward | 116:7337ed514891 | 41 | } |
davidjhoward | 116:7337ed514891 | 42 | printf("failed to send, ret=%d, %s\r\n", ret, mDot::getReturnCodeString(ret).c_str()); |
davidjhoward | 116:7337ed514891 | 43 | } |
davidjhoward | 116:7337ed514891 | 44 | |
davidjhoward | 116:7337ed514891 | 45 | printf("connected=%d\r\n",connected); |
davidjhoward | 116:7337ed514891 | 46 | |
davidjhoward | 116:7337ed514891 | 47 | // Store the log to local device |
davidjhoward | 116:7337ed514891 | 48 | LogLocalApi( tmp_buffer.c_str() ); |
davidjhoward | 116:7337ed514891 | 49 | return false; |
davidjhoward | 116:7337ed514891 | 50 | } |