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: EthernetInterface PololuLedStripx mbed-rtos mbed nanoservice_client_1_12_X
Fork of LPC1768_LWM2M_Client by
Diff: resources/light.cpp
- Revision:
- 1:09a525977925
- Parent:
- 0:9101343a70cd
- Child:
- 2:4166c3e5b321
diff -r 9101343a70cd -r 09a525977925 resources/light.cpp
--- a/resources/light.cpp Tue Jul 22 23:58:23 2014 +0000
+++ b/resources/light.cpp Sat Sep 27 21:53:28 2014 +0000
@@ -4,51 +4,41 @@
#include "nsdl_support.h"
#include "light.h"
-#define LIGHT_RES_ID "lt/0/dim"
+#define LIGHT_RES_ID "11100/0/5900"
extern Serial pc;
-//PwmOut led1(LED1);
-static PwmOut led2(LED2);
-static PwmOut led3(LED3);
-//PwmOut led4(LED4);
+char led_color[] = {"00000000"};
/* Only GET and PUT method allowed */
static uint8_t light_resource_cb(sn_coap_hdr_s *received_coap_ptr, sn_nsdl_addr_s *address, sn_proto_info_s * proto)
{
sn_coap_hdr_s *coap_res_ptr = 0;
- static float led_dimm = 0;
- int led_state = 0;
- char led_dimm_temp[4];
- pc.printf("light callback\r\n");
+ pc.printf("LED Strip callback\r\n");
if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_GET)
{
coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CONTENT);
- led_state = led_dimm * 100;
- sprintf(led_dimm_temp, "%d", led_state);
-
- coap_res_ptr->payload_len = strlen(led_dimm_temp);
- coap_res_ptr->payload_ptr = (uint8_t*)led_dimm_temp;
+ coap_res_ptr->payload_len = strlen(led_color);
+ coap_res_ptr->payload_ptr = (uint8_t*)led_color;
sn_nsdl_send_coap_message(address, coap_res_ptr);
}
else if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_PUT)
{
- memcpy(led_dimm_temp, (char *)received_coap_ptr->payload_ptr, received_coap_ptr->payload_len);
-
- led_dimm_temp[received_coap_ptr->payload_len] = '\0';
-
- led_dimm = atof(led_dimm_temp);
- led_dimm = led_dimm/100;
+ pc.printf("PUT: %d bytes\r\n", received_coap_ptr->payload_len);
+ if(received_coap_ptr->payload_len == 8)
+ {
+ memcpy(led_color, (char *)received_coap_ptr->payload_ptr, received_coap_ptr->payload_len);
- //led1.write(led_dimm);
- led2.write(led_dimm);
- led3.write(led_dimm);
- //led4.write(led_dimm);
+ led_color[received_coap_ptr->payload_len] = '\0';
+ pc.printf("PUT: %s\r\n",led_color);
- coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED);
- sn_nsdl_send_coap_message(address, coap_res_ptr);
+ //call LED strup update function here
+
+ coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED);
+ sn_nsdl_send_coap_message(address, coap_res_ptr);
+ }
}
sn_coap_parser_release_allocated_coap_msg_mem(coap_res_ptr);
