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: simple-mbed-client
Fork of simple-mbed-client-example by
Diff: main.cpp
- Revision:
- 16:71ec73ea9b6d
- Parent:
- 14:ddc258abaaac
- Child:
- 17:6d69aa1b393f
--- a/main.cpp Tue May 24 16:15:08 2016 +0000
+++ b/main.cpp Tue May 24 15:02:19 2016 -0500
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#include <string>
#include "mbed.h"
#include "security.h" // security file from connector.mbed.com
#include "LWIPInterface.h" // using Ethernet for connectivity
@@ -34,12 +35,12 @@
// play function, invoked thru mbed Client
void play(void* args) {
- printf("I'm gonna play a song!\n");
+ printf("I'm gonna play a song!\n");
}
// patternUpdated is called when the value of led/0/pattern changes
void patternUpdated(string newPattern) {
- printf("Got a new pattern... %s\n", newPattern.c_str());
+ printf("Got a new pattern... %s\n", newPattern.c_str());
}
// Here we define some mbed Client resources
@@ -49,65 +50,63 @@
// Status callbacks if you're interested in that
void registered() {
- printf("registered\n");
- registeredLed = 0;
+ printf("registered\n");
+ registeredLed = 0;
}
void unregistered() {
- printf("unregistered\n");
- registeredLed = 1;
+ printf("unregistered\n");
+ registeredLed = 1;
}
// we cannot do blocking stuff here, or device will crash
// release semaphore and update btn_count in the while() loop...
void fall() {
- updates.release();
+ updates.release();
}
// normal function
void toggleLed() {
- led = !led;
+ led = !led;
}
int main() {
pc.baud(115200);
-
- printf("Hello world\n");
-
+
Ticker t;
t.attach(&toggleLed, 1.0f);
-
+
btn.fall(&fall);
-
- // I want C++11 lambdas!
+
// here we define functions that should live in the cloud
- client.define_function("music/0/play", &play);
+ client.define_function("song/0/play", &play);
- if (lwip.connect() != 0) { // connect to the internet
- printf("Connect to eth failed...\n");
- return 1;
- }
+ int connect = lwip.connect(); // can swap out for other network iface
+ if (connect != 0) {
+ printf("Connect to eth failed...\n");
+ return 1;
+ }
- printf("IP address %s\r\n", lwip.getIPAddress());
-
- bool setup = client.setup(&lwip); // start mbed client!
+ printf("IP address %s\r\n", lwip.get_ip_address());
+
+ bool setup = client.setup(&lwip); // start mbed client!
if (!setup) {
- printf("Setting up mbed_client failed...\n");
- return 1;
+ printf("Setting up mbed_client failed...\n");
+ return 1;
}
client.on_registered(®istered);
client.on_unregistered(&unregistered);
-
+
while (1) {
- int v = updates.wait(25000);
-
- if (v == 1) {
- btn_count = btn_count + 1;
- // printf is a bit inflexible, static_cast to get the right value
- printf("btn_count is now %d\n", static_cast<int>(btn_count));
- }
-
- // call keep_alive every now and then
- client.keep_alive();
+ int v = updates.wait(25000);
+
+ if (v == 1) {
+ btn_count = btn_count + 1;
+ // printf is a bit inflexible, static_cast to get the right value
+ printf("btn_count is now %d\n", static_cast<int>(btn_count));
+ }
+
+ // call keep_alive at least every 30s.
+ client.keep_alive();
}
}
