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/CloudDataHandler.cpp@149:950c90425f7c, 2016-09-30 (annotated)
- Committer:
- davidjhoward
- Date:
- Fri Sep 30 12:22:20 2016 +0000
- Revision:
- 149:950c90425f7c
- Parent:
- 123:ce602c91a9c3
- Child:
- 284:cc72206ea8e0
base for virtual inputs/outputs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jmarkel44 | 20:653923c2f37a | 1 | #include "CloudDataHandler.h" |
davidjhoward | 27:38205cebc3da | 2 | #include "CloudFileReceiver.h" |
davidjhoward | 116:7337ed514891 | 3 | #include "LogHandler.h" |
davidjhoward | 26:6bd4868171c7 | 4 | #include "MTSLog.h" |
jmarkel44 | 20:653923c2f37a | 5 | #include <stdio.h> |
davidjhoward | 26:6bd4868171c7 | 6 | #include "mDot.h" |
davidjhoward | 26:6bd4868171c7 | 7 | #include <vector> |
jmarkel44 | 20:653923c2f37a | 8 | #include "rtos.h" |
davidjhoward | 26:6bd4868171c7 | 9 | #include "global.h" |
jmarkel44 | 20:653923c2f37a | 10 | |
jmarkel44 | 20:653923c2f37a | 11 | void CloudDataHandler(void const *args) |
jmarkel44 | 20:653923c2f37a | 12 | { |
davidjhoward | 26:6bd4868171c7 | 13 | int32_t ret; |
davidjhoward | 123:ce602c91a9c3 | 14 | bool joined; |
davidjhoward | 116:7337ed514891 | 15 | bool sent; |
davidjhoward | 26:6bd4868171c7 | 16 | |
jmarkel44 | 20:653923c2f37a | 17 | printf("\r%s has started...\n", __func__); |
davidjhoward | 26:6bd4868171c7 | 18 | |
jmarkel44 | 20:653923c2f37a | 19 | while ( true ) { |
davidjhoward | 99:55317f374a94 | 20 | |
davidjhoward | 68:dbe39d83eb98 | 21 | std::string tmp_buffer; |
davidjhoward | 99:55317f374a94 | 22 | |
davidjhoward | 68:dbe39d83eb98 | 23 | if (!GLOBAL_mdot->getNetworkJoinStatus()) { |
davidjhoward | 68:dbe39d83eb98 | 24 | logInfo("network not joined, joining network"); |
davidjhoward | 68:dbe39d83eb98 | 25 | if ((ret = GLOBAL_mdot->joinNetwork()) != mDot::MDOT_OK) { |
davidjhoward | 68:dbe39d83eb98 | 26 | logError("failed to join network %d:%s", ret, mDot::getReturnCodeString(ret).c_str()); |
davidjhoward | 123:ce602c91a9c3 | 27 | joined = false; |
davidjhoward | 68:dbe39d83eb98 | 28 | } |
davidjhoward | 116:7337ed514891 | 29 | } else { |
davidjhoward | 123:ce602c91a9c3 | 30 | joined = true; |
davidjhoward | 68:dbe39d83eb98 | 31 | } |
davidjhoward | 99:55317f374a94 | 32 | |
davidjhoward | 123:ce602c91a9c3 | 33 | sent = LogHandler( joined ); |
davidjhoward | 99:55317f374a94 | 34 | if( sent == true ) { |
davidjhoward | 99:55317f374a94 | 35 | // sent a packet, try to receive back. |
davidjhoward | 26:6bd4868171c7 | 36 | logInfo("Sent to gateway: %s", tmp_buffer.c_str()); |
davidjhoward | 26:6bd4868171c7 | 37 | std::vector<uint8_t> rcvData(256); |
davidjhoward | 26:6bd4868171c7 | 38 | rcvData.clear(); |
davidjhoward | 26:6bd4868171c7 | 39 | if ((ret = GLOBAL_mdot->recv(rcvData)) == mDot::MDOT_OK) { |
davidjhoward | 26:6bd4868171c7 | 40 | if (!rcvData.empty()) { |
davidjhoward | 27:38205cebc3da | 41 | std::string rcv_string(rcvData.begin(), rcvData.end()); |
davidjhoward | 26:6bd4868171c7 | 42 | logInfo("Received Data: %s", rcv_string.c_str()); |
davidjhoward | 27:38205cebc3da | 43 | CloudFileReceiver( &rcv_string, GLOBAL_mdot ); |
davidjhoward | 26:6bd4868171c7 | 44 | } |
davidjhoward | 26:6bd4868171c7 | 45 | } |
davidjhoward | 26:6bd4868171c7 | 46 | } |
davidjhoward | 149:950c90425f7c | 47 | Thread::wait(1000); |
jmarkel44 | 20:653923c2f37a | 48 | } |
jmarkel44 | 20:653923c2f37a | 49 | } |