adding resources firmware and 1/0/8

Dependencies:   Beep C12832_lcd EthernetInterface EthernetNetIf HTTPClient LM75B MMA7660 mbed-rtos mbed nsdl_lib

Fork of LWM2M_NanoService_Ethernet by MBED_DEMOS

Committer:
pnysten
Date:
Tue Oct 27 07:18:16 2015 +0000
Revision:
22:2fab757f9c2a
Parent:
21:978281bfb26e
Firmware and 1/0/8 resource

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pnysten 21:978281bfb26e 1 #include "mbed.h"
pnysten 21:978281bfb26e 2 #include "rtos.h"
pnysten 21:978281bfb26e 3 #include "nsdl_support.h"
pnysten 21:978281bfb26e 4 #include "register_upd_trigger.h"
pnysten 21:978281bfb26e 5
pnysten 21:978281bfb26e 6 #define REGISTER_UPD_TRIGGER_ID "1/0/8"
pnysten 21:978281bfb26e 7
pnysten 21:978281bfb26e 8 extern char endpoint_name[16];
pnysten 21:978281bfb26e 9 extern uint8_t ep_type[];
pnysten 21:978281bfb26e 10 extern uint8_t lifetime_ptr[];
pnysten 21:978281bfb26e 11 extern Serial pc;
pnysten 21:978281bfb26e 12
pnysten 21:978281bfb26e 13 /* Only POST and PUT method allowed */
pnysten 21:978281bfb26e 14 static uint8_t register_upd_trigger_resource_cb(sn_coap_hdr_s *received_coap_ptr, sn_nsdl_addr_s *address, sn_proto_info_s * proto)
pnysten 21:978281bfb26e 15 {
pnysten 21:978281bfb26e 16 sn_coap_hdr_s *coap_res_ptr = 0;
pnysten 21:978281bfb26e 17
pnysten 21:978281bfb26e 18 strcpy((char*) ep_type, "mbed_lpc1768_appboard");
pnysten 21:978281bfb26e 19 strcpy((char*) lifetime_ptr, "60");
pnysten 21:978281bfb26e 20 pc.printf("Register Update Trigger callback\r\n");
pnysten 21:978281bfb26e 21
pnysten 21:978281bfb26e 22 if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_POST)
pnysten 21:978281bfb26e 23 {
pnysten 21:978281bfb26e 24 coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED);
pnysten 21:978281bfb26e 25 sn_nsdl_send_coap_message(address, coap_res_ptr);
pnysten 21:978281bfb26e 26
pnysten 21:978281bfb26e 27 sn_nsdl_ep_parameters_s *endpoint_ptr = NULL;
pnysten 21:978281bfb26e 28 endpoint_ptr = nsdl_init_register_endpoint(endpoint_ptr, (uint8_t*)endpoint_name, ep_type, lifetime_ptr);
pnysten 21:978281bfb26e 29
pnysten 21:978281bfb26e 30 sn_nsdl_update_registration(endpoint_ptr);
pnysten 21:978281bfb26e 31 }
pnysten 21:978281bfb26e 32 else if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_PUT)
pnysten 21:978281bfb26e 33 {
pnysten 21:978281bfb26e 34
pnysten 21:978281bfb26e 35 coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED);
pnysten 21:978281bfb26e 36 sn_nsdl_send_coap_message(address, coap_res_ptr);
pnysten 21:978281bfb26e 37
pnysten 21:978281bfb26e 38 sn_nsdl_ep_parameters_s *endpoint_ptr = NULL;
pnysten 21:978281bfb26e 39 endpoint_ptr = nsdl_init_register_endpoint(endpoint_ptr, (uint8_t*)endpoint_name, (uint8_t*)ep_type, (uint8_t*)lifetime_ptr);
pnysten 21:978281bfb26e 40
pnysten 21:978281bfb26e 41 sn_nsdl_update_registration(endpoint_ptr);
pnysten 21:978281bfb26e 42 }
pnysten 21:978281bfb26e 43
pnysten 21:978281bfb26e 44 sn_coap_parser_release_allocated_coap_msg_mem(coap_res_ptr);
pnysten 21:978281bfb26e 45 return 0;
pnysten 21:978281bfb26e 46 }
pnysten 21:978281bfb26e 47
pnysten 21:978281bfb26e 48 int create_register_upd_trigger_resource(sn_nsdl_resource_info_s *resource_ptr)
pnysten 21:978281bfb26e 49 {
pnysten 21:978281bfb26e 50 nsdl_create_dynamic_resource(resource_ptr, strlen(REGISTER_UPD_TRIGGER_ID), (uint8_t*)REGISTER_UPD_TRIGGER_ID, 0, 0, 0, &register_upd_trigger_resource_cb, (SN_GRS_POST_ALLOWED | SN_GRS_PUT_ALLOWED));
pnysten 21:978281bfb26e 51 return 0;
pnysten 21:978281bfb26e 52 }