Mbed Cloud Example Project - LPC546xx (Completed Version)
Fork of mbed-cloud-example-lpc546xx by
Code_Additions.txt@6:19cb3d7341c6, 2018-10-11 (annotated)
- Committer:
- clarkjarvis
- Date:
- Thu Oct 11 14:47:04 2018 +0000
- Revision:
- 6:19cb3d7341c6
- Parent:
- 5:e521ea1f4c22
- Child:
- 8:99d61dd3bfb9
Cleaned comments to support TechDay Lab Steps
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
clarkjarvis | 6:19cb3d7341c6 | 1 | |
clarkjarvis | 6:19cb3d7341c6 | 2 | |
clarkjarvis | 6:19cb3d7341c6 | 3 | // Pointer declaration for Rate Resource |
clarkjarvis | 6:19cb3d7341c6 | 4 | static MbedCloudClientResource* rate_ptr; |
clarkjarvis | 5:e521ea1f4c22 | 5 | |
clarkjarvis | 5:e521ea1f4c22 | 6 | |
clarkjarvis | 5:e521ea1f4c22 | 7 | |
clarkjarvis | 6:19cb3d7341c6 | 8 | // Setup Mbed Cloud Client Resources |
clarkjarvis | 5:e521ea1f4c22 | 9 | MbedCloudClientResource *button = mbedClient.create_resource("3200/0/5501", "button_resource"); |
clarkjarvis | 5:e521ea1f4c22 | 10 | button->set_value("0"); |
clarkjarvis | 5:e521ea1f4c22 | 11 | button->methods(M2MMethod::GET); |
clarkjarvis | 5:e521ea1f4c22 | 12 | button->observable(true); |
clarkjarvis | 5:e521ea1f4c22 | 13 | button->attach_notification_callback(button_callback); |
clarkjarvis | 5:e521ea1f4c22 | 14 | |
clarkjarvis | 5:e521ea1f4c22 | 15 | MbedCloudClientResource *rate = mbedClient.create_resource("3201/0/5853", "blink_rate_resource"); |
clarkjarvis | 5:e521ea1f4c22 | 16 | rate->set_value("500"); |
clarkjarvis | 5:e521ea1f4c22 | 17 | rate->methods(M2MMethod::GET | M2MMethod::PUT); |
clarkjarvis | 5:e521ea1f4c22 | 18 | rate->observable(false); |
clarkjarvis | 5:e521ea1f4c22 | 19 | rate->attach_put_callback(blink_rate_updated); |
clarkjarvis | 5:e521ea1f4c22 | 20 | rate_ptr = rate; |
clarkjarvis | 5:e521ea1f4c22 | 21 | |
clarkjarvis | 5:e521ea1f4c22 | 22 | MbedCloudClientResource *blink = mbedClient.create_resource("3201/0/5850", "blink_enable_resource"); |
clarkjarvis | 5:e521ea1f4c22 | 23 | blink->methods(M2MMethod::POST); |
clarkjarvis | 5:e521ea1f4c22 | 24 | blink->attach_post_callback(blink_enable_callback); |
clarkjarvis | 5:e521ea1f4c22 | 25 | |
clarkjarvis | 5:e521ea1f4c22 | 26 | |
clarkjarvis | 5:e521ea1f4c22 | 27 | |
clarkjarvis | 5:e521ea1f4c22 | 28 | |
clarkjarvis | 6:19cb3d7341c6 | 29 | // Resource Callback Functions |
clarkjarvis | 5:e521ea1f4c22 | 30 | void blink_rate_updated(const char *) { |
clarkjarvis | 5:e521ea1f4c22 | 31 | printf("PUT received, Storing LED Blink Rate: %s (ms)\r\n", rate_ptr->get_value().c_str()); |
clarkjarvis | 5:e521ea1f4c22 | 32 | } |
clarkjarvis | 5:e521ea1f4c22 | 33 | |
clarkjarvis | 5:e521ea1f4c22 | 34 | void blink_enable_callback(void *) { |
clarkjarvis | 5:e521ea1f4c22 | 35 | String pattern_str = rate_ptr->get_value(); |
clarkjarvis | 5:e521ea1f4c22 | 36 | const char *rate = pattern_str.c_str(); |
clarkjarvis | 5:e521ea1f4c22 | 37 | printf("POST received. Enabling LED Blink Rate = %s (ms)\n", rate); |
clarkjarvis | 5:e521ea1f4c22 | 38 | |
clarkjarvis | 5:e521ea1f4c22 | 39 | float value = atoi(rate_ptr->get_value().c_str())/1000.0; |
clarkjarvis | 5:e521ea1f4c22 | 40 | timer.detach(); |
clarkjarvis | 5:e521ea1f4c22 | 41 | timer.attach(&led_toggle,value); |
clarkjarvis | 5:e521ea1f4c22 | 42 | } |
clarkjarvis | 5:e521ea1f4c22 | 43 | |
clarkjarvis | 5:e521ea1f4c22 | 44 | void button_callback(const M2MBase& object, const NoticationDeliveryStatus status) |
clarkjarvis | 5:e521ea1f4c22 | 45 | { |
clarkjarvis | 5:e521ea1f4c22 | 46 | printf("Button notification. Callback: (%s)\n", object.uri_path()); |
clarkjarvis | 5:e521ea1f4c22 | 47 | } |
clarkjarvis | 5:e521ea1f4c22 | 48 | |
clarkjarvis | 5:e521ea1f4c22 | 49 | |
clarkjarvis | 5:e521ea1f4c22 | 50 | |
clarkjarvis | 6:19cb3d7341c6 | 51 | // Call to update button resource count |
clarkjarvis | 5:e521ea1f4c22 | 52 | button->set_value(button_count); |