Mbed Cloud Example Project - LPC546xx (Starting Version)

Fork of mbed-cloud-example-lpc546xx by Mac Lobdell

Code_Additions.txt

Committer:
clarkjarvis
Date:
2018-10-11
Revision:
10:5b42f7323c71
Parent:
9:5836af0b0a9c

File content as of revision 10:5b42f7323c71:


// To-Do #1

// Setup Mbed Cloud Client Resources
MbedCloudClientResource *button = mbedClient.create_resource("3200/0/5501", "button_resource"); // Digital Input / Instance / Counter
button->set_value("0");
button->methods(M2MMethod::GET);
button->observable(true);
button->attach_notification_callback(button_callback);

MbedCloudClientResource *rate = mbedClient.create_resource("3201/0/5521", "blink_rate_resource"); // Digital Output / Instance / Delay Duration
rate->set_value("500");
rate->methods(M2MMethod::GET | M2MMethod::PUT);
rate->observable(false);
rate->attach_put_callback(blink_rate_updated);
rate_ptr = rate;

MbedCloudClientResource *blink = mbedClient.create_resource("3201/0/5823", "blink_enable_resource"); // Digital Output / Instance / Event ID
blink->methods(M2MMethod::POST);
blink->attach_post_callback(blink_enable_callback);






// To-Do #2

// Pointer declaration for Rate Resource
static MbedCloudClientResource* rate_ptr;





// To-Do #3
    
// Resource Callback Functions
void blink_rate_updated(const char *) {
    printf("PUT received, Storing LED Blink Rate: %s (ms)\r\n", rate_ptr->get_value().c_str());
}

void blink_enable_callback(void *) {
    String pattern_str = rate_ptr->get_value();
    const char *rate = pattern_str.c_str();
    printf("POST received. Enabling LED Blink Rate = %s (ms)\n", rate);

    float value = atoi(rate_ptr->get_value().c_str())/1000.0;
    timer.detach();
    timer.attach(&led_toggle,value);
}

void button_callback(const M2MBase& object, const NoticationDeliveryStatus status)
{
    printf("Button notification. Callback: (%s)\n", object.uri_path());
}





// To-Do #4

// Call to update button resource count
button->set_value(button_count);