add coap 13 support
This commit is contained in:
parent
d85ce4b42b
commit
bd45ee7aea
3 changed files with 89 additions and 57 deletions
|
@ -1,46 +1,57 @@
|
||||||
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
|
|
||||||
ifneq ($(TARGET), minimal-net)
|
|
||||||
ifneq ($(TARGET), native)
|
|
||||||
ifneq ($(findstring avr,$(TARGET)), avr)
|
|
||||||
PROJECT_SOURCEFILES += static-routing.c
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
# pcintkey
|
# pcintkey
|
||||||
PROJECT_SOURCEFILES += pcintkey.c
|
PROJECT_SOURCEFILES += pcintkey.c
|
||||||
|
|
||||||
# variable for root Makefile.include
|
# variable for 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)
|
ifneq ($(TARGET), minimal-net)
|
||||||
UIP_CONF_RPL=1
|
CFLAGS += -DUIP_CONF_IPV6_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
|
||||||
|
@ -86,5 +97,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
|
||||||
|
|
|
@ -53,11 +53,6 @@
|
||||||
#define REST_RES_TOGGLE 0
|
#define REST_RES_TOGGLE 0
|
||||||
#define REST_RES_BATTERY 1
|
#define REST_RES_BATTERY 1
|
||||||
|
|
||||||
#if !UIP_CONF_IPV6_RPL && !defined (CONTIKI_TARGET_MINIMAL_NET) && !defined (CONTIKI_TARGET_NATIVE)
|
|
||||||
#warning "Compiling with static routing!"
|
|
||||||
#include "static-routing.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "erbium.h"
|
#include "erbium.h"
|
||||||
#include "pcintkey.h"
|
#include "pcintkey.h"
|
||||||
|
|
||||||
|
@ -85,6 +80,10 @@
|
||||||
#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 */
|
||||||
|
@ -431,7 +430,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));
|
||||||
}
|
}
|
||||||
|
@ -466,7 +465,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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,40 +38,62 @@
|
||||||
#define PLATFORM_HAS_TEMPERATURE 1
|
#define PLATFORM_HAS_TEMPERATURE 1
|
||||||
#define PLATFORM_HAS_BATTERY 1
|
#define PLATFORM_HAS_BATTERY 1
|
||||||
|
|
||||||
#define SICSLOWPAN_CONF_FRAG 1
|
/* Some platforms have weird includes. */
|
||||||
|
#undef IEEE802154_CONF_PANID
|
||||||
/* For Debug: Dont allow MCU sleeping between channel checks */
|
|
||||||
//#undef RDC_CONF_MCU_SLEEP
|
|
||||||
//#define RDC_CONF_MCU_SLEEP 0
|
|
||||||
|
|
||||||
/* Disabling RDC for demo purposes. Core updates often require more memory. */
|
/* Disabling RDC for demo purposes. Core updates often require more memory. */
|
||||||
/* For projects, optimize memory and enable RDC again. */
|
/* For projects, optimize memory and enable RDC again. */
|
||||||
//#undef NETSTACK_CONF_RDC
|
// #undef NETSTACK_CONF_RDC
|
||||||
//#define NETSTACK_CONF_RDC nullrdc_driver
|
//#define NETSTACK_CONF_RDC nullrdc_driver
|
||||||
|
|
||||||
/* Save some memory for the sky platform. */
|
/* Increase rpl-border-router IP-buffer when using more than 64. */
|
||||||
#undef UIP_CONF_DS6_NBR_NBU
|
#undef REST_MAX_CHUNK_SIZE
|
||||||
#define UIP_CONF_DS6_NBR_NBU 10
|
|
||||||
#undef UIP_CONF_DS6_ROUTE_NBU
|
|
||||||
#define UIP_CONF_DS6_ROUTE_NBU 10
|
|
||||||
|
|
||||||
/* Increase rpl-border-router IP-buffer when using 128. */
|
|
||||||
#ifndef REST_MAX_CHUNK_SIZE
|
|
||||||
#define REST_MAX_CHUNK_SIZE 64
|
#define REST_MAX_CHUNK_SIZE 64
|
||||||
#endif
|
|
||||||
|
/* Estimate your header size, especially when using Proxy-Uri. */
|
||||||
|
/*
|
||||||
|
#undef COAP_MAX_HEADER_SIZE
|
||||||
|
#define COAP_MAX_HEADER_SIZE 70
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* The IP buffer size must fit all other hops, in particular the border router. */
|
||||||
|
|
||||||
|
#undef UIP_CONF_BUFFER_SIZE
|
||||||
|
#define UIP_CONF_BUFFER_SIZE 640
|
||||||
|
|
||||||
|
|
||||||
/* Multiplies with chunk size, be aware of memory constraints. */
|
/* Multiplies with chunk size, be aware of memory constraints. */
|
||||||
#ifndef COAP_MAX_OPEN_TRANSACTIONS
|
#undef COAP_MAX_OPEN_TRANSACTIONS
|
||||||
#define COAP_MAX_OPEN_TRANSACTIONS 2
|
#define COAP_MAX_OPEN_TRANSACTIONS 4
|
||||||
#endif
|
|
||||||
|
/* Must be <= open transaction number, default is COAP_MAX_OPEN_TRANSACTIONS-1. */
|
||||||
|
/*
|
||||||
|
#undef COAP_MAX_OBSERVERS
|
||||||
|
#define COAP_MAX_OBSERVERS 2
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Filtering .well-known/core per query can be disabled to save space. */
|
||||||
|
/*
|
||||||
|
#undef COAP_LINK_FORMAT_FILTERING
|
||||||
|
#define COAP_LINK_FORMAT_FILTERING 0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Save some memory for the sky platform. */
|
||||||
|
|
||||||
|
#undef UIP_CONF_DS6_NBR_NBU
|
||||||
|
#define UIP_CONF_DS6_NBR_NBU 10
|
||||||
|
#undef UIP_CONF_MAX_ROUTES
|
||||||
|
#define UIP_CONF_MAX_ROUTES 10
|
||||||
|
|
||||||
/* Must be <= open transaction number. */
|
|
||||||
#ifndef COAP_MAX_OBSERVERS
|
|
||||||
#define COAP_MAX_OBSERVERS COAP_MAX_OPEN_TRANSACTIONS-1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Reduce 802.15.4 frame queue to save RAM. */
|
/* Reduce 802.15.4 frame queue to save RAM. */
|
||||||
#undef QUEUEBUF_CONF_NUM
|
|
||||||
#define QUEUEBUF_CONF_NUM 4
|
|
||||||
|
|
||||||
#endif /* __PROJECT_RPL_WEB_CONF_H__ */
|
#undef QUEUEBUF_CONF_NUM
|
||||||
|
#define QUEUEBUF_CONF_NUM 8
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
#undef SICSLOWPAN_CONF_FRAG
|
||||||
|
#define SICSLOWPAN_CONF_FRAG 1
|
||||||
|
*/
|
||||||
|
#endif /* __PROJECT_ERBIUM_CONF_H__ */
|
||||||
|
|
Loading…
Reference in a new issue