add coap 13

This commit is contained in:
Harald Pichler 2013-08-02 14:04:39 +02:00
parent 532063c422
commit 0881290bbc
2 changed files with 44 additions and 30 deletions

View file

@ -1,44 +1,54 @@
all: er-example-server all: er-example-server
# Use this target explicitly if requried: er-plugtest-server # use this target explicitly if requried: er-plugtest-server
# variable for this Makefile
# configure CoAP implementation (3|7|12|13) (er-coap-07 also supports CoAP draft 08)
WITH_COAP=13
# variable for Makefile.include
WITH_UIP6=1
# for some platforms
UIP_CONF_IPV6=1
# IPv6 make config disappeared completely
CFLAGS += -DUIP_CONF_IPV6
CFLAGS += -DUIP_CONF_IPV6_RPL
CONTIKI=../../.. CONTIKI=../../..
CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\" CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"
# for static routing, if enabled # variable for Makefile.include
ifneq ($(TARGET), minimal-net) ifneq ($(TARGET), minimal-net)
ifneq ($(TARGET), native) CFLAGS += -DUIP_CONF_IPV6_RPL=1
ifneq ($(findstring avr,$(TARGET)), avr)
PROJECT_SOURCEFILES += static-routing.c
endif
endif
endif
# variable for root Makefile.include
WITH_UIP6=1
# for some platforms
UIP_CONF_IPV6=1
# variable for this Makefile
# configure CoAP implementation (3|7) (er-coap-07 also supports CoAP draft 08)
WITH_COAP=7
# new variable since slip-radio
ifneq ($(TARGET), minimal-net)
UIP_CONF_RPL=1
else else
# minimal-net does not support RPL under Linux and is mostly used to test CoAP only # minimal-net does not support RPL under Linux and is mostly used to test CoAP only
${info INFO: compiling without RPL} ${info INFO: compiling without RPL}
UIP_CONF_RPL=0 CFLAGS += -DUIP_CONF_IPV6_RPL=0
CFLAGS += -DUIP_CONF_ND6_DEF_MAXDADNS=0
CFLAGS += -DHARD_CODED_ADDRESS=\"fdfd::10\" CFLAGS += -DHARD_CODED_ADDRESS=\"fdfd::10\"
CFLAGS += -DUIP_CONF_BUFFER_SIZE=1280 ${info INFO: compiling with large buffers}
CFLAGS += -DUIP_CONF_BUFFER_SIZE=2048
CFLAGS += -DREST_MAX_CHUNK_SIZE=1024
CFLAGS += -DCOAP_MAX_HEADER_SIZE=640
endif endif
# linker optimizations # linker optimizations
SMALL=1 SMALL=1
# REST framework, requires WITH_COAP # REST framework, requires WITH_COAP
ifeq ($(WITH_COAP), 7) ifeq ($(WITH_COAP), 13)
${info INFO: compiling with CoAP-13}
CFLAGS += -DWITH_COAP=13
CFLAGS += -DREST=coap_rest_implementation
CFLAGS += -DUIP_CONF_TCP=0
APPS += er-coap-13
else ifeq ($(WITH_COAP), 12)
${info INFO: compiling with CoAP-12}
CFLAGS += -DWITH_COAP=12
CFLAGS += -DREST=coap_rest_implementation
CFLAGS += -DUIP_CONF_TCP=0
APPS += er-coap-12
else ifeq ($(WITH_COAP), 7)
${info INFO: compiling with CoAP-08} ${info INFO: compiling with CoAP-08}
CFLAGS += -DWITH_COAP=7 CFLAGS += -DWITH_COAP=7
CFLAGS += -DREST=coap_rest_implementation CFLAGS += -DREST=coap_rest_implementation
@ -84,5 +94,5 @@ connect-router: $(CONTIKI)/tools/tunslip6
connect-router-cooja: $(CONTIKI)/tools/tunslip6 connect-router-cooja: $(CONTIKI)/tools/tunslip6
sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 aaaa::1/64 sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 aaaa::1/64
tap0up: connect-minimal:
sudo ip address add fdfd::1/64 dev tap0 sudo ip address add fdfd::1/64 dev tap0

View file

@ -97,6 +97,10 @@ uint8_t dht11_temp=0, dht11_hum=0;
#include "er-coap-03.h" #include "er-coap-03.h"
#elif WITH_COAP == 7 #elif WITH_COAP == 7
#include "er-coap-07.h" #include "er-coap-07.h"
#elif WITH_COAP == 12
#include "er-coap-12.h"
#elif WITH_COAP == 13
#include "er-coap-13.h"
#else #else
#warning "Erbium example without CoAP-specifc functionality" #warning "Erbium example without CoAP-specifc functionality"
#endif /* CoAP-specific example */ #endif /* CoAP-specific example */
@ -259,7 +263,7 @@ ds1820_handler(void* request, void* response, uint8_t *buffer, uint16_t preferre
} }
else else
{ {
REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); REST.set_response_status(response, REST.status.NOT_ACCEPTABLE);
REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56); REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56);
} }
} }
@ -299,7 +303,7 @@ dht11_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred
} }
else else
{ {
REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); REST.set_response_status(response, REST.status.NOT_ACCEPTABLE);
REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56); REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56);
} }
} }
@ -637,7 +641,7 @@ temperature_handler(void* request, void* response, uint8_t *buffer, uint16_t pre
} }
else else
{ {
REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); REST.set_response_status(response, REST.status.NOT_ACCEPTABLE);
const char *msg = "Supporting content-types text/plain and application/json"; const char *msg = "Supporting content-types text/plain and application/json";
REST.set_response_payload(response, msg, strlen(msg)); REST.set_response_payload(response, msg, strlen(msg));
} }
@ -672,7 +676,7 @@ battery_handler(void* request, void* response, uint8_t *buffer, uint16_t preferr
} }
else else
{ {
REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); REST.set_response_status(response, REST.status.NOT_ACCEPTABLE);
const char *msg = "Supporting content-types text/plain and application/json"; const char *msg = "Supporting content-types text/plain and application/json";
REST.set_response_payload(response, msg, strlen(msg)); REST.set_response_payload(response, msg, strlen(msg));
} }