From 56807ee75a9ed438c94581c677c6cf19ff785369 Mon Sep 17 00:00:00 2001 From: harald Date: Mon, 17 Dec 2012 14:26:49 +0100 Subject: [PATCH] initial upload --- examples/osd/wirelessplug/Makefile | 88 + examples/osd/wirelessplug/README | 88 + examples/osd/wirelessplug/er-example-client.c | 173 + .../er-example-client.osd-er-lp24 | Bin 0 -> 420429 bytes examples/osd/wirelessplug/er-example-server.c | 1078 ++++ .../er-example-server.osd-er-lp24 | Bin 0 -> 424344 bytes .../er-example-server.osd-er-lp24.eep | 4 + .../er-example-server.osd-er-lp24.hex | 4668 +++++++++++++++++ .../osd/wirelessplug/er-plugtest-server.c | 561 ++ examples/osd/wirelessplug/project-conf.h | 67 + examples/osd/wirelessplug/run.sh | 7 + examples/osd/wirelessplug/server-client.csc | 227 + examples/osd/wirelessplug/server-only.csc | 189 + examples/osd/wirelessplug/static-routing.c | 155 + examples/osd/wirelessplug/static-routing.h | 20 + 15 files changed, 7325 insertions(+) create mode 100644 examples/osd/wirelessplug/Makefile create mode 100644 examples/osd/wirelessplug/README create mode 100644 examples/osd/wirelessplug/er-example-client.c create mode 100755 examples/osd/wirelessplug/er-example-client.osd-er-lp24 create mode 100644 examples/osd/wirelessplug/er-example-server.c create mode 100755 examples/osd/wirelessplug/er-example-server.osd-er-lp24 create mode 100644 examples/osd/wirelessplug/er-example-server.osd-er-lp24.eep create mode 100644 examples/osd/wirelessplug/er-example-server.osd-er-lp24.hex create mode 100644 examples/osd/wirelessplug/er-plugtest-server.c create mode 100644 examples/osd/wirelessplug/project-conf.h create mode 100755 examples/osd/wirelessplug/run.sh create mode 100644 examples/osd/wirelessplug/server-client.csc create mode 100644 examples/osd/wirelessplug/server-only.csc create mode 100644 examples/osd/wirelessplug/static-routing.c create mode 100644 examples/osd/wirelessplug/static-routing.h diff --git a/examples/osd/wirelessplug/Makefile b/examples/osd/wirelessplug/Makefile new file mode 100644 index 000000000..ea3722d59 --- /dev/null +++ b/examples/osd/wirelessplug/Makefile @@ -0,0 +1,88 @@ +all: er-example-server er-example-client +# Use this target explicitly if requried: er-plugtest-server + +CONTIKI=../../.. +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 + +# 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 +# minimal-net does not support RPL under Linux and is mostly used to test CoAP only +${info INFO: compiling without RPL} +UIP_CONF_RPL=0 +CFLAGS += -DUIP_CONF_ND6_DEF_MAXDADNS=0 +CFLAGS += -DHARD_CODED_ADDRESS=\"fdfd::10\" +CFLAGS += -DUIP_CONF_BUFFER_SIZE=1280 +endif + +# linker optimizations +SMALL=1 + +# REST framework, requires WITH_COAP +ifeq ($(WITH_COAP), 7) +${info INFO: compiling with CoAP-08} +CFLAGS += -DWITH_COAP=7 +CFLAGS += -DREST=coap_rest_implementation +CFLAGS += -DUIP_CONF_TCP=0 +APPS += er-coap-07 +else ifeq ($(WITH_COAP), 3) +${info INFO: compiling with CoAP-03} +CFLAGS += -DWITH_COAP=3 +CFLAGS += -DREST=coap_rest_implementation +CFLAGS += -DUIP_CONF_TCP=0 +APPS += er-coap-03 +else +${info INFO: compiling with HTTP} +CFLAGS += -DWITH_HTTP +CFLAGS += -DREST=http_rest_implementation +CFLAGS += -DUIP_CONF_TCP=1 +APPS += er-http-engine +endif + +APPS += erbium + +# optional rules to get assembly +#CUSTOM_RULE_C_TO_OBJECTDIR_O = 1 +#CUSTOM_RULE_S_TO_OBJECTDIR_O = 1 + +include $(CONTIKI)/Makefile.include + +# optional rules to get assembly +#$(OBJECTDIR)/%.o: asmdir/%.S +# $(CC) $(CFLAGS) -MMD -c $< -o $@ +# @$(FINALIZE_DEPENDENCY) +# +#asmdir/%.S: %.c +# $(CC) $(CFLAGS) -MMD -S $< -o $@ + +# border router rules +$(CONTIKI)/tools/tunslip6: $(CONTIKI)/tools/tunslip6.c + (cd $(CONTIKI)/tools && $(MAKE) tunslip6) + +connect-router: $(CONTIKI)/tools/tunslip6 + sudo $(CONTIKI)/tools/tunslip6 aaaa::1/64 + +connect-router-cooja: $(CONTIKI)/tools/tunslip6 + sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 aaaa::1/64 + +tap0up: + sudo ip address add fdfd::1/64 dev tap0 diff --git a/examples/osd/wirelessplug/README b/examples/osd/wirelessplug/README new file mode 100644 index 000000000..06283dc5e --- /dev/null +++ b/examples/osd/wirelessplug/README @@ -0,0 +1,88 @@ +A Quick Introduction to the Erbium (Er) REST Engine +=================================================== + +sudo avrdude -pm128rfa1 -c arduino -P/dev/ttyUSB0 -b57600 -e -U flash:w:er-example-server.osd-er-lp24.hex:a -U eeprom:w:er-example-server.osd-er-lp24.eep:a + +EXAMPLE FILES +------------- +er-example-server.c: A RESTful server example showing how to use the REST layer to develop server-side applications (at the moment only CoAP is implemented for the REST Engine). +er-example-client.c: A CoAP client that polls the /actuators/toggle resource every 10 seconds and cycles through 4 resources on button press (target address is hard-coded). +er-plugtest-server.c: The server used for draft compliance testing at ETSI IoT CoAP Plugtest in Paris, France, March 2012 (configured for minimal-net). + +PRELIMINARIES +------------- +- Make sure rpl-border-router has the same stack and fits into mote memory: + You can disable RDC in border-router project-conf.h (not really required as BR keeps radio turned on). + #undef NETSTACK_CONF_RDC + #define NETSTACK_CONF_RDC nullrdc_driver +- For convenience, define the Cooja addresses in /etc/hosts + aaaa::0212:7401:0001:0101 cooja1 + aaaa::0212:7402:0002:0202 cooja2 + ... +- Get the Copper (Cu) CoAP user-agent from https://addons.mozilla.org/en-US/firefox/addon/copper-270430/ +- Optional: Save your target as default target + $ make TARGET=sky savetarget + +COOJA HOWTO +----------- +Server only: +1) $ make TARGET=cooja server-only.csc +2) Open new terminal +3) $ make connect-router-cooja +4) Start Copper and discover resources at coap://cooja2:5683/ +- Choose "Click button on Sky 2" from the context menu of mote 2 (server) after requesting /test/separate +- Do the same when observing /test/event + +With client: +1) $ make TARGET=cooja server-client.csc +2) Open new terminal +3) $ make connect-router-cooja +4) Wait until red LED toggles on mote 2 (server) +5) Choose "Click button on Sky 3" from the context menu of mote 3 (client) and watch serial output + +TMOTES HOWTO +------------ +Server: +1) Connect two Tmote Skys (check with $ make TARGET=sky sky-motelist) +2) $ make TARGET=sky er-example-server.upload MOTE=2 +3) $ make TARGET=sky login MOTE=2 +4) Press reset button, get address, abort with Ctrl+C: + Line: "Tentative link-local IPv6 address fe80:0000:0000:0000:____:____:____:____" +5) $ cd ../ipv6/rpl-border-router/ +6) $ make TARGET=sky border-router.upload MOTE=1 +7) $ make connect-router + For a BR tty other than USB0: $ make connect-router-port PORT=X +8) Start Copper and discover resources at coap://[aaaa::____:____:____:____]:5683/ + +Add a client: +1) Change the hard-coded server address in er-example-client.c to aaaa::____:____:____:____ +2) Connect a third Tmote Sky +3) $ make TARGET=sky er-example-client.upload MOTE=3 + +DETAILS +------- +Erbium currently implements draft 08 (name "er-coap-07" stems from last technical draft changes). +Central features are commented in er-example-server.c. +In general, apps/er-coap-07 supports: +* All draft 08 header options +* CON Retransmissions (note COAP_MAX_OPEN_TRANSACTIONS) +* Blockwise Transfers (note REST_MAX_CHUNK_SIZE, see er-plugtest-server.c for Block1 uploads) +* Separate Responses (no rest_set_pre_handler() required anymore, note coap_separate_accept(), _reject(), and _resume()) +* Resource Discovery +* Observing Resources (see EVENT_ and PRERIODIC_RESOURCE, note COAP_MAX_OBSERVERS) + +REST IMPLEMENTATIONS +-------------------- +The Makefile uses WITH_COAP to configure different implementations for the Erbium (Er) REST Engine. +* WITH_COAP=7 uses Erbium CoAP 08 apps/er-coap-07/. + The default port for coap-07/-08 is 5683. +* WITH_COAP=3 uses Erbium CoAP 03 apps/er-coap-03/. + The default port for coap-03 is 61616. + er-coap-03 produces some warnings, as it not fully maintained anymore. +* WITH_COAP=0 is a stub to link an Erbium HTTP engine that uses the same resource abstraction (REST.x() functions and RESOURCE macros. + +TODOs +----- +* Observe client +* Multiple If-Match ETags +* (Message deduplication) diff --git a/examples/osd/wirelessplug/er-example-client.c b/examples/osd/wirelessplug/er-example-client.c new file mode 100644 index 000000000..d1d543cf0 --- /dev/null +++ b/examples/osd/wirelessplug/er-example-client.c @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2011, Matthias Kovatsch and other contributors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + */ + +/** + * \file + * Erbium (Er) CoAP client example + * \author + * Matthias Kovatsch + */ + +#include +#include +#include + +#include "contiki.h" +#include "contiki-net.h" + +#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 "dev/button-sensor.h" + +#if WITH_COAP == 3 +#include "er-coap-03-engine.h" +#elif WITH_COAP == 6 +#include "er-coap-06-engine.h" +#elif WITH_COAP == 7 +#include "er-coap-07-engine.h" +#else +#error "CoAP version defined by WITH_COAP not implemented" +#endif + + +#define DEBUG 0 +#if DEBUG +#define PRINTF(...) printf(__VA_ARGS__) +#define PRINT6ADDR(addr) PRINTF("[%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x]", ((uint8_t *)addr)[0], ((uint8_t *)addr)[1], ((uint8_t *)addr)[2], ((uint8_t *)addr)[3], ((uint8_t *)addr)[4], ((uint8_t *)addr)[5], ((uint8_t *)addr)[6], ((uint8_t *)addr)[7], ((uint8_t *)addr)[8], ((uint8_t *)addr)[9], ((uint8_t *)addr)[10], ((uint8_t *)addr)[11], ((uint8_t *)addr)[12], ((uint8_t *)addr)[13], ((uint8_t *)addr)[14], ((uint8_t *)addr)[15]) +#define PRINTLLADDR(lladdr) PRINTF("[%02x:%02x:%02x:%02x:%02x:%02x]",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) +#else +#define PRINTF(...) +#define PRINT6ADDR(addr) +#define PRINTLLADDR(addr) +#endif + +/* TODO: This server address is hard-coded for Cooja. */ +#define SERVER_NODE(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7402, 0x0002, 0x0202) /* cooja2 */ + +#define LOCAL_PORT UIP_HTONS(COAP_DEFAULT_PORT+1) +#define REMOTE_PORT UIP_HTONS(COAP_DEFAULT_PORT) + +#define TOGGLE_INTERVAL 10 + +PROCESS(coap_client_example, "COAP Client Example"); +AUTOSTART_PROCESSES(&coap_client_example); + + +uip_ipaddr_t server_ipaddr; +static struct etimer et; + +/* Example URIs that can be queried. */ +#define NUMBER_OF_URLS 4 +/* leading and ending slashes only for demo purposes, get cropped automatically when setting the Uri-Path */ +char* service_urls[NUMBER_OF_URLS] = {".well-known/core", "/actuators/toggle", "battery/", "error/in//path"}; +#if PLATFORM_HAS_BUTTON +static int uri_switch = 0; +#endif + +/* This function is will be passed to COAP_BLOCKING_REQUEST() to handle responses. */ +void +client_chunk_handler(void *response) +{ + uint8_t *chunk; + + int len = coap_get_payload(response, &chunk); + printf("|%.*s", len, (char *)chunk); +} + + +PROCESS_THREAD(coap_client_example, ev, data) +{ + PROCESS_BEGIN(); + + static coap_packet_t request[1]; /* This way the packet can be treated as pointer as usual. */ + SERVER_NODE(&server_ipaddr); + + /* receives all CoAP messages */ + coap_receiver_init(); + + etimer_set(&et, TOGGLE_INTERVAL * CLOCK_SECOND); + +#if PLATFORM_HAS_BUTTON + SENSORS_ACTIVATE(button_sensor); + printf("Press a button to request %s\n", service_urls[uri_switch]); +#endif + + while(1) { + PROCESS_YIELD(); + + if (etimer_expired(&et)) { + printf("--Toggle timer--\n"); + + /* prepare request, TID is set by COAP_BLOCKING_REQUEST() */ + coap_init_message(request, COAP_TYPE_CON, COAP_POST, 0 ); + coap_set_header_uri_path(request, service_urls[1]); + + const char msg[] = "Toggle!"; + coap_set_payload(request, (uint8_t *)msg, sizeof(msg)-1); + + + PRINT6ADDR(&server_ipaddr); + PRINTF(" : %u\n", UIP_HTONS(REMOTE_PORT)); + + COAP_BLOCKING_REQUEST(&server_ipaddr, REMOTE_PORT, request, client_chunk_handler); + + printf("\n--Done--\n"); + + etimer_reset(&et); + +#if PLATFORM_HAS_BUTTON + } else if (ev == sensors_event && data == &button_sensor) { + + /* send a request to notify the end of the process */ + + coap_init_message(request, COAP_TYPE_CON, COAP_GET, 0); + coap_set_header_uri_path(request, service_urls[uri_switch]); + + printf("--Requesting %s--\n", service_urls[uri_switch]); + + PRINT6ADDR(&server_ipaddr); + PRINTF(" : %u\n", UIP_HTONS(REMOTE_PORT)); + + COAP_BLOCKING_REQUEST(&server_ipaddr, REMOTE_PORT, request, client_chunk_handler); + + printf("\n--Done--\n"); + + uri_switch = (uri_switch+1) % NUMBER_OF_URLS; +#endif + + } + } + + PROCESS_END(); +} diff --git a/examples/osd/wirelessplug/er-example-client.osd-er-lp24 b/examples/osd/wirelessplug/er-example-client.osd-er-lp24 new file mode 100755 index 0000000000000000000000000000000000000000..75f76b867b3088735f5a09ca65e1622030c91127 GIT binary patch literal 420429 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

=Y&5gPDU-qFQtrSFba&7kYEn#pYmsfP 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�Tf;cHxbM^9h;lT$ewQ$UQ~G}m;~y1b+}3%= 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ӎn|7{1nys?`BehXA8CG#AdJti5rj0qMiA2c3W3)zVWr` zr1`Z0Z@;AZm4VPcep_HokUxGnU}-?}0|AQynjZjI5YT+xKcxAZ|GPmr-{D^o(0pIN z9MF9EzS-z}{al-mvi?7^{(>}LGY615A)*U2XZG+!%!F`)U<_`ZN{e1J7U zK=bWwFE8rni`s7o;e2J<%P(*5zJCY)hH&p6Nb{xOH!Xf%{v(7hc$n2MX}(`N-Q-F0 z{nDqZG=HS|Ug#G=IA6xx63~2^^8BwddA|AN<;D1opq~xo`C3zTK=a+DLw}sb=bHw# z7M{0%2oZU6-u;m@Z_2MSdD6TG@BU7jSKWQRk=J(-;k>53%;J;gwQ2yVU(&oTeWog- zd9C=7h3ECn`ZM&OI1HKfgzy@K^D65N3n$HcrMN#P>E-oxAe^`SynaaYmYVj#!rNe}P)WK6 z`irGXp}TLSw7bxU@9hi}%gIQ&ztA^0Tqz6`OUZEmYefjwwYD}lt*vWs+SpQPZff~$ zp>bo|hPw8oyK`Wm3omFFdO9neeyg)k=_})d=mkm8k|>UK?im^=CdKj+Lzid>Zb7fz zSl3!;-Q1oG43>6Q%YP%K;r^YaVoxZz?k<+3T*8cQVzn@%Qa|+#%?<4hEUQZI$Uwo% zEcKe_`UdwDpX=)^cMkMC2mQN>yDP=#28Vl=*ar!pvw9yU^SM|0%f*4>@bJ*U$j+$p zwiY(7Y1&#?)6`Pe_Hq;=_Jnnd?+q0ChnDk}Va`R@Z`#J@q+A4YZ4ha^!D z{k?@fot5rBDQPKG(b2Z49T%31J#fN-0c#8!!4qp*o9mid#A%9U%Z)V9p}}$`+0sx9ZjYDs-!DzT~uT|FC1wO=mDhR;=5qOojcL^Umao(plv!C z?nA=WX_nbeLZ4~a+7!`s?He~p>4icY*S0sb7dExGHPmfzPZo2tGFglI8|X%|8LLIA zv{YFEZfkqt<)((_`a)xK-AigNy-b>#nj7^Fh!LhwpJqoe)LGHGVB`EvEu_R9q{XKt zmkLRBFe;jAVdubLSLZ;1&V^!1c7nBMuu?1xkM#ETk7aa!PtxC0s0@naFf1+g_U{}i z7YpUVkxGAQr#R`r0QJBJ#?YIo0`pt4k{;>hl+Vttzk7+rM&F5;qN`Y-XlbygSU{R| zeZ81lV0S9&O(nG@v~}2QqO4kg0uTilB6iycK@04c^xL3?p<)RiEZeCc{^j+14?q!Q zQpK?$H0_=stkMZrWxMO?@9oX_+Ix%7ckb-$FC~>8>KqxuPy&bJ`!(*>-6Q2P>NfWp z4&GXO&OTe(or>Df<0h8}yIDU*4p#<;9GB7-W3`1yf+pA5vugyVuxz!zNaG_bYMOEK z3UXSdB8EBOux|U%PwBuj?A>yLFXk{9-@CCsh}97Y!%=q*X;;?0XNW2it9)sg5)z0P z@M9mT^m2^ArBc#g>aX;74(vfWP&s*J4uCRb_YdPWOG*?a5awv4PWntiYMGHbhgdD0 zcsmL8f++%6ZU#*v-B%eb4I~57F~#qm@U1RLEQhzG<8D3rxlUP!4%2H3EG$^@aD6MAnJ+aZuRx&!!-z$}sz>6@i zfwTAT0UwhVr0=my#a9HEUyWsMWmbU(ktR3%s#-!u5Wc5#tf#Z5g#47dwS|cu^W4;S z6ajjFP6ISA{k+U?nPn2qpS4VTXr3TUDadeI zAn+QLVd6m|YsRq@4Nb*MgK)WF_}%l%#dtAMB0(e&)=Wu>m@f`X4;YjOYWX*{5>=|p zA`jCi&<8Rq{?Q*S8*ml(BWa)Rv9!%`D||Osw9x6)r78*QK$w_;GV#DiEqzpZg$`}* z$+Dp-VdKPPM5dmRTZ?PJ8#qnv#f)Ka=vB9twWbw6jABl!hU{W@=1lbZL_JqaFEs*A z>vp7>K^0i(nQ4fMVFNR}J%gh%jHHFqIUtkp0zOkGd7)i&B5C8EIaI4pV9A0pg>v_( zR0WJK7suGz=tSaC9DXD^Y?L;ZIk&WN_Buh%q(N7bfqtw{_Ebj1+uSi>m5FNJwY1O< zRsSA(TL19KFa{$UrZvnkEmG#btG}|Ra|pc}`*rj>{ewOIn025IwVzYP-Z_8|J@gpG zWNt4to_P-h`iDlB7cjiDad!6=G5_lwM5gE%=tFdBsB0~;i`g!9g}G+W$|;x4BGWpB zZd1$R>?#j-_H?sJ)4o>BL@}vqYT-Ic&Eq^p<$Fg;-D2m6cQUlb-AJW1m4RYs8OyFh zZ+UQ!sX^Ism4{)ZQY@D+>5*znO&4PmDGFaeV(x?yzkMwhbsL+TO$`TncGO}A-Wo)I zmFmD$U<8S3ev{I$F3YkC3su0{+&qB8i{t_03x+?R4wWjH@k$5IIzf-Lyr30EXV9c1 zU0cEAXAoK{X+O?RP>uHS#J#|rk43b(-m=_3EX9JEbT(dwNm@>6iB*5za{aO+Tb|C^ zhbkEOy^~K1PPC_vD{T`KzQNri@afJ`6sa34qYe5JZ=YO>mlr5}W zBEmL)TUnON@M`nN3CH^-B8W&8OkAw{9>V$%j#UJQ?ays7mEC=V7|C>En2iHLdXjOa z)A6a)gZ9&DgW<%6Km=y=4;O|92l~4)*U=tVNrmdpLd6me6`jovBir*hxpnsd5<=BN)>%E*HM zQpPa$Bf7BwD|aVIr2uLV*Bmad6M-;-xK5$GCm9@&B^nLnio4KjuF=^8cd7Kt#!@&r zq)n#Y1~771@?um!7I0jCa#UB*zwyUa0|2Ml$xYvgT!rf5Nz_h9;r;dZQo zbwnDOX2J_R4Gvo@l1#wNlhv)cq|Y_dSXNdnorxO_tYBktCqtsh2KtF%%wVvmlq#Y% zxsov5fsJYr6O+g+s$^7DdoD;ITe=ot3An$QD-=4p1(@|^6tOjX~ENtMP5Pot3QQB*DM{ z3hF*jvZgo$G)wMVLuI}Z+3x%56q_u71 z)|Z=FUMjR~#3t9~*4B+}?G5$G=9UyMY^bYmsw;5wFWFMp+*DtvE!6xbKLL?VxN@<( z*pFW13DFD73eUfw`(Ltk#WL^#)VJn!3vFYo?A>o%!>lwUZgG3lhK7xpF`_Ojg?{eP zv(wWZ5zg~QhLa5q?dvwy%l^D>k6{Qz4^;N ztI=Y+>V4!?; z0F!PlaIYGS$XMVoyGBBybJ1Jr zCbidroiv12N?q2quY>7oF4BG>%12{E3)*KZouD*`y_Q$8liD@hUGDEHmUVyDQsc>% z+Q#-Re!oWw3cC!wog)KS2L>J*8nLE%ayZGNz2aHNc*A(<(1D#-&ob2Es@2D42qFs0`36q?5}LQ}$_iLC|E zT$<3kY^xI^#dk)5lw@{qOuhK3Cr+g_IL z#?B};w{$X`vt=Dhf_W)BZ7JD&kLgzNT*zBt=nLBW$*7{JP3-AMOeM_7hPtf<9NC7>^9CqGcQ` zz$=s9{sC+qNR}HnZf>d9;@3_QZvLbs*kFE>)dWwZv&tVXNF8KK+3uEklNmRdg~K!k z+F~y{CM=JoGQ*stxo>4}llBN<+G$7EwOf;8<>b0Dj1-tyh?fN&9X1p62--u+*p}z{ zI<{8qU?3mTi4EdcJq#;U9^13w=T&1bCq4Zd7dY4@6E$vt^BASD2MY{Q5Lk|V>;g{v z5^ge1n1UaeWz*9q`yCuk^mAmyVpGl$6Wec)Jd87u$Mnj?v=fJpd(aX0d%iPWwq=D< z7?%MbMGD$)l{)tnC(K7qE?*8}2=~aXlL(4PPRWxV&hEViu$_U;ch8|z*0`+ssV~;C z*kpv)m#t^l$oaYt5@eBUZp6yKlhRCxpM@ohg9zEo>>pP^sU4{@Yk@MY$d?18OM@lk zO%@jtI<(si=hjP_=~SCF0e2+f4-D=s)J{|)dENcEeu2_45AVgatXM!tjjh_$u+dI5 z7f$cW1M;$54VzJD#DFTb!``gjZfe~zv<5VOy zz|7UCnJTHXLTaznJL8#nKhAx|GHFXV=p3w>s`xm;d~3#i4$N^fqbAHq;8l8s#+qYx zWg(Cl-LRTcIzd*HDLcsIgk9~E zn~r5a)f8Tc!s4EuAuITF`n8kCa@e;Rj_ywRNEAdLzquxf=n+6Dr@7-~IN&A$9%|z5 zn(E=+{F7q%$e5lh+s1VPSG`8Cqahlk-3H10ZMyO$f&4J~^^nxfqlm-p#qlyKDD(1u zo9mkwm$Bi=eUX?{9!6Uq$RUfGA?8~)qmxqqv z^n~>>K^(o&Heoc~ZIw(+5K-M<1K7XFV6GW78@z%eW;vM3$UG6kSS8|48#)9z?M;Vz zlw=$g6R$XX8a#nL1yIIWhsN-xHr8P2Q3m|du!OrsJt>*#=Td|JA7Ry^Z41yp8i4SGk+%1hwr8* zni;e`>>*=H08bex_Q+mqQpVn$)E_dl0)o5%iw!v3;-j(YT7GNDYZy4Y zcY8c(dZ7xmDX5^YvaQ0IJVi~dpyLR>)(-c~)W}{ZcD{=^#Vrrl;?g9(`N`ul96F&k za7Ham6&t`|2fqhjc%_Up*RCi6mMIcXRZ^}7sPOB>{X9-6+TYUbk zZB~@OS#Er+@o^cEr+SiFsug?Pa(8M32Pn9gOWX(8LQRf-KGR$KLeks2hY9r$b|tTH zY1D&0OV@NM>3wG=P%d^24u;nkhen?394(_i@<_;uqq?7*QgUZe`xJUZr98&;aEGf^ zZhWlS+*qhMkYqrqLB{R7Dm`t+m?rwtnm?OU<6#_P(tcx?^MO?5oa=);H! zTrTd+E7?%DR<1$^y6fw)Q@^R9rM{sp{p3F` z!d8%qxLY7f^Ve-`-IQ6n@wbT%6M6>(y}b1HxTrqJLoW-ID*!4d13-BM*Po3Z?#H_f zMy>!jw>^tJsw3DdW_$ zJSHxbH- z70fp7g^l-Gt2dUBf=S;0a8z)+wyr?m#pHeX z)#4cZDrYI19X(ar$c85LB{-@vow9Q0?M!R3I6g(radzlo=}i>pcWq64ok+b(GtX<_xFU(m3_!YZ4@X10yE|n{6l>Wer(2$rF=&`T zh~4|k4LpU;o7XHIa)Ft(U#BVP1jt(^Qq`is@s=D24an}}IDbR|n-RQ|h1CKs9S&mB zhKY-M;~F?N4Txrh?kl<4vRcC6Bz8&Ri2s_eRK|P~9Tx`k*@h!pO%auco()4fe;I)d z2^Y(X#iA?)vbOClO-5s>bQ_S^DNNLPq5CMQ4r|yLzr^?QYgg+j^wkTk!&f?Y7o~pO z)wqF&i-Db`k+5dyXE-@+K&RPe&G!{-yy2iN*9$baZm`V$u5BakT8!(uW%`k-Dh*;p zLDlsRj12c-WQj|!sqN3Ts!@s?8tOKoo$?gl62Qa>r-?>1wdjQn9D!{X8B{v5pZ1(q zGFuC4ar3o_jm?~cS)fy(jms!01ob1_X3N`<fX;3g85A(*>r@nRJ|fVb(e z(&uQPJeh;5Jvemc%nyBs_%I4UXAq)7XFXgi_Tj8Bk->W?_Ezc5b?(NakDSw5OGjU5 z#=zd7Oz>h9FHDYcosazmSYbP=vZ0Q?NB4AOjo>mm3AJ5&NLbW#t@Oe_&L-tAaItJ_ zs2Bc;Ok*YMoX_IqI8BaiQ$kg_q$hMJq}-pG0YY&!k28uZR$0-fEc%ZuWQCpO z4Qtrvcz2qD@*l&IErRFe|A}q`r_$1~KwL%_X(Jfq+UuIRWvNcy>2Z%t*Z$$c?V?mQG-9SXQb1 zUfT5yjp&rn()}GvVZSW3Dcw5@yKGmYtTigl=YbN*uR<^aSDhltlTl;*+u_oe+7r6K>xVxC_9OTwcd9Vw$j`yv?+AZ*n2@T_d#!f|a z??JZAB%@)G%S@vbW~gy9USCPwk*l)IC&d^YPs0Kp>SIqPHLhuyL#pAN;Y-nFeH{l> ztzT(KGM>n}4tA%lrh9NVf-knnu%_?F_Q=&*jGP)W*o%uBJNf1><;dk77hLb=Z)hfa zuq!L?88Q%!vWz|a!LD807n5}c8W>-j(f7aPZY^%i0m}X~gD@iK4QLTG4XkMF_o7|G zq3kj_^1>^>a8-FOr-iJRKTxDbdO+NgEI-fdfZbPMq|QF|LmfUDP$wJ znhdrD(}8Sg;5j4-kJpH7`I6uuUld~j>HT18!G@6)FOGZl1<}F?FLGKSHYd9NT3T(u|?0|bkTI=oWO^yD7;`1HcEWNtJMs9Mb-Us=<+ z{i_AkfF^^&1lMc8-6NIBD#y9QC~a)^M-M0S45 zDr1^@Pg_&4iDg=1G+EX~82HVd^mR=1rwqepEnE)1@~XcCp7*q*bLUP>AZd^|oTB1u z$mamZt|7eOyA#tf9@$s0YbYXeS{Y=U*JtSPL!JHQ1jjfiFEcqm)zD^w<1HLQmE@}_ z*a<=UR)eOKHOsjUy|=&AEe%f8X3Y+7%d!Vgn+2N`+o>v}At(~;5tC+NsK2u1;#C9J z%b6VZ)cJCrmjGT6$r3>)6SbsabVO;gX>!yOl%GrjXbO0v{n-8q1m%qwvszEuEaLc4 z2ZpopErBL9KxTvKNS^e{g}j}dc0&yG3846uL=khnGb>f--Q1TAtmSIh9a^IB#I-wS z*_%9Gyo`dAmNZ+E;Zz5w&%7?IxzyTKos16)`uAX7nA(lH(XO_{69se;_9X~&CfQB0 z0#lGq-DC=@CZq06#>>fzA~lNvVdZ%S0;QOQ$S|$zC|HY^oz!i#C7~C>>-soD#B?q! zLSL?%Dt#%E>3IP2NE+Q{5sPM`Z1Y(mW4Cz(ekZe%9=tKf5|+}|Aw*q2$YET@Qht2R zDr!W-dSSt;8d^EE8j&s>mz}vL;hlOMZQ_5tzf1uP`ThbT-r37g_U?T7mN$b^B_udx zm2ry8$mq)`qY3d%e4P?gk;Z*uKwd7xG7>ko^twF@B=|%~GNR|OEGXoF z?c0(E!(PT_DVy2Sw{c!TT5AK#WNLo%=c+5@%bn}30O)2B$5_6kUN%m^;EfD>50f+pd=WSvlX=!WY z=!M=CojGPy)XpmO`Ac}3mK*<<4E8R8-y#oLZx}>PhH5=6Dz)#8*o88@n2PlVUmEJ` z!po?9?UO>-0cRhfLh7iL@mE-T@McST(eTL=6MXrqvP5-Q7ujEeX1_fw`$Jsj4B$OQ zO*b|U{Q=5ex>eW&XR~^c;mvI0Xp6|~hqPgHfbf})H}H}KVKuIwN5NVJTL>9}UW97A zKS+88?agT*D#~}c?L8yT1WXO5#3Q8=Cb=og)*B{(P%MA2ytB`;ctoxS)g+92&XnD3 z{+HU(t2uH3x%{L1#ma_`T+>Vg~Hf0 zpBV!v;3~i#d52O->pdk1lQ(4!VVhPlytQjQ42@_j>>sE>Lv;jET=FDym^7Ge!qjm8 zOwy1u4#6;{*!%hH%k*BhWI?+&4?}yyl-RHLWZv!{xzi}-Kk}}-H@CPPq>{ae^t%8k zZmc*Ar%fTQdngv@UsWX8Ij3Y^8$4PPkubWsYQ+CC(7@`t) zS@@MY!D)1^QkfZ#kBW8FJ{CrK+q046#}|Z#B4*DBHdVMyDnppEJubQnbrjRZe93MV z*7dR>M24Zd8*YS`RvN~ON$i$VhE}(W4|L)JO?c778>I?N=+d&Su>^W594&>C1rKJB z7=tlECqQRCPA}VoiXfiJN-62C40qiy>}VUySnQ0rqmgkY>PWbqn@Z3u*>0su%qfak zd|*MG@wlmsPu64%``$~&iBm*zOZSz9XKH1;CDSCkBjZy<#$uJsM4*l&#y|F2nJ#9X zv!RTmhRf)jF>yYTm%_XepUKHYn1Knj$;E08^_ip?5=K?a@&$%SahjZ``YyNCB+7^b zbf8?ykrUc1y?mabn3MRZx?~O8;3U$1jcVC7v?ii&+$#;)v4fP$k6RySaJE)3b`x=u{TIp)+ z8wIlYr7y5lDwt>U9UFY9v>)Gy!e%{=(y<1YHBY+vkFK`ZtEtE~j(pG1Mqj+qhmyqV zg7(XP1wNIA6gA`MiIL^Po-yR47vFe5M&$qJee$Q#u`-kRG7F>m@)-~wdliOD_<|v3 z=+>fzXD_-)lz5zDBg+brojrB1|%$Cu7ZOEcoUkE*vhdTm&7dp*wh*<Ri|!Ccnz2>K<908DOfs5 z)6~*l8->XMP0X=#wIB^&_Vef!57hhl54+c(b;#Fw#OvfLLP|bC7d#RUxJ1973avuh z*HnkQd6Xcx=+l0MvsaP9DWiTNHH?8NEA{EV5bj*#%`_gk`A!s^r7(nZ8=8(iF?6Wd zXH&8VTk2#8dF=n~tx7({WsnNVX$TDKxvvZY>Icpxw-f&C? z6eol@QcDkDazTE(BVcooVH@z~qwRx(l^GC+e^43y>tmzJR|ZEHe>K8DeXqjboES7WEoTuCGJ7qNW>Ic%_^-J$1F zm%>C3iWWO_OC~u!XY4@&Ly$NAEy6Q3={s80f3%ADYxt)A)MWe7 zs=qu6Ec@ecFH|MH1Vad@!bd6rUKg}C6Vo4snVR$*ttuX^`WOM9;Bk6B#Gl3E^cGX$ zwCkbTBO<4UIiGMI9ygdjAi*Cca2lxm@rPsd#|3(iR_#1mrCP|@j%S8hr(xs_2{)7_ zXYV*!a`umt1w;NA@-7~?<{9K*o#dk9XjNxcoRm8$a+)Gg`MZSwFXNe!bRDhgK3b(^ zcom#lXopbtN!9>l{&x)aJEm% zbCI0KqRpDrr=JF~y?Gh*CdK}tx9gmlh^J!BJV&(I}aQ=)%UY`dE@D~G`IJ4&Q-OeuP zQM=UFsaN$VO+9NQUfklDKaHm?dmm`EPie-}^py7W$ZHdQ>b=BI3a$BYxnA(z6@Kjf zr@%WSe2q_>KT16{iS0WN-e-Xv@h>Kjy9(ZoK#usGKPVS_8SR~k$6GV;`9jBbd++OV z?00n>(efewslRW7#cI{1^|Gga~vY9R1?O(1LVcoM?Ie{JCH z2>8UcX<-Dy7*AYX3N*Zc_%^9R%>wZ*p*5U1-OG!_)5-K`)n$6rHK~U~hc{W`9YV*h zdk*%r3O`GKqV&ic5;-k;;@TAAq9X5uK#sV&Y%G_#uIi&3-3U^=FiG#;=6=a3yIf4rOOj<6k5ZHe;$N; z4hX}J5o+YuwY)}Lj-91WbJV|xb4u>5%;m^iC47}5-Y9h3(UR91$Pupy9eW6QhXOg` zXM|Rd{t!4jv;4q*FqPAEGr8D~yO6st@wMh30_Wnu%Mqmfu@ihz_;LIScyHiART7-S zGbwo!|LY&=_wjgf68})>xIumd9y=tLBd+s|Snd!yiX+llsJX=75?YI!xOPq&PW-fl zYl9-5AD3&Tp=vnsWkRby;wyz#eQenLF=8*C8^G@ft@6Zw5?b{UPl5*S<#HSOD+P8D zpSY9F>^dCiWx9WxbU29gNjhpD(-;eAw}&=971&AqMYQIrNjwXs+;%*edcF>DS<$Ni zHE6)#9s@Y7=*Iw86uk~`U(p8uv!EHW1loJ_E&{qnxuHovs~gS9md-)@w5d^ zMI4P6wpyf)!$dc?O0t?3Z&3Brl*3c}qE@(u-j z;x~j=R}JOP3SaFdeqQLfNq+*~1>vh*#4iaQ=l>>n_X9rhnKELizFENM2ejL9H2kAJ-s) zcLePtcnUob)F2W0n+I~Gu=)rdp>L~7{&IY1FGIhV(Cq||1?|lX#``sl^Bn|dSWl*v zLk^?IvaabnAdm1=C0)~C?pCq9YZn05j^N$^m?;)_%?DVn=wSd3Fc5G}Ga$HMSUVVc zN>LB32lAe<(%drsM|ixJiGMD1T+27X`!3y^Sh@T01BR7e9 z8%2+L4{^?;y;6zq3&O*AvxTp%fp|%1^&;XLPv>LAk4gF(ehT>MfOfspfXu|>yFf=kLJxT0MAFMlMj z;qg2YzbT!$K<*BBY>=++Y2fn%8o}~c4c_vAPyC+HT6e@B2(7+M{JS8W z_)kH2sCP{GT9?Gn2(6PW;%9?!;y(o8#8q$X3+>=@QjJcN^X4BF^;GwQWLF$4w%DQR zEL@$8vA)OSorg!=F$v2+JYHbL-w;|eK3+}@%jDvUV%%eaKH^^s9XFm^;5`cDi0_cj zBzHUl-W1_$eBy0F$Bk?fcr)-+B|8Xa30ffF<^i|_OO;Ddqg;Yj$|cyQT+eg|NbTXY zg%iJkCtrvc!MiGal_NfH%6K`>Z+8e^<=y}u?hSallv|Al6KH}yJid#??Syjy9Y)zD zeC?cxQ+BGIIS@Y(gcCm;gcCmzgcJWL2q&)Ts{SzD?INd(THm^<)c-^HD0{v zWfm9XsY*Il0JJC?YJCh$neersiGL+@Y{hrrB{H#B zIpR}<)(t)4^-kl^j(EG!+B%5qCJW>dPP{7!cYDYy318D8zF+9ro)h4G6vz>uJvGZ8 z@i{`9y_NuZ3j#jzg+gmSi1#`TJBg19t@$ASS`beBKoIWvAn%CqHGSgm2_5I-B6wE= zIpVjUAa@OXI6A@if_8XnKZ0BoOp}SP5PGw04-y}9y8UPs@hd`Wu84mVgcJWR2oKZY z6dhI&JP>qK82X~HdI%m0+7^bc7FHJl)rXrS%)(so;;HE}aGJ+)$+<7wEk~<<2WOH7 z6eh&AP<)7Z5uDrOxE_br{Dj9lcjB`#jqr7V%Pj@3UiezA#9M_{_aT1BX}AyZ4~5o( zCVnRf5B0WzkAfxmR?zKX=z58zT?+9nLgS1S2i(LzavCS6#IFmjsS>~8;W*MI{=jL- zhv{quA9Hqs?*x6>Lmz>h^T$~k5pNb+2N>dqgw|Ave;Yi=m4pbgSEN z7p(8_c%5B98kfZeEz_A0pCf51?eVDUDdERcGV-sBKApNBN%-xL>r+bo-wHvJQ{uoA?o#D#!Vu+#x*Z&3*uw z2@#+J0Nf!5dJy2Wq6n8i#%admJ2J#iLd2(K#2LlIB@+J2;%R$fy!S*d9u+9ZWt-1P z>w#-}TE@iRm3XnAFkY?1(=s{;oSE_o*H6HC9^mvk;2i(d( zT&{4+N}P}r$9RM#hx^Qw_#E&{!?`C*d&!?;#uA?(m8v61g}W>WuOi%n$GwgC5w)O- z@Hn37kUKg_b4B_jo_HIJ9PUcbu-j$Y8V%y1dg{cdBS-E(#CtV| zRfN0ns5PpKw3SBH=fJHrs)Ev}3Q7Ydt$#t8|LQnOW4hY&E5g}$;(U-pt6}l42yc&* zAjjPXUDHk!Vc5%>p;h^10BB(bfAZdb$FRAfG6C;<22(ui^u8l z@wClxQhrO~Db09`C0^Wbu^DjY>2>D%$X_q~c&}hh%8!@koL`<0`MCck|83!`9^&64 zw=8{6i!#SVM!k}_$zal=f0=&uKBo17^y_U$t2Q02BF;FmCx@|jNebF?G3~1XP5hx~ z!%QFZe~z!OW6Gay{efyO1LEL<%g<&txJoGdvf z@%Rjz`1|9e$XSYVi&H0On{c&$w8fD#hQ}=@enq4-ziJIR4}=?9PR@_xWXYM0!ElD% zKu`_j)Cf1!OU`QHhBlG2Bal@~$vJ?>EhWx5XWX{QIU`)HXN^nF7kIqQ5Wgi-p*7^p z9_K;i>=14!OU@7;w}$w>aZ=>yyiwy4r=P|(Lypc8Rf;%gORD z>d{)3#H|gXC)GdlzQyC^@BsK@p*79|c+Lep9=;su+>o^5ITf{`upp=Lh|dyQ{eyQM z76mlW^lt_*-)^E@O+cqYKvcha4{_du@Oiw;k=G@BwS)M1p|vD|%3mg@ZH#gs;qfvg z{;AM$Uzf#GI~eb*$mx8CxW?0Pkn*=3|G$SPzi~v_hr(BTiGPN^W@-}8yC`>GDicjm-9J|(;1oS4f(wG>0U*AtI#^bCcZ5Q z_ju%W2tU@xD-XKK9M8}>vp6|{Jo$P>L~D!q6_L~U#PtL&_Ac_i5V<)0Z^3)`1pfEJ zS3SgM%3M!-InNh)bAvfx$mg9nFDK&MmUb^C{$ddB@#ce9D}1fL<*8g;pNzX*L{up@sp1|i!*X<;JT4*g#;_nCHZYOzXgde9*{>Onl@hd{dmy&c z<5ixxZo{iS;+G^|tdG3Q!jJXc0q@}x_z#4ydWa8U4E6eQe`EYa_}U*%0?rkT&(1=* zyP{7=QR@3Kpo!}p%-HV7;O`K9T3=i-O>|e2ymv%S^LGpQ-GFvGDEBoU><3chj-p}c z7+5~`?**>6o8qzm1o({ZV=>iy6VR@YyvM?iOP&1hg|E3KJ|^oFt;I0@G~sLMP6u8N z=uqxk(WiD&-xQHkn)qI!x0K4ot%Gq-Nqo%*PZGWgXt#rMJcvN)QshfT z!_a+TdFdVm&ihDCyWDB;7~M;kYQ7F=mm}}C@Z-`Y|Do_Tx5TH*3@>i8e#^{4YceG|lUo@jeha%?I%XA{Xxta4pHh zgS?+!2LGDG*L>Xsen)7{Kk;c2Ps54JX@$KO*!pKI*p zSpInV5O2eZ3@ZW5BJ__kOGQT0B5pEieP?eiKQ=&i}koXTmt0BaH3c`uc!WumPqA>NG6FGIF zZ-LJjx!8dzR}ndNq`kn;2Q=epda;8uo^EoeV-Z(7wIVY+HJm!0lJqs4xZ0!PUNP@L z?h+oKoDruDUh%}Ih#qZN#Cgo-;jX6)xjDj*E8=FVPs^8fVSSAFaf3eyzS^OV#B?W0 zhk1Brg81Yw7QU7@@%2LMz|#!8HK5&Y##=6YYuLb73a#Ztd{q!mT=i;rrZ=vyXHz*H zU^BURdPJMHi2k@d$nO%q=7;!eLTi3r2fi<$JwI7IwTJO~MNaJ{-Y2w%6IZ<&p6QMA zvn`cV`!l&XKeTDT=#TSr9K16DpZE=-ZDIiYhk*9{Fy2SP*K#2KozUu!#5G>r&KU1Y zk<)zKOXcExW%@P$)c;uGX-7z0^=o)&*9nB-hSaA3R1ee-KY_X+Bd?s`T$cQExJ>J- zbmGtaDQRs$#J35p86$o=2q%6%2oKY1mGm^D#3_dn@85En^Wfc(w6*ex-xOLqJ>n07 zaN?8xgtlq;bl`I&ZKa7f3a$DM06!Ikd%7#3=Ogf|lFiOq1s1c8+vo)6@k~wh1_kjM ze_w(Y0W4OO;6ps#fe^o-K?Gk(kSZYlP=g3o&&qTYUxNq95)1@E#9!ASf>S{d@%J={ z;BpW|{3{J2NTjsX4C2!Qnm9`kX%j3Df`~V25W)LF5b^UGM6hahmKow(@IWEKaVdFA z+sc_`yG+bgwa;?A!($kNh3&95u~um+N%;m)SW4ZRK%xo`sF~{*HF`nP#`kbvpga>|6jp zt>F2))bKph@pBe*!SbGQWpWI$zZ++Pd-*ntpy}g&Yj0$ zO9)#~v*~c%jQtRg(@!c{wz7M8ya#suz@SvJ>kb|uG!$v!Q&%mJ@A_%7f(eGfd9V8>6DoG7eeclllY^#)T806@V4?T z(WA86(T8#LBp#k75njSmmGl!Zd*LC|eemW(C3%F+cpyrU7p(!W7Y{`V-@pS=g1qRD z;FaZ7YVB+f1HTf`KLWolhR2=pN$_vuVG@Kh@$L?{+W_t;`rbdlsD=mJ`v80)1?U+7 z+5ptc;AzM|#52Qg4rvK7`W*uMd-l*_(EFr#6Xq`e5KM;fyKNy4) ze=`Ut{yv@=c7m=GH*%QM{KAE~c(Tolk)u&Od7IaOw_f;aGx2tz)n?*bgK*;8f^gy; zK{)Z(@x(Th^O;Dghq6xQpnN?KteC3-?Ip^}n(_}Rr`8akC$vtsL%BJ^k6R?;&lSGr zE|gcjTBgKTi=5i$a%;eA7QUuWd~^aibT-M;c-&6n`p#Iqi?aayX979mD}~niCh^rm zYkENCZ#DjJ#^d^l_X(}~iSG)+fyy6w$MASO;tS=ZHMZ*-_}__~=6?ZX7KvP39^XTT z?>c$CJxT6|R8AW%<(5jkxFN3ruU`0?U*dc@(iic>c?Zz#hg$g~?~Q;@{Ibxoy_DN8 zeDw?BJUN$LP<+dS_-UunNfZB6Xsr+8Uj*S{`l`ofjga|VU;jIv#o{w@UcxP{j2TZ#=|ja$1y>Q-_I*j16F)=!@-n z5xjiEI3RLy!#xHbU+(k#5$E*?pF$w}@<+MzBByo}Unp|1-I<))O}Pak7u!vzoh$s< zZe9bqh{x?AK2PLgyBCAkDtvVn;unREU6OMA5}glQ#6J}}u9r+s?WWv$k&E+}$!W(= zxw9e{=Z{xH-WPtHzb)YDCy~@{;%7uI&fjO?-4wpc5r0;W{$qP6$9EJxf5e{=x!9h& z;6Ek&*q+ zQNJR7N#tVtDc3A~tsmlTLZcq>5)Sb%oW@Hgq5f9kYkd*d^zdQ>UW6e2xrBp;>xA)E z317>L`Y#5w%XNWQ626uT@pD3J`4K-KgnK+*{kR+Oi9bDs^{9591O9nH6TcDAp`JUU zN6Rnde=B?~uPnaOF2{7Qir%=sAAtW;5Wfa8`rf71%PG*b(YHaKq#vio<1YAN^@Vuq z7j6fKi2Q)Hd;&T0)(cqkmD?<6^{>{nhX6_nDXN;q6-51Cy+k@-g3!zJk-#QIjyNm{sNf%9mM~i;K6k-J=l28el z{Bg#)8jp9W!o+`VcqlaS-Vk%iY`Gc4PYNA(oQJ`CU-;_eK;`cu{{I4x$G-;rdO!n} zzkB$f4c+C4KP$ARLtH0ps-L*75MnzPK@Vr?ILRfbR}}xt-y8V<7#@TYoKh73%O7v_ zevSvBUjuxjD5tzXDvJN*kK_~>071S^Hdj%$*J?#gPMYsJWf7DF?F>U3!Scz9^M}Bz zh-e?dn4rBL`WncC8cJ|j&`tvTmIT2m<%V(I0LxRN^zneE6TTPF9*?{;c#u(N%>crt zp>{Twoe&xE-#US~0ySyo!W3CJMob%~iPCG)6PkwtK=lqM{J;W1q{$Cm^ z-zO}eg37~#tTqE|Rn!$N2FW|G$P`1{6(!iBs0+>o`IN9acxRTMeF%EKFF}4KtWHkl z_ThdZ(mMcfSW#DV5TX3$2I3x01v@BsLMHk2jQMBU#6Oe$L%IwEi{%?xb#Q7-Dz|~ZvcNB(2H<4r3KH_ z1o8-f3Y}mz9;d@}nng~_A(M-1dKGkU#e>(vnG~=30Cj1gu8@i7WfjdZalIT7&z&f@ z4G(7dyrb~3qM;UsdYA1YPP^P1$h3%@7H1o9y{e*g3H06|{19;J@?PdNa3<|^UN2qA zbrRnW*&aObHUg?5+tq}gHx(BcrsILAYbD8d-~$#fW?aJK_3WZ|!TV+c{!ipVMP43V zeu92x9Dgo&;TY-q$>*jXx)%Z+{8Qydo3v~~i-?*-w+Rj-Cm zqE6AP@rln7TEmI!9;Jp8pC5!no%~(E|GI9~@r8S+nvT*;XMx0v#~4>2<2tCn)p0+(3^T=!5k3F2=D;qL+0?QjkM6f~C3Vw*Z=ocW?kn*#68t;_ zW_$+$`0fqRBLMu20#E`qx`Ti(=739}_IEI`r$uRpr}Hk-;agGev&8QT9dCUIVGpz8tc`YE?h_&Vsk30&V7iU%R;`atAVAMrCnYxxk@ z_l`82Y2A`=rHQMZae0!Lgi9&lPYJE@+|EqS$_FwNz5g@`{Am(j%Y*oIp*3CN`rS7T zCq6$2_w+dFdmWG0Bk}iz)_L?<;M|M!?Iob{_ZI#SyCiaP zIWW!X!AL=z1C9GVg5{5L%Y?7xMf{G?>Tf2dc@Vyq2e-CV9|mEpLWw_+aL~c`SJs2a z(P*mOg(A*fK+hNPn?bmzw;H@#!jC6!oZ!upkxT1|_?tq`t@TNK zc@R$gwIH1M;UL`8A&;ZFmoxEOLdWHq$!Yyl?xx6TIT61tbll&Z0`Du~$9_lI2g29< z5T7L@d|d9dlM^eq&+Xm_cwwrRNgs*m80e&N(f$AT92oF}}1l5A}dmzb` zcsw=db6K%kMEjh@8y}4#sta1;Z9;2CiSG@<4*=&*RsP4D$UA{2*d}n6`znL!e}3ZS zCY%KCJ>hGa6F(!gnn3)UAl&1f2JfEm<2rZ*-cvzctpna3&>o+1^jo)&c#qK9M-cA~ z!aW}4whKQ_mormMC-xn-zcaN=QW?ixk>JQil?^^yo175IpSXm9j9{uymP|W zwtXHr7f<=Vk-pD8cK422;4cQWr%Sn?B))y? zIbDFonD#tg#%Y6;94!% z^C#;oJU*g%EQ;M1zNSX}q0suq2=O_xcF>-b_(Gu(4#Pt|Di@b3*CrhzulkAW*Bi9d zh<_7=yFSKi6Ta#r&I1XbHxn-h;l%F;;lx#MY|nA<^$LgDL;Q@yQ~HZEp3-g)btSR} zGCuG&q2t=8+*09dy7j=@13J|Al<;+=Bfef}t!3gGFCGcW+a+>p2XTIdBEPnwTv_;P z2l2Z?$M#b0r0_Kz;ye#=Zzuj~5KjDd5bpW82cCY1LhT~1Yqz*HQEsuUH`FfTD}>fo zKzvmYPJCSuPJDe3?&*`aU-+6naekpXe}!)pyzhh`&!{N>f$+5#BL1P!>gU8i3c`th z?BSS!5Wg(6wiDuagjRjT^-LvhHwjiOvw{^2ajswUqfI8K$w)`Qn9eAP$1OK8m}@t%Mt-Y2xmbLGZ$cD~=C99`VyM{TsF^WOs2df3;y?tqA1V)5SJqFW3*f7Da`;>9yoj?4Ka=vNJU zdqp={I*%9a`MSJCFHPb_w;T5Ku^ff1O~OU*HC)sK@olnjmyhUY47+?p`-<1&WBv*| zB3XfneszT8UzDr(rWl{67d_9g*W(Q6&m{PM=m!!k`f0-Y1rdMtIaW9 zwCWV=BUyO;Tt1>zc8nMOvbEpiMW^)_eK2__Y`WFo^+fb$!^L)s&wu0FAIL}M*QUvJo3C)&?kz4t`lnZ%18 zZTS{^SHB!S$HF}y(QSrZ`_F`~CHS6EtO0oIXItgdXnd|sqUT1;QeE^8OIMWUsf6EW z;YGR3BYdHy_faicf5$ZX+M?H6I*%8<$*@~#(T^nYqMtPE?Tm6=PChFvUzdyM(+xYH zXvrYTU36~}FZuz?wCo5YJ=Z`k8Sr*am3u=-yC-<6im_2p{l z?FpVwx>KxvMSW6UFY}_s`e+y}vN=jcu`lvQEfy^{vrT*tNc5R}i_|c?FrsfZ>|<2) zeK8)NNwmIS9r1Su*Zv@l*Egkp2W|Do@3a1L-Yc}o}Xy1 zx5taV%i>*YME}*W$BQ0m_4f3!-t!3854YCaz!KpNyhBRmVSEfXsb;o8In7LR6RmFq z*N-LfO)c+s^aUi4DSw`eo>P@cX!9koyNe#4%x=+R^I_!ZD+CRlW@VdodU zDT%)g`V=d-s7DWz@8edE_n+vUhCLtA`V)82GgrAC2^Q`3aDLHilX%hV4ST$3ua}o6 z`qCs`^m41G$BXv<_Vls8Uq+4xOs?J@(G!w-i&h^-c`hWMwEdzFmhVW)cR71`qV=8h zn2%`xUVN}#-~~y%=tYJ-UUb?|f2$wVE}B3&#da!uyoDF_UE#;_a%3n{558nLgZH8> zkbkD}F6E6`i(bjrPn`aM_J~iLwOl9C#pg4e43YL{8XpA2J=iCq_Zu#jrb|hFS*aL) z4dI^NCoQGdseE*jfcB_%TX0OU$?feIeI4)6(&h_>h*18~#}Pf60xVL*&Ac&Er9U4dMW_xj zQuGzPmQsZ7b;d~1l8HseIvR*lQ+sc<>|EQ_CYPdPB|6w2=y{0^wpV!LSRF<_hw?@o z^FNjR&gG3`_;2O+S9qqI>*)7;B+R7=j``gV-(8lU_p<2w47(PJPJ3On@{0A!^DRzm zSCh`Kr@B_@T4)PzoK95lV=W(#&+{p2q5eq0x$q7tE!W2dmW3;T=P#5tX)Tgb&@Fsyb27&2 zHw1lI>|;#yeY{a>Mq8ykemS%x6vwV4wLZaTL2oqdS|r*<;nf$NYL#eJI+iDTk>R3k zz5(f;W>x>hHGE8jg>OjZ&CM>gsJW9Y1NX)vOTDoi1>b1isGhoHJv^y+-cWCd8mh)c z{(5y*Ij2~;&L0JQI%!;Bt}e_<>GkC^r-i@U<@q*&*Yie4CZ-o3YCyQ#5z*ckzNaku zh$LRL=Tki6sS@68eD3J|gx_J|#i?OD zVG}Lf>pL0x&IHGDx(Rdrb2;~Cd_}n*L%8xQ{tX=Ey5x1C%L&o9$BMivMfV4aq1O;1 z85Bcf?am}d>58$cY&V@o&???I97R8CxTqddXIERVhUiO; z&&446D#ISX6MA=o_d@SWFr+=#^RIYuLU;2amc$<&hA<&EDxIvrXp5kuOeFz<42p6DhMi>rocUmAM6r}Df!U2fs#Svt2YqCH*Ff}T$X zH}OVsiTrzFweVv5 z&LwQCg%^j&Wev=%ys4sZ6?-J3=3>TX?g0QiX54$ef^LLTv`4>g3GFMtU7p3T`;Ub^H z`V+p`E`7>)#dgJTjfL?C32!1yI~0*$^p%E->lIn7YZE@v4;wBzu#XV-biyb4d{cp9 zen%2Ehqt)MfjN6dL&aK&UTL`48ycVsE!?MuQ=wNR7}6f4?dOg8iT+!z#P)Dpic(W1!|ioG(PIr4dtG6Z6Fx|L=JD?-ys>?v z<+jypeK%q26F$+K4#IaXVV5O*qOblx@)Zr#q417O(u?-~EVf5sM<#rtk1<^2Q`oeG zPg*-S!I1VyHqPhiMT%d(Dm}&oWw)g zqp&M@W4%QC=ql>BtA@S7 zqE)@fe;4#U35K+1G5>nLUcWqF$Ev&P91Z7P&}sdF_NWby^Tzs$c115L@QZ}Ml<~(U%!6@~tAw6|p$*t|WY`@q0O<8|2c|{pB9e z9JHu8-S~>>r%?MvyfM9K8OM4#EFyIp%yt zx#oN>$DFSy*PPGgnDZ6oD!%!=QLf9OHCaUrnLQ(*V!K2iYq)4g6s9p7`9!-sigH>) zxXZ!y4QS7m{ChobOfULr!^QOb2zxo<6Fn@^51>862^(kOUXEy=IEwj2zL6!DV^QkE z$t!Jr$Xvfk65JQhU2cnOPq8h0U{Y&rh^=g6elQ#pk<2o}cIy2jNp#yM=pxqOUUS7UCx8{Rxgze~B<1 zVb;r4-$cG42^Xy|xeqUKag3j35&d+;h$`l%bT?YK*H^Tsa~DSR?G|5jVe%iT^pPx{ zdyLQ9Bl=;(uHjEY?@n+mU!Mol=~09q#T(lxdWzv<|B3H#Ugm#&IEyz0Xph1c^2V$@ z)Oni#B-O_$#!^grDq*rkF{$YD4HxbB1%zFm@QH3PZ7%X%OZYv;=Tdo9wDA?~z@gG= z3wLRX)_AM8|8f*H$7c0|)(EQ~zRR-kV*9obevR?_=(!Qv9WyUi^!6lP^!yU z;zd85#EX6=i5Knjbg{jg2*1Giyxh&uR~vTuiS~MWyzgh5j z2-hx`hiJ_aQEqv;Y3 zHz)C;w-|N@UG(*aJ-z5#4ST%k2a|Zwk0kMs_NZQ4c;iNa(m7vI4mqE!nivED+=lc^3X^+O{!@Tu7fMW@pz{?D$kIAS`vURRl z?=^3w=qaXM#pQ0!=dBdqcHXEpqMtSF@uFWz;zfJDMJXvvXC_f=Mfe{1xeWq_ymYaFm+E;F}7m&(Gi6LVi z$=-k7JnvLB?{ePQNlN{4f@84@2&?kaQ~Eg9SUd~SD&M{j!`)cX+Y&5V*^)HYEwZYD z`w~{s-sn1&Bix&}N>*?`Z}Pi*lNzEs;i8=hZsd&vX92WM86u8tdYG`C7VZc7dqmr` z==d1urH3k=#r+cFkBUId?B=cBroE-pm$k?Jbn-KiwTb94$ErwvBi+fc!!iertM=*_mGisX%>6h zX^;&Tds>WLK8)({a*Q&ZnpJrr^>Lq(E&6zbH;zHoKm2iNee6%7;3=KR%P))RV<~S; zCHfkV(uaSQ%}taVe2+)zV+U_crN4K)JHetyaRZ71M$m75>8j;K$X;GTujAteCm%y* zk{zM3t)pq@G;3=XbU0AoMMU$~@}b5->cW!exJo(d&!#4-xt>`41`TrB%!h;nnHSxe z7u^|)KAoDc*cBIO4hvEq6^rA`3_X?cDEA4u!tL+YGzwYZe@>R)C zU*Jg&Csn+PMZ_vuB|@rD6$YvDMv_0Iig<(<@-aT1buwlizXgO<($5s`w=~Tcz@*#9 z$%M3onB}~&Rif)JJufFo77u-zVVACGZ>>v3tyNtjf2`2UguQCvMfXVIehE4B4m00G z-g@^_e8VifIH4(jREXE}6-`Hii@hD4_sFLS_J|~%=pzjmoqmN)O!!1EGhCbyR}r@M zAmQr?yWGOPexhG8?AmYudJ+ad8oiCsK4TTNMfu1Tsc+X+gk5Usi*D|ngx|%>R~zo; z<1(95vadEgPS7!y%B7?lOiM7)_Uz?f)i6p;wDT3E^bFxwSP`FuvS&a4id{bkc`Q*^ z@}@rxDIs{)-cVKHU=44CZvk(t0;E05`FA643>U4LvtDt!34fLFA@*a30N?KUs|97Z z-_&&nENG>%@XuMinyrVFvNkCSE0~ojT8b5|wCK@EJY@EyN}2N&l~l}(aPo5{&-q@j z^j@wz5;=v z(Yp;7^?4&Oe`69K^H&`XR_<+tKbY`~o{Ljjudm{J z*!aA?qF*uW^_xZ-|MkgYeU`&2~3>W9QRfM%9 ze4@`bT$G2}H<>r)C))L~cpF1}+j-fk)5jhoKcSD&$cRvVNXfZHt&g1^N__TAhl& z(mlkD<1;=pAx`97%==&rc=bymH}J;in!|D7dE@u&^nJYHa?`^zVk}c1?_6GeXD~iXAvW`> z4Nt~EKL1wuVq~&|_eEZP=|#Vmvzs?Q=MtuG3&d|Cq~SLarjn6RZHi7pZzIt5ayRo0)a~rR|^<3q>j`ryr(X05>_r~?@hh@A? zq#4JjzIic?H$LirxhqW?)x2`lXYyvxw7v~p{mm_**>@Yai&Vkf3vQcXR(hO=QTSxrMZ)X>FC3fz{>aT66d63dtPy4zzSP zcjdUVyS*pIHMg|XDr+OEc6O7er)sZ}CW0jMYENqn4aH#>Fe4=>XNr33sJug9TKPtv*<>JqK_&_Brzv}RfrHK=Uly03IBKe3ZrUcrD+d0Pf z-kdGtYb@|>Dt(0fk|CP$$v!A=ugAHiWq*V3gMp6^dse_V|2VI+0@QSdNa-JW({ir( zA45uqpo8&=?O0Agq!stgmLUZlj&ZGZe4p$bQrb67Dg23ieZWX7<{wx!{?qsKkVt*5 zj_>LZ4lPYttrY%5zAphIt(g0_4lVusDd*9@G4AULt?(=OF6AW?MEMg{;yR$xXx`Q{ z>Hi*9nvyMoJWlaH;Ej2UZ~53mN|)Us%AXjgphzp`84R9Wv-rd~i9YR*Ex$a(P95s` z#GfQDZTrOq(jh98(AKwe}`HtQj9@Qo}s10_z^zTG&^S)TEa*s z&rn;d=K(|Y^AE{0)FhV&3@wc*NMKm$h1d9MdFlNb%L}g^13fRnvJWRESbC%}?#~Oa z&55LazVO;YKJ&hK;kEw(UXK_*Ltq2{^@H~yZ`mAKhINVupBb4s=o3~;xicK|Cqv_rTqgO?hW9mj3_m@3E9Oa+LdiD*qkeZg5AakLK_fllB}BegVvfwf6*wm%ylu;gi7q z7=Tkl`VWIo#JKDZxB~u5lHVHeD@lGm;P?zi``1z4xHshew+Z}OQlBq^4<#NK)Y^9u z_=btTbt`#kO;jR2jt@;G|2s*qEsFh2ybBtcM|_N_^%26E%?<0>j*DCgCP(3 z_3;^u^0YI06!O!Yq4D!Z#H-+-mY?VI&JQb{J2pBQ?Kp4asf6mY0X#dY?^nRbgQqaHslDF;$7e9= z`vb}w7?aEUe}d0R@ZI1~C-?#IXA}HO@P-8M0?`;aN&FJG#MM#%t^vP5esO-*U-39E$^VPs zFC_6_1IK4D+IubKUBAM=`l0&%5WE+>kxB^f1h;)0o6CR{ehFNmy>yf5rv!0%i{JfF zy#6TkfmXjdFRVl5`4!gTA-_f7)+GH$!0{Q3_I6TUXHx!o;MEDf3jE}-e7x$f#H>l; ze+KRXPevXZpHGA1GZ^*%-<0>Ax8(94gPsjNB(Lvy@Yjfs<7+DTyI`to_5Bd|2C&wi zs(%?ApTVeq2jxAQ)cD%lVM=-e+2Ia`*>)uUsm3e#J@)TCL(>`p}~IOr3E}bq#uK?d=mKG0gnS82A&!4 zyTF>0wQ^B?^efDN1Z#aLJRAHJ*!`V`(mb$^Z_lFf{zaAzXguZ zVCbKIE&4}PerhQHmO(E6M}u76y_EOsWIX*0{2MS`z&q6TG7|EBkXYcqw=;{U^Kxycw+V zCHzV7)nM%_2={}>eaY>K@WtT8;381h>{lej|6}kD za4hdWaMLBe$E^5=!PT$$O=V&I8uy4x$s^>q54@Z9odcHs{U^AC_y!EB_!}@(XMUCZ z0{@%9`@o|Zvx?VW2RraJzqKGdTZSz>gP|WM4RU$8J#BPm_~?gY0c z_#yCxhinY<<&e@7;7b$y9C%ZL{{n9Nrhi3Q^*M}*bn^d|*KahqlH~th@M`daQ2u=I zcfoQaH6A_&{yzA~fUDqpllb$%KLw8s@mGQ4GZ^}z{#Z!+CQ+!``(4U^g8Cp{tN-ob z-zIoF_{jwS7F;F$sE}S4NPkCs?2kimT+Sjs_U9<@^6oAemcRsz)vOoFM#(ZSij`|`vhw|z49;YZ_*)> z*C_Tj|3v&~+9&xO0UksBE(v%d_>EwaS-i%}8Q(71-wIRu*~Gs_`Y5jtfxEv`D%}mg z;&qvH`t|wzQU=FoF!ZrPc{9J8kN1s(T>gcWx8r+UferH50-m@P9SZm+@XGJ!`?t4& z?*Z3BynYsN>%aQdImz=k-~-^hLi{t}-zN6vC2;AMe1CZ8$WrNF=)c&%z1AMM~dzwqAxl6=>JcN2dTl@iv^DE|A~ za{c}a_!e-K=N9lK5BWE_#D6RJUgEudLrZsq<1-lY{RQPcPJJ{URi8(}I}`jIco$gb zM2bHEUixsUG(X^>Z=yZm;WR+;Zw6ofOV)fL{ypIM3`TqA403r3DDUB<|MYhVF8>wh zwW0kV2R{qm6L35Dk%Yes{L2InfDb(GXMU3BXTbwU=K8T2{3!fe$WP<(pTQ3$>AwN~ z1z7#5_-})Mp5R-+KTGiK;QN#G_kiOw82zk%W(S)=7P_rf8%)gFnD7!o<2Uv^=ljC^13MRoTU952DyCw z-Ie$ZhJIf{c^}7D-$kL?fBZW5SvtQb;A;lCKHnSU^8StTzL4nmo#4+W{eLg`yaelS z)x3Fl93MkUkAW{p;(rgm5PY-AZ)oYi!0{Q3{?rwkG1Sl36GKXG0KYxKW5DlB@H@bB z-=5p|so?qGxE?tPdPXxa)iJuKVEUC{wfZv?pk18Ji(jne|XM#^bUp&7dr2+6; z;b+-v{rh?F-zDiU0w0pp?<(-c2N)CV1E@X!0$v23M0#PZce}yk1J?f0k;8`A`HSLz z0{@$m{O<$5A!*OA!0{Oj{rV5edskAQ{|3JsjGJ%rc;guEKY*tPd^9*dgHgY~ALR08 z403rVQ{FQihU4;^{(K00*Bgh}nW6MW{z^0QkK<(t@hu6~-)4%>VDv{j<+W0Nw4dGJ zPO#Kg_VH8Tw!?Kw!TaD}N_z4C8~9zMdrv|w`&kb^UFAZ{euMKi}>GyU9L!ZXHC2B8z!yw$BJ!+84JC^cpO2+eS@RkHG z0^gY6kAeHc_#V&rY6Y)ivu-kCIvji!cyX||x^4b>@Ud?iV&BSE{MFziI6amBGX{y? z1Wxn21Kd8{{pT^*_g{i*pJ0DHELr=e^4BB=FN0`F$_prQjRR^ZO{m&ESy}{rd^RRq#CcWBbnmH!wM!80vE| zc+?kUi(Ee60B?QH|4e|=Zv{{LiJun<{}7zYV>|ey_vZ5W75Iz~VB)$bUZgZv17Pw~GIC@Q#}~6AJNF@T$qVJTC%YfWFKN@mGP<{<wn~#rM!B-RJ8EAPwudl&dh#`nljpBKQVxA^&| z+Bckme(MkLF+%*?!Ow4{4FSI!JZfmJ?~UMdPxtd|rT+);Uw?;92>i>z55RvuSmUD$ z+%ycpqxzo%o{#;R30C^AgXf^Xd>Fn4VkGrj67Ubfi%{NLzz>2qKPz76e**kK(m#I$ ze%N}@2`N*#vbVJ;Htgftc(9Hcn9^lBc#6#Jdg3uGRgRVTF3t= z__58ozWoQddK~*X@XLO^0KS{~kS19AL*G%X&sgx@hK(j)>Erk$Ui~{Ay!~zY_&Evu zi$i=pB>saYW$1 z89eQzT%HespFS(M$NvF-?{MGmP<>tm&wMA!z%v^Eseys|{70En8Dq+S9QfqKUcLu> z*F^uNP{q#%Z^2$jA0)qj1n*_OI}@z(Ryj9}j+hfH4yIo4~i7a7hL^hE{`X`9naV69nS3GJB-ZX*AtfER!_?ab}ZQt%DPNAg#DTfq0BU&8|)0JrVU z({BW)= z7kk8k|Er4sdS1V8gIC?=zsaHY+yYMLuY1Ac6a9S{eAIeua>(y_@F`Q#$$*E9=e`*A zIWpkU;8eaxfnRFG#~9-BnN}Bn0{Hx7zF7#KMES6zf5S@4z*nA_`+uv!b2!Z38uHr! zUi+I|-v11KejayFN?zV~!5?CLMt$7|K66iQ-+lsq=8$}RJ^k2od{mEAD_GA<(~qc z!1&NJn(~){)AG*%H~uM~KdRto*XH_jP96W3z`uG+KK{Q7-gRs4KimjD7kM8+d20Vp z>(W08UVcNq9{D}^o-g8q1pYrM9{V5VH*^Ahe^@@A#(<@LL-}_Mqx5L-HuOF6zXv=a z(ZAVBk3EY0w-|ilmASlDfG_w}KEGDMhmxKyH2paneEYP#yA!}6?*%{2_#Y3Je0~o;WnVr%Ujd(<=<^%i#d_x}xjlM2_~tS` zT1Y<`eB%4^@jDm16y=Tip9Y?o$fFIM_J1$ zc=O%Jd#LBX4?Ow{vSE(@489B;=a&ZNmbLg>aejIuco+6-PT+rs;wdcZ=QQx{5&8I- z4^HL37~GraOQkOUQ+4>W;AN9?eYg;OD)O2h%D)192IWV4^j+}N*n?9;{Exx=_vZe} z4scqZ-+-@yxgp5=8SrD%^6~UC_{c*x+I%H{=r9Jtjzx^Yps()${|bJRoBmB#d~+_p zMc}=M3^DzbzI_aQ$$RqtY6nkbd_{ZoS#b6Ayge5x{cVhwP~PR>3-K>53+?;9;-}~P zKR*JW$#^*`#QzMuoB3{dz)yfj{ryJ!PL$?{KY@RpwD&b|Dxbrs>qwL#rauaN75XqP zDNr~;>2Ff1*iF)0-m1OkB@`ji@osl!%FSoE&KEKZ33UaE}ze@2H%N) zfyuD(dOi3^=GXB7{|J0pU+z!-0z4mmoe<)m0AG!KqrM&h@A*P*?+;@jJUJ@Q|Lx#K z_~WuK>c8>e8Ewo`;;Qu)|KI)HOftS&~I9{FtPf6nVEvwjp3#htdEg22^ZlEp;9IfhHxVy=D}(oZIrnF3 z;A0o&?f*RZT>RIY;g`HG1urN6LoNM~(zn1bAC9ni)V>?QFYV0x??>R>AI;^r3w(OA zpYRv(yyx=y^G%aWrMu97sj%wzc5r+&zf1gtQwdZr-mh1EVgbTnk`}6+07JOQg|M$T=r{(tOcJTY&o8#@^g^VXu+VXz_yz&ou z|2z*KIW@OOe+8%YJM{07H-nodSo*QxZDbbfI|Dp%J9~C?fa?E#@XDW{Pocf1f}cJt z*Y`8PwJeJ$et`_H3^2$AP1NA^kcD{5baclu*Bw z;6q41BBWmfPV2X>4u2keIsU-rkpAo7yEu=H_G24($^!pOL6YzP0w0QfkK_4i@K(n6 z0xGQdSHKGrd;13U?IXFpdpmeJ?NR;2KN-C6#N3|E1Giw~V|)G){4o6;?L!MVAJ0Qe z-Qb;%=l%6*a2xrJ5BXmT-uzT9zi)wuV^1(?R{r(i#qY=82>5pJyiN3B@IQVGp8Bqh zX7ALWKL=k;{iD6x1^&&nT;Kly-UTKL>;D(P=c8|t|Igqvj?4LnBgnLW#?;}X!T0@$ z^;oFSRPa6IANA!#@Tz~!$H#}kjXQWldz!(={=mQQCV77fyny*{M2J5h{2(Cq_cy^y zcIWnLEBL;oyluj}7-J#*kHOoU^8J?`;PFr9_G>qI+j)6@FMuDMk53lT4>^whVSKa& zd<6JN=AStMPXS*FKPKJ!>tyi$;ko>lf>Zge1W))t&i^U!q0i>!Zvx+SQLYb{g5xuu z{jqO?H(!z0?|Sfqv>)}h{=5x*IPx0{mOLK>FGk;v40sRt*e7!N>;q4P|ELf@1Vv8k zI}*IAbtNbpwVhdHzSC)Dvz1@AvApFb9Y$DW;!$A1EknwPIX&jgpzw^;wrfXCB$ zd|3XMLfrZL{QTlu;Eo;0FvQ;ue*WZKo;$$X|5z$*4DnBcPin~R%>nTERrz=yI|F(>vSi@h2h(tiOw zV|W}NLrRx|S5+AgZ}9xT3vR@|poUi7E#L+4t9;qpd%@f3zeOSb7vMXQ*W`fz0KVh1 z`TR3{CbCHQ4+p3Hdkpw|_!%Nr-t4;glk4z@!P_Qn4F1H>(kH5^XV3FiTX7L z{;hTKw}BTi-^KRa1Ku3Y=QSVi0MDiIYeV{{z_;TM&JFk#@M|Xncw}!>(27xcdk+KO z(%|wLLw|1IWgb`;4OQ#NAB?-0jK@>3Ghnvdl>Q3?@n+&e-0`2 zg2(qOt*8GgcGoz;nP+zW)i1{ipH&7x4Zm8|^R4Y5cr-PO0?KLpGW{GJhVt zlk)Y5e0|D(OQ2RwaBzQ6VW_`zg;cpRM8Z*Lub9{ef*l+E;VfAAN2?KI>BdQ|BnQ#e%rvqk$3FxhrzdhJ)d8m1b-7-q4vvO zzX(pte-%6deLg1SH;RhSeQ!RV$Ag=i^YzC(@YTce`z9;FOMjd17j}Rb(EdpwzqQ~~ z;g9wGGB_>&8{k*k^7;7|@Pp5iM@WAkxM`bC5WKxlg0FsGzFvO;d_MB=_6;e$3QqGM z0dIp+dKSXBooeRF7`!FMiIsPE{j!7FWUgKv8cr*RWv|;>J z@D13HwE>?CZuw2#AO8%#lk~V;6g#x^E%4qe^ZOGwg1=4Ss-ODnZt&yW$By=(RH;p^ ztZ(k>tyZSCRy!-*{nJ`YVseSf$^_FXu)kdFHsr3ZF zuU@xS`ufWK9kohxTe-ETxwq^YmqR(FN`I+V`P4wAuYX$O90ouDWqujEze3OnGfN^n zTc_4~2Kqa@S5u|twzjfRg(h z)yY$rL#SnK`IH7adz;9#wPQ`+Ko>dmR%+#H^9KG6LDlBI{@$Kif2p<9$&Y-)U$%<1 zt}S<~T2!HoRTcWO5)jplrV^p0{?^{kUW%Y4y#xL21Kngat+8=-Q>jmFuJxBG zv$LnIv$YJX)xK7WL1Jy1F{i#cmSK z>54?TJ+zZpuRBBtVhBi0r%pe9YNdNMKd4SIeU;kU&elq~wPj7ItEX0(HhVftnOdc< z+(N=Ng0o6SmMgVdPfY=h^*v+CU#qlMI@eZeC4SGnuX(i;9L|1ziM_A6ReGX;CS~1= z&RFzpjml6Z>SEc@6+y4c9Skh;v*1pWpf#>><@QQ9b?)uy>+g%HYMss1&a*1z&hE%n zY8|N680h7$&bE54=31?JL&(kJR#WcUW^!q%Ry>4}x4Kg98mRVnM$UmY26<0+cT(@E zNelaEL;}kl&E0KPMpYbvNnBr9quKsRlLRFyFiNdb&G{RVQlDI$Q+ryhYt5)QU8$vo z=3%C`w5nf5v2o6<8Kq)eTK2(Wyx^A3fi9X)_cGk8<)BwyV!ghIsod4vjh5uXi7BHM zsLMhX>|E11wX3Pj$k~nSq!QGMp2W&&iTckId6UHBOij3OxaD zv6nxM&?N=3%Fkv!*xl1sncCS#P^%3^4G>w5KL4nNkG`3+X2R3gFLP6_2{JM;T26X+ zX1eFwos?%t>XpZXvL?9 zU|n-(e*)bAq)D3FIyGHtNZXu8pSO1C4>{B<2E!Y2GRnfl+h1Gn{E@FavPGh`wHeC= z=lb5Bb(jci62q*56f32cf%f(+&_+vFC*n}EQL65?Kx*E8on{(S9IqYCRg+VV$yEkc z!h=*>)Kjf}UCokWH&a{`6Em_J6GX{;T4`M)n}nHduKGx)GJ)HNzYAD3qi?BR%&M>Q zsqUU>GpEm-&7|MCx}&9sSvoTsA(ai@u1bHi{xFBnKpC^ewbv>YCWRU!F7#w)H_|9D zr6c?x5gOo0aVhufg2h{?PRf0d2=RxZjdDn+KF$GU)Dv;Kt~i}UuHg@ll!G3@RKYcA z8Bi-F{&f}p(ntl>)08BQw5Sq)n55g{+XnhKlv_8nqRJjd4ou0?B@e}g>7(!32CAB7 zVlZ-CUqNT`085=~b0}B6NU5d14c)C?jP$wIKW)}*+?ph`x1*VvkkAuKR<5%}VfR%k z-9%zrY^aN5LY=P9S?)!NJfYOrS@rqQT&g|-XH5^zlz|zgzADnP5)|1~YNaa2lS!Df z+fY7q4GR!v%%~}SL4=s;=5@_$Dy2`Ef|?`hWZWD&LY0?EyvHTj(>}G*zh07- zQH?Ef+nR|QqIIAuf7K+}qRCdGGs0UNR}Bov8ZNko71OG0Chf+%pX#m`1qD;6eq&8g zSt}!@k}{vBvR>xQ7el3XXXv(%zEWEcgQr?$z>pxUei%O?wz78GjM>bWvRtC%cDf5G zG^^CBkH%78H;%=O*|U!?H4pUT@o5~%Omx{W3>7oO$Y_~4W7bToDU%3}C#F_GvoJ|r zn((X-lms)XOd<~T&lYnQp0&!^65A^a>h30uL2Ud*BV|{M*;yw$Vw|dfiS4bS6;tEf zp;>;`tmCKKbPqw}aTa^zLivzl5`$)y)yrQ`0x-n&A(S!XR3W&GC%n2FLE8ewGvZ&< z>q>i|_`u;%mXB|gpFMWDQ}LR!Y#D9r0o zR)U}wl{T52&Tb0}>@r1JrK7-^X4*^r{Z$qcRhIp>inPJSkkUd0H-Oc%Rin3gL$!x} z0~OEDB=Xy?a%UVhB@!b*%DEqSU`O7LzdP2N|SlSIjGm zR58}HtYPh)m8$ncxjfL;xwfmPt)sKCTSbg1DON^- z(p?H+OlNLFsZvn~Vg8tf%KD3N)FotW-jCb*vKAXVk?BC$!$sh2^ip9nHGAqhp zNL?&hHceV;#VqG!R=eEa)8AaR(Vxe&aEzAIbTeBz$c66qAch0WwX)n4!q{NYHWp1~ zfm2v`l_lGbX4`iv4|HqdVZ>``M{DGkVr6VI3Dbe8=-trY!-UvFE7z2RUC8P^Lxz)a z*W}iU7G?pyWvE54_iCuJS&P;lwn6X*v|AV#O15{IrMBH8waX?(t42~QTyJcB1?LI> zC)=Y5Lbt6UIjHo#34<9r-$%)tW?B&17dCY88!(C8=#Od^H!FkdYzv*ZOEPOo zt*@^$lb!Yp*s#hP(aB;`u8wNK-y*Ex^YEt%GvVPE$UP0)rJ?qfu3i+0WnLM>$tJIQ zr$%d87zXE&VWlY}S6&&~u#)m6n{q99npusyX;ZtYi~A0&Oysp?x}^$g2FmJqy!Wt8 zJq4wZyPN3jhTaNgGm}`+z0IA}xu>VUr0uDe8q-RvW(k~8`91Q1txEJSLNMWn`o`TH zO*6iCU0SwCtK{H_wKsQG(`n9Dj?sq1+0nM)@;1zBv}(kmz$`$yHC4B4S}&AyH_4{t zRyKG`Wz@B|Po83MuEH?&9gjE&Tx)A_ZK?sJO=)l2>lBqG@@f-U_WK^V;^N@89;27{%B=1;l?c8tg}|G z=*%ryX@LRN>C&c+&4H_{JuPUdgoi_v3{H)!umj<1jaqp|?BlQ>>snG=74!vXwOkv( z;A-y3=Sx{{-Z zLEFQtRBCPIbv^vkHDl(ST6^=1*Vjm+M55}Tv%=n*Hk0DoAuf8XL+PkA1MkwjOx8Nm z;*c~CpRFB6Hk^B!aW~mZuQL`h44JWDpVLjF^;O&mbH5I6v)G>!T+tpjHnHE|k9ta{ z`pC8gZ`9VUwE=cNVyo1eLf_WH9)DMBFH^7&2H9PfWv+MRSB{1y>uD8I?qh#Gb-v2M zo6Kj4SWPuF4s&_>IuFAt)6v=>P@!(?O&>JlWSYf>OSOtFw$mat82zGM>Zf%T7NKjp zd)9R`kl7r{lF$)-&AmECYxZ-iGDXXK&dpEU7r{5=lnq}h8G%Zt`qrx&N>=WmZV9W4 z+7yHotNS~$Msl80#*(Sc?1W&Z-6L|>Li>#6HW$22@8b3xHTKh*T#t>* zM@~=N>n&SLa$WM;clR)1aV%m-2OJk<)pPfv)>Rk+(X`8;dU`t{3T9FcfeH=QOw#CW zPFn24*d6)U)pnefS%fTqIZG1V>qHzXno3y4OKyhEn8kdNZ`NQAIamd(riR@*ViKb! zPfeNihB_-G9QeAb$Nlu|95Z)57!5rGH4cZPjYSMe$;oc6`4ZWZEht~``eg3R+-mEl zUblR=EE}Xc2rFw_5pRiPoxN+DXiC^J&enmJiKcLtNp?b)$Srg5e0hyHI{JIMtL_i7 zH&itdNpsP3H-5EBTPJ>kw)X9yGn=cc?C(_DDt4@Bw2jxeVI%z>;82bIDRaDRF;-qz z>jbOvjJqBdmo&OKi)sk_ppY98PxKDr$n^KD3D(0-f}=TY|P41`XD=o8hh1#&sYA=|V3xAtxpp8< z8zN@mU)KU#444+OdBWDZ9h$oCdSB;ytR4!7+4+{5ve$g!BKI;huH=ekEitX~dkbM* zEzi+9RK`Xw9Es%Ez5Fi|9bOaqHcwKq_BHohsKr4Ivj=>b8>f8M+L!p*>SN; z%t;;8+O|kpIuz{@QzgZ$O~#68qZSlFYs_HOZH{pEU9S(Br<3&n=UExeosTFkitF}0 zc)!7m1O>l&nmvB&)Fj8-HHo$l61ZS8MQu3Wv*Bl4AKqVM6pQ@qm|9;iU?j( z*iFfWqUBv*J|=9n=S@_qdOM{Swc;f+lbX}lzaB$vg2=?x=+m9rADudF60~+`QJ(HR zMpIQ@n#;N|-+}TWXf72;i#m@e{!Ja&V?L~%w_TkG@QUj zv0_Z3=aOl0K2Q@eqG!6yQtoG?#4k^j+t^arQ10rh*u^k)R+v1o$o!w(kHDMJ@=jZ- zwol*J-Kon2rYKtG(Cuq+Fj$Qg?z!YL;+R4TCRN8diZ;E{9|m{}BQcXw*o;!I)=Mkz zuvx(`baQ6wk{F4a>ShS`hvM209xih^*4RaD-N-Gte9&4eIQZ-6N#^jG$J>dkO(Z&# z(Ap%p4(iu9WZXg5povzFLkV4&%5}2Vye^-)q-Hj~DM?iPu<>H8mbJyoP`|QnTJ?2u z>=*oOZ95Kh+h8|?V`D>S`SBWM=GbPgu4QRvHwL8(wamw*d$E?fXOM0*hnYytj)wr& z?zl8OXeIJ~=PsL19X4C%7c|3aRc^Vau*`NQ)1pR!EJM_rQf<9^#pZasiOKyU$yB;- z2kmq}*Gh7GftTP0lT?`wMs+E35UP|~_p|#PhgD{M3d2T~QIGi~r7h_&yJQ{(YRq^r zA5j*BJ~Y*`{dt`}M}J9U#TG<)*QRH&oI;r3r(G!P!@;RsHuJ~$9<4&H6xveMor6ulS`$l~vcrq|I)ufjuMB*Rk&WT#wWTw9aOC}9+zhGqj!+@>xjIR0 zwoz;cU7GRP12tzlTx8AlUB)FFE|N(Er9QXeHV^9RO5HS=_e^7>NhMYp%iz~#GNYO; zN~6s)ep69QMZDOdv65UjA%FAHihGJ-?9^Ka_Z0g%0<*2ySTZ7M@%6BYB`i^WK)S8T z{h?&bCZWvyMkij=axzL@ck69Z|fY&N5I;<#51AEPF@R4u!(J#}*t?cPhjCFfjs$rc<*%c38ga^^LY`_R*+hAFR zPl$%vX8PcyW0^As4vJ*hG~WAqE3I7g2uoxORxPQtu1{ym>Yh|+xSybCW65h6OjP2Y zxG$OQm$X;ym<#=JoyzQ{^>J26+%WU~^2~?mkEc-#D>n~y-$JnAniwy6>%nftL%U#1 zvJ(gHCq-+oQG|1s&t1O9m-%6?ho;bY^Kw8mB+cT~nKr)Xu*Q}*UB0>r^@{hlV~%d2 zWptAJ6=Cz!21H(!M5KA6tdp`i$fnJF0ty-EBk6DU`qklCB9PBlnM&Br-=OeKzMhfd zRJwK1R(mJW$~Pr@T6T<>PdYBRV3uVq*d5Srs|(+3%9%YJe`i)E%XRjgyaa9x*>Qay z!Ue!gm0UL7C#K$h8jKGg!mzM?+`jV_jE(k|d`^iw0M09!$T0hy5+^rR+?)=Cs)NU{ zdXl=^X( zV>7Grob2>Us~K%UWKlC+x6SDY_Y>`FLuTOe`*-o+iY@MPxt+syUx!%j>%D`p1eRv{ zl{we9gDeE)0vBctc9;j)5z1=U$h{4_D5C2}5`~UJZRpCpcw)ybHgdG-@Ee$`%;_k&@D}7_;7%dHLf_;R0Syx)u5;S0IM)@n=GOq zDa{N^g1#F0hvlzkYhMC;h-soXLdlg%Dy-FGx?T;_N-Vajwd?C02JWB+8>np_Joq4B zp8+x%*DL<(PP}aJ1}7nSJi1xa+{Vp5zvdf#ZKom zcQt%vZM~P2Ra}~8?MrX}#LM%(xf`}yYN(jnKftlm@G+~I6$%Q+$dH4og3w)>D)XS>xXz% z(3FZ(t^D4nFIs~wk3zCKCKFM1gCpCtb0t(kQfY0K`QDX{5N#wx%aWd + */ + +#include +#include +#include +#include "contiki.h" +#include "contiki-net.h" + + +/* Define which resources to include to meet memory constraints. */ +#define REST_RES_INFO 1 +#define REST_RES_DS1820 0 +#define REST_RES_HELLO 0 +#define REST_RES_MIRROR 0 /* causes largest code size */ +#define REST_RES_CHUNKS 0 +#define REST_RES_SEPARATE 0 +#define REST_RES_PUSHING 0 +#define REST_RES_EVENT 0 +#define REST_RES_SUB 0 +#define REST_RES_LEDS 0 +#define REST_RES_TOGGLE 0 +#define REST_RES_LIGHT 0 +#define REST_RES_BATTERY 0 +#define REST_RES_RADIO 0 + + + +#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" + +// todo OSD-Testboard move to platform/dev +#include "dev/led.h" +#if REST_RES_DS1820 +#include "dev/ds1820.h" +#endif + +#if defined (PLATFORM_HAS_BUTTON) +#include "dev/button-sensor.h" +#endif +#if defined (PLATFORM_HAS_LEDS) +#include "dev/leds.h" +#endif +#if defined (PLATFORM_HAS_LIGHT) +#include "dev/light-sensor.h" +#endif +#if defined (PLATFORM_HAS_BATTERY) +#include "dev/battery-sensor.h" +#endif +#if defined (PLATFORM_HAS_SHT11) +#include "dev/sht11-sensor.h" +#endif +#if defined (PLATFORM_HAS_RADIO) +#include "dev/radio-sensor.h" +#endif + + +/* For CoAP-specific example: not required for normal RESTful Web service. */ +#if WITH_COAP == 3 +#include "er-coap-03.h" +#elif WITH_COAP == 7 +#include "er-coap-07.h" +#else +#warning "Erbium example without CoAP-specifc functionality" +#endif /* CoAP-specific example */ + +#define DEBUG 0 +#if DEBUG +#define PRINTF(...) printf(__VA_ARGS__) +#define PRINT6ADDR(addr) PRINTF("[%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x]", ((uint8_t *)addr)[0], ((uint8_t *)addr)[1], ((uint8_t *)addr)[2], ((uint8_t *)addr)[3], ((uint8_t *)addr)[4], ((uint8_t *)addr)[5], ((uint8_t *)addr)[6], ((uint8_t *)addr)[7], ((uint8_t *)addr)[8], ((uint8_t *)addr)[9], ((uint8_t *)addr)[10], ((uint8_t *)addr)[11], ((uint8_t *)addr)[12], ((uint8_t *)addr)[13], ((uint8_t *)addr)[14], ((uint8_t *)addr)[15]) +#define PRINTLLADDR(lladdr) PRINTF("[%02x:%02x:%02x:%02x:%02x:%02x]",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) +#else +#define PRINTF(...) +#define PRINT6ADDR(addr) +#define PRINTLLADDR(addr) +#endif + + +// todo: move platform /dev +#include "dev/led.c" +#if REST_RES_DS1820 +#include "dev/ds1820.c" +#endif + +/******************************************************************************/ + +#if REST_RES_INFO +/* + * Resources are defined by the RESOURCE macro. + * Signature: resource name, the RESTful methods it handles, and its URI path (omitting the leading slash). + */ +RESOURCE(info, METHOD_GET, "info", "title=\"Info\";rt=\"Text\""); + +/* + * A handler function named [resource name]_handler must be implemented for each RESOURCE. + * A buffer for the response payload is provided through the buffer pointer. Simple resources can ignore + * preferred_size and offset, but must respect the REST_MAX_CHUNK_SIZE limit for the buffer. + * If a smaller block size is requested for CoAP, the REST framework automatically splits the data. + */ +void +info_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + char message[100]; + int index = 0; + int length = 0; /* |<-------->| */ + + /* Some data that has the length up to REST_MAX_CHUNK_SIZE. For more, see the chunk resource. */ + // jSON Format + index += sprintf(message + index,"{\n \"version\" : \"V0.3\",\n"); + index += sprintf(message + index," \"name\" : \"wireless-plug\"\n"); + index += sprintf(message + index,"}\n"); + + length = strlen(message); + memcpy(buffer, message,length ); + + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + REST.set_response_payload(response, buffer, length); +} +#endif + + +/*A simple actuator example, post variable mode, relay is activated or deactivated*/ +RESOURCE(plug1, METHOD_GET | METHOD_PUT , "plug1", "title=\"plug1\";rt=\"Text\""); +void +plug1_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + char mode[10]; + static uint8_t led2 = 0; + static char name[17]="plug1"; + int success = 1; + + char temp[100]; + int index = 0; + size_t len = 0; + + const char *pmode = NULL; + const char *pname = NULL; + + switch(REST.get_method_type(request)){ + case METHOD_GET: + // jSON Format + index += sprintf(temp + index,"{\n \"name\" : \"%s\",\n",name); + if(led2 == 0) + index += sprintf(temp + index," \"mode\" : \"off\"\n"); + if(led2 == 1) + index += sprintf(temp + index," \"mode\" : \"on\"\n"); + index += sprintf(temp + index,"}\n"); + + len = strlen(temp); + memcpy(buffer, temp,len ); + + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + REST.set_response_payload(response, buffer, len); + break; + case METHOD_POST: + success = 0; + break; + case METHOD_PUT: + if (success && (len=REST.get_post_variable(request, "mode", &pmode))) { + PRINTF("name %s\n", mode); + memcpy(mode, pmode,len); + mode[len]=0; + if (!strcmp(mode, "on")) { + led2_on(); + led2 = 1; + } else if (!strcmp(mode, "off")) { + led2_off(); + led2 = 0; + } else { + success = 0; + } + } else if (success && (len=REST.get_post_variable(request, "name", &pname))) { + PRINTF("name %s\n", name); + memcpy(name, pname,len); + name[len]=0; + } else { + success = 0; + } + break; + default: + success = 0; + } + + if (!success) { + REST.set_response_status(response, REST.status.BAD_REQUEST); + } +} + +#if REST_RES_DS1820 +/*A simple getter example. Returns the reading from ds1820 sensor*/ +RESOURCE(ds1820, METHOD_GET, "DS1820", "title=\"Temperatur\";rt=\"Temperatur\""); +void +ds1820_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + + char message[100]; + int length = 0; /* |<-------->| */ + int ret=0; + int grad=0; + int kgrad=0; +// ret=ds1820_temp(); + if(ds1820_ok[0] & 0x01){ + kgrad=5; + } + grad = (int)((ds1820_ok[1] << 8) | (ds1820_ok[0])) >> 1; + + uint16_t *accept = NULL; + int num = REST.get_header_accept(request, &accept); + + if ((num==0) || (num && accept[0]==REST.type.TEXT_PLAIN)) + { + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + snprintf(message, REST_MAX_CHUNK_SIZE, "%2d.%d °C",grad,kgrad); + + length = strlen(message); + memcpy(buffer, message,length ); + + REST.set_response_payload(response, buffer, length); + } + else if (num && (accept[0]==REST.type.APPLICATION_JSON)) + { + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + snprintf(message, REST_MAX_CHUNK_SIZE, "{\"temp\":\"%d.%d °C\"}",grad,kgrad); + + length = strlen(message); + memcpy(buffer, message,length ); + + REST.set_response_payload(response, buffer, length); + } + else + { + REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); + REST.set_response_payload(response, (uint8_t *)"Supporting content-types text/plain and application/json", 56); + } +} +#endif //REST_RES_DS1820 + +#if REST_RES_HELLO +/* + * Resources are defined by the RESOURCE macro. + * Signature: resource name, the RESTful methods it handles, and its URI path (omitting the leading slash). + */ +RESOURCE(helloworld, METHOD_GET, "hello", "title=\"Hello world: ?len=0..\";rt=\"Text\""); + +/* + * A handler function named [resource name]_handler must be implemented for each RESOURCE. + * A buffer for the response payload is provided through the buffer pointer. Simple resources can ignore + * preferred_size and offset, but must respect the REST_MAX_CHUNK_SIZE limit for the buffer. + * If a smaller block size is requested for CoAP, the REST framework automatically splits the data. + */ +void +helloworld_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + const char *len = NULL; + /* Some data that has the length up to REST_MAX_CHUNK_SIZE. For more, see the chunk resource. */ + char const * const message = "Hello World! ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxy"; + int length = 12; /* |<-------->| */ + + /* The query string can be retrieved by rest_get_query() or parsed for its key-value pairs. */ + if (REST.get_query_variable(request, "len", &len)) { + length = atoi(len); + if (length<0) length = 0; + if (length>REST_MAX_CHUNK_SIZE) length = REST_MAX_CHUNK_SIZE; + memcpy(buffer, message, length); + } else { + memcpy(buffer, message, length); + } + + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); /* text/plain is the default, hence this option could be omitted. */ + REST.set_header_etag(response, (uint8_t *) &length, 1); + REST.set_response_payload(response, buffer, length); +} +#endif + +/******************************************************************************/ +#if REST_RES_MIRROR +/* This resource mirrors the incoming request. It shows how to access the options and how to set them for the response. */ +RESOURCE(mirror, METHOD_GET | METHOD_POST | METHOD_PUT | METHOD_DELETE, "debug/mirror", "title=\"Returns your decoded message\";rt=\"Debug\""); + +void +mirror_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + /* The ETag and Token is copied to the header. */ + uint8_t opaque[] = {0x0A, 0xBC, 0xDE}; + + /* Strings are not copied, so use static string buffers or strings in .text memory (char *str = "string in .text";). */ + static char location[] = {'/','f','/','a','?','k','&','e', 0}; + + /* Getter for the header option Content-Type. If the option is not set, text/plain is returned by default. */ + unsigned int content_type = REST.get_header_content_type(request); + + /* The other getters copy the value (or string/array pointer) to the given pointers and return 1 for success or the length of strings/arrays. */ + uint32_t max_age = 0; + const char *str = NULL; + uint32_t observe = 0; + const uint8_t *bytes = NULL; + uint32_t block_num = 0; + uint8_t block_more = 0; + uint16_t block_size = 0; + const char *query = ""; + int len = 0; + + /* Mirror the received header options in the response payload. Unsupported getters (e.g., rest_get_header_observe() with HTTP) will return 0. */ + + int strpos = 0; + /* snprintf() counts the terminating '\0' to the size parameter. + * The additional byte is taken care of by allocating REST_MAX_CHUNK_SIZE+1 bytes in the REST framework. + * Add +1 to fill the complete buffer. */ + strpos += snprintf((char *)buffer, REST_MAX_CHUNK_SIZE+1, "CT %u\n", content_type); + + /* Some getters such as for ETag or Location are omitted, as these options should not appear in a request. + * Max-Age might appear in HTTP requests or used for special purposes in CoAP. */ + if (strpos<=REST_MAX_CHUNK_SIZE && REST.get_header_max_age(request, &max_age)) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "MA %lu\n", max_age); + } + + if (strpos<=REST_MAX_CHUNK_SIZE && (len = REST.get_header_host(request, &str))) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "UH %.*s\n", len, str); + } + +/* CoAP-specific example: actions not required for normal RESTful Web service. */ +#if WITH_COAP > 1 + if (strpos<=REST_MAX_CHUNK_SIZE && coap_get_header_observe(request, &observe)) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "Ob %lu\n", observe); + } + if (strpos<=REST_MAX_CHUNK_SIZE && (len = coap_get_header_token(request, &bytes))) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "To 0x"); + int index = 0; + for (index = 0; index 03 */ +#endif /* CoAP-specific example */ + + if (strpos<=REST_MAX_CHUNK_SIZE && (len = REST.get_query(request, &query))) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "Qu %.*s\n", len, query); + } + if (strpos<=REST_MAX_CHUNK_SIZE && (len = REST.get_request_payload(request, &bytes))) + { + strpos += snprintf((char *)buffer+strpos, REST_MAX_CHUNK_SIZE-strpos+1, "%.*s", len, bytes); + } + + if (strpos >= REST_MAX_CHUNK_SIZE) + { + buffer[REST_MAX_CHUNK_SIZE-1] = 0xBB; /* '»' to indicate truncation */ + } + + REST.set_response_payload(response, buffer, strpos); + + PRINTF("/mirror options received: %s\n", buffer); + + /* Set dummy header options for response. Like getters, some setters are not implemented for HTTP and have no effect. */ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + REST.set_header_max_age(response, 10); /* For HTTP, browsers will not re-request the page for 10 seconds. CoAP action depends on the client. */ + REST.set_header_etag(response, opaque, 2); + REST.set_header_location(response, location); /* Initial slash is omitted by framework */ + +/* CoAP-specific example: actions not required for normal RESTful Web service. */ +#if WITH_COAP > 1 + coap_set_header_uri_host(response, "tiki"); + coap_set_header_observe(response, 10); +#if WITH_COAP == 3 + coap_set_header_block(response, 42, 0, 64); /* The block option might be overwritten by the framework when blockwise transfer is requested. */ +#else + coap_set_header_proxy_uri(response, "ftp://x"); + coap_set_header_block2(response, 42, 0, 64); /* The block option might be overwritten by the framework when blockwise transfer is requested. */ + coap_set_header_block1(response, 23, 0, 16); + coap_set_header_accept(response, TEXT_PLAIN); + coap_set_header_if_none_match(response); +#endif /* CoAP > 03 */ +#endif /* CoAP-specific example */ +} +#endif /* REST_RES_MIRROR */ + +/******************************************************************************/ +#if REST_RES_CHUNKS +/* + * For data larger than REST_MAX_CHUNK_SIZE (e.g., stored in flash) resources must be aware of the buffer limitation + * and split their responses by themselves. To transfer the complete resource through a TCP stream or CoAP's blockwise transfer, + * the byte offset where to continue is provided to the handler as int32_t pointer. + * These chunk-wise resources must set the offset value to its new position or -1 of the end is reached. + * (The offset for CoAP's blockwise transfer can go up to 2'147'481'600 = ~2047 M for block size 2048 (reduced to 1024 in observe-03.) + */ +RESOURCE(chunks, METHOD_GET, "test/chunks", "title=\"Blockwise demo\";rt=\"Data\""); + +#define CHUNKS_TOTAL 2050 + +void +chunks_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + int32_t strpos = 0; + + /* Check the offset for boundaries of the resource data. */ + if (*offset>=CHUNKS_TOTAL) + { + REST.set_response_status(response, REST.status.BAD_OPTION); + /* A block error message should not exceed the minimum block size (16). */ + + const char *error_msg = "BlockOutOfScope"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + + /* Generate data until reaching CHUNKS_TOTAL. */ + while (strpos preferred_size) + { + strpos = preferred_size; + } + + /* Truncate if above CHUNKS_TOTAL bytes. */ + if (*offset+(int32_t)strpos > CHUNKS_TOTAL) + { + strpos = CHUNKS_TOTAL - *offset; + } + + REST.set_response_payload(response, buffer, strpos); + + /* IMPORTANT for chunk-wise resources: Signal chunk awareness to REST engine. */ + *offset += strpos; + + /* Signal end of resource representation. */ + if (*offset>=CHUNKS_TOTAL) + { + *offset = -1; + } +} +#endif + +/******************************************************************************/ +#if REST_RES_SEPARATE && defined (PLATFORM_HAS_BUTTON) && WITH_COAP > 3 +/* Required to manually (=not by the engine) handle the response transaction. */ +#include "er-coap-07-separate.h" +#include "er-coap-07-transactions.h" +/* + * CoAP-specific example for separate responses. + * Note the call "rest_set_pre_handler(&resource_separate, coap_separate_handler);" in the main process. + * The pre-handler takes care of the empty ACK and updates the MID and message type for CON requests. + * The resource handler must store all information that required to finalize the response later. + */ +RESOURCE(separate, METHOD_GET, "test/separate", "title=\"Separate demo\""); + +/* A structure to store the required information */ +typedef struct application_separate_store { + /* Provided by Erbium to store generic request information such as remote address and token. */ + coap_separate_t request_metadata; + /* Add fields for addition information to be stored for finalizing, e.g.: */ + char buffer[16]; +} application_separate_store_t; + +static uint8_t separate_active = 0; +static application_separate_store_t separate_store[1]; + +void +separate_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + /* + * Example allows only one open separate response. + * For multiple, the application must manage the list of stores. + */ + if (separate_active) + { + coap_separate_reject(); + } + else + { + separate_active = 1; + + /* Take over and skip response by engine. */ + coap_separate_accept(request, &separate_store->request_metadata); + /* Be aware to respect the Block2 option, which is also stored in the coap_separate_t. */ + + /* + * At the moment, only the minimal information is stored in the store (client address, port, token, MID, type, and Block2). + * Extend the store, if the application requires additional information from this handler. + * buffer is an example field for custom information. + */ + snprintf(separate_store->buffer, sizeof(separate_store->buffer), "StoredInfo"); + } +} + +void +separate_finalize_handler() +{ + if (separate_active) + { + coap_transaction_t *transaction = NULL; + if ( (transaction = coap_new_transaction(separate_store->request_metadata.mid, &separate_store->request_metadata.addr, separate_store->request_metadata.port)) ) + { + coap_packet_t response[1]; /* This way the packet can be treated as pointer as usual. */ + + /* Restore the request information for the response. */ + coap_separate_resume(response, &separate_store->request_metadata, CONTENT_2_05); + + coap_set_payload(response, separate_store->buffer, strlen(separate_store->buffer)); + + /* + * Be aware to respect the Block2 option, which is also stored in the coap_separate_t. + * As it is a critical option, this example resource pretends to handle it for compliance. + */ + coap_set_header_block2(response, separate_store->request_metadata.block2_num, 0, separate_store->request_metadata.block2_size); + + /* Warning: No check for serialization error. */ + transaction->packet_len = coap_serialize_message(response, transaction->packet); + coap_send_transaction(transaction); + /* The engine will clear the transaction (right after send for NON, after acked for CON). */ + + separate_active = 0; + } + else + { + /* + * Set timer for retry, send error message, ... + * The example simply waits for another button press. + */ + } + } /* if (separate_active) */ +} +#endif + +/******************************************************************************/ +#if REST_RES_PUSHING +/* + * Example for a periodic resource. + * It takes an additional period parameter, which defines the interval to call [name]_periodic_handler(). + * A default post_handler takes care of subscriptions by managing a list of subscribers to notify. + */ +PERIODIC_RESOURCE(pushing, METHOD_GET, "test/push", "title=\"Periodic demo\";obs", 5*CLOCK_SECOND); + +void +pushing_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + + /* Usually, a CoAP server would response with the resource representation matching the periodic_handler. */ + const char *msg = "It's periodic!"; + REST.set_response_payload(response, msg, strlen(msg)); + + /* A post_handler that handles subscriptions will be called for periodic resources by the REST framework. */ +} + +/* + * Additionally, a handler function named [resource name]_handler must be implemented for each PERIODIC_RESOURCE. + * It will be called by the REST manager process with the defined period. + */ +void +pushing_periodic_handler(resource_t *r) +{ + static uint16_t obs_counter = 0; + static char content[11]; + + ++obs_counter; + + PRINTF("TICK %u for /%s\n", obs_counter, r->url); + + /* Build notification. */ + coap_packet_t notification[1]; /* This way the packet can be treated as pointer as usual. */ + coap_init_message(notification, COAP_TYPE_NON, CONTENT_2_05, 0 ); + coap_set_payload(notification, content, snprintf(content, sizeof(content), "TICK %u", obs_counter)); + + /* Notify the registered observers with the given message type, observe option, and payload. */ + REST.notify_subscribers(r, obs_counter, notification); +} +#endif + +/******************************************************************************/ +#if REST_RES_EVENT && defined (PLATFORM_HAS_BUTTON) +/* + * Example for an event resource. + * Additionally takes a period parameter that defines the interval to call [name]_periodic_handler(). + * A default post_handler takes care of subscriptions and manages a list of subscribers to notify. + */ +EVENT_RESOURCE(event, METHOD_GET, "sensors/button", "title=\"Event demo\";obs"); + +void +event_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + /* Usually, a CoAP server would response with the current resource representation. */ + const char *msg = "It's eventful!"; + REST.set_response_payload(response, (uint8_t *)msg, strlen(msg)); + + /* A post_handler that handles subscriptions/observing will be called for periodic resources by the framework. */ +} + +/* Additionally, a handler function named [resource name]_event_handler must be implemented for each PERIODIC_RESOURCE defined. + * It will be called by the REST manager process with the defined period. */ +void +event_event_handler(resource_t *r) +{ + static uint16_t event_counter = 0; + static char content[12]; + + ++event_counter; + + PRINTF("TICK %u for /%s\n", event_counter, r->url); + + /* Build notification. */ + coap_packet_t notification[1]; /* This way the packet can be treated as pointer as usual. */ + coap_init_message(notification, COAP_TYPE_CON, CONTENT_2_05, 0 ); + coap_set_payload(notification, content, snprintf(content, sizeof(content), "EVENT %u", event_counter)); + + /* Notify the registered observers with the given message type, observe option, and payload. */ + REST.notify_subscribers(r, event_counter, notification); +} +#endif /* PLATFORM_HAS_BUTTON */ + +/******************************************************************************/ +#if REST_RES_SUB +/* + * Example for a resource that also handles all its sub-resources. + * Use REST.get_url() to multiplex the handling of the request depending on the Uri-Path. + */ +RESOURCE(sub, METHOD_GET | HAS_SUB_RESOURCES, "test/path", "title=\"Sub-resource demo\""); + +void +sub_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + + const char *uri_path = NULL; + int len = REST.get_url(request, &uri_path); + int base_len = strlen(resource_sub.url); + + if (len==base_len) + { + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "Request any sub-resource of /%s", resource_sub.url); + } + else + { + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, ".%s", uri_path+base_len); + } + + REST.set_response_payload(response, buffer, strlen((char *)buffer)); +} +#endif + +/******************************************************************************/ +#if defined (PLATFORM_HAS_LEDS) +/******************************************************************************/ +#if REST_RES_LEDS +/*A simple actuator example, depending on the color query parameter and post variable mode, corresponding led is activated or deactivated*/ +RESOURCE(leds, METHOD_POST | METHOD_PUT , "actuators/leds", "title=\"LEDs: ?color=r|g|b, POST/PUT mode=on|off\";rt=\"Control\""); + +void +leds_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + size_t len = 0; + const char *color = NULL; + const char *mode = NULL; + uint8_t led = 0; + int success = 1; + + if ((len=REST.get_query_variable(request, "color", &color))) { + PRINTF("color %.*s\n", len, color); + + if (strncmp(color, "r", len)==0) { + led = LEDS_RED; + } else if(strncmp(color,"g", len)==0) { + led = LEDS_GREEN; + } else if (strncmp(color,"b", len)==0) { + led = LEDS_BLUE; + } else { + success = 0; + } + } else { + success = 0; + } + + if (success && (len=REST.get_post_variable(request, "mode", &mode))) { + PRINTF("mode %s\n", mode); + + if (strncmp(mode, "on", len)==0) { + leds_on(led); + } else if (strncmp(mode, "off", len)==0) { + leds_off(led); + } else { + success = 0; + } + } else { + success = 0; + } + + if (!success) { + REST.set_response_status(response, REST.status.BAD_REQUEST); + } +} +#endif + +/******************************************************************************/ +#if REST_RES_TOGGLE +/* A simple actuator example. Toggles the red led */ +RESOURCE(toggle, METHOD_GET | METHOD_PUT | METHOD_POST, "actuators/toggle", "title=\"Red LED\";rt=\"Control\""); +void +toggle_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + leds_toggle(LEDS_RED); +} +#endif +#endif /* PLATFORM_HAS_LEDS */ + +/******************************************************************************/ +#if REST_RES_LIGHT && defined (PLATFORM_HAS_LIGHT) +/* A simple getter example. Returns the reading from light sensor with a simple etag */ +RESOURCE(light, METHOD_GET, "sensors/light", "title=\"Photosynthetic and solar light (supports JSON)\";rt=\"LightSensor\""); +void +light_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + uint16_t light_photosynthetic = light_sensor.value(LIGHT_SENSOR_PHOTOSYNTHETIC); + uint16_t light_solar = light_sensor.value(LIGHT_SENSOR_TOTAL_SOLAR); + + const uint16_t *accept = NULL; + int num = REST.get_header_accept(request, &accept); + + if ((num==0) || (num && accept[0]==REST.type.TEXT_PLAIN)) + { + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "%u;%u", light_photosynthetic, light_solar); + + REST.set_response_payload(response, (uint8_t *)buffer, strlen((char *)buffer)); + } + else if (num && (accept[0]==REST.type.APPLICATION_XML)) + { + REST.set_header_content_type(response, REST.type.APPLICATION_XML); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "", light_photosynthetic, light_solar); + + REST.set_response_payload(response, buffer, strlen((char *)buffer)); + } + else if (num && (accept[0]==REST.type.APPLICATION_JSON)) + { + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'light':{'photosynthetic':%u,'solar':%u}}", light_photosynthetic, light_solar); + + REST.set_response_payload(response, buffer, strlen((char *)buffer)); + } + else + { + REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); + const char *msg = "Supporting content-types text/plain, application/xml, and application/json"; + REST.set_response_payload(response, msg, strlen(msg)); + } +} +#endif /* PLATFORM_HAS_LIGHT */ + +/******************************************************************************/ +#if REST_RES_BATTERY && defined (PLATFORM_HAS_BATTERY) +/* A simple getter example. Returns the reading from light sensor with a simple etag */ +RESOURCE(battery, METHOD_GET, "sensors/battery", "title=\"Battery status\";rt=\"Battery\""); +void +battery_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + int battery = battery_sensor.value(0); + + const uint16_t *accept = NULL; + int num = REST.get_header_accept(request, &accept); + + if ((num==0) || (num && accept[0]==REST.type.TEXT_PLAIN)) + { + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "%d", battery); + + REST.set_response_payload(response, (uint8_t *)buffer, strlen((char *)buffer)); + } + else if (num && (accept[0]==REST.type.APPLICATION_JSON)) + { + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'battery':%d}", battery); + + REST.set_response_payload(response, buffer, strlen((char *)buffer)); + } + else + { + REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); + const char *msg = "Supporting content-types text/plain and application/json"; + REST.set_response_payload(response, msg, strlen(msg)); + } +} +#endif /* PLATFORM_HAS_BATTERY */ + + +#if defined (PLATFORM_HAS_RADIO) && REST_RES_RADIO +/* A simple getter example. Returns the reading of the rssi/lqi from radio sensor */ +RESOURCE(radio, METHOD_GET, "sensor/radio", "title=\"RADIO: ?p=lqi|rssi\";rt=\"RadioSensor\""); + +void +radio_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + size_t len = 0; + const char *p = NULL; + uint8_t param = 0; + int success = 1; + + const uint16_t *accept = NULL; + int num = REST.get_header_accept(request, &accept); + + if ((len=REST.get_query_variable(request, "p", &p))) { + PRINTF("p %.*s\n", len, p); + if (strncmp(p, "lqi", len)==0) { + param = RADIO_SENSOR_LAST_VALUE; + } else if(strncmp(p,"rssi", len)==0) { + param = RADIO_SENSOR_LAST_PACKET; + } else { + success = 0; + } + } else { + success = 0; + } + + if (success) { + if ((num==0) || (num && accept[0]==REST.type.TEXT_PLAIN)) + { + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "%d", radio_sensor.value(param)); + + REST.set_response_payload(response, (uint8_t *)buffer, strlen((char *)buffer)); + } + else if (num && (accept[0]==REST.type.APPLICATION_JSON)) + { + REST.set_header_content_type(response, REST.type.APPLICATION_JSON); + + if (param == RADIO_SENSOR_LAST_VALUE) { + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'lqi':%d}", radio_sensor.value(param)); + } else if (param == RADIO_SENSOR_LAST_PACKET) { + snprintf((char *)buffer, REST_MAX_CHUNK_SIZE, "{'rssi':%d}", radio_sensor.value(param)); + } + + REST.set_response_payload(response, buffer, strlen((char *)buffer)); + } + else + { + REST.set_response_status(response, REST.status.UNSUPPORTED_MADIA_TYPE); + const char *msg = "Supporting content-types text/plain and application/json"; + REST.set_response_payload(response, msg, strlen(msg)); + } + } else { + REST.set_response_status(response, REST.status.BAD_REQUEST); + } +} +#endif + +void +hw_init() +{ + led1_off(); + led2_off(); +#if REST_RES_DS1820 + ds1820_temp(); +#endif +} +#define MESURE_INTERVAL (10 * CLOCK_SECOND) +#define READ_TIME ( 2 * CLOCK_SECOND) + +PROCESS(rest_server_example, "Erbium Example Server"); +AUTOSTART_PROCESSES(&rest_server_example); + +PROCESS_THREAD(rest_server_example, ev, data) +{ +#if REST_RES_DS1820 + static struct etimer ds_periodic_timer; + static struct etimer ds_read_timer; +#endif + + PROCESS_BEGIN(); + + + + PRINTF("Starting Erbium Example Server\n"); + +#ifdef RF_CHANNEL + PRINTF("RF channel: %u\n", RF_CHANNEL); +#endif +#ifdef IEEE802154_PANID + PRINTF("PAN ID: 0x%04X\n", IEEE802154_PANID); +#endif + + PRINTF("uIP buffer: %u\n", UIP_BUFSIZE); + PRINTF("LL header: %u\n", UIP_LLH_LEN); + PRINTF("IP+UDP header: %u\n", UIP_IPUDPH_LEN); + PRINTF("REST max chunk: %u\n", REST_MAX_CHUNK_SIZE); + +/* if static routes are used rather than RPL */ +#if !UIP_CONF_IPV6_RPL && !defined (CONTIKI_TARGET_MINIMAL_NET) && !defined (CONTIKI_TARGET_NATIVE) + set_global_address(); + configure_routing(); +#endif + + /* Initialize the OSD Hardware. */ + hw_init(); + + /* Initialize the REST engine. */ + rest_init_engine(); + + /* Activate the application-specific resources. */ + rest_activate_resource(&resource_plug1); + /* Activate the application-specific resources. */ +#if REST_RES_DS1820 + rest_activate_resource(&resource_ds1820); +#endif +#if REST_RES_INFO + rest_activate_resource(&resource_info); +#endif +#if REST_RES_HELLO + rest_activate_resource(&resource_helloworld); +#endif +#if REST_RES_MIRROR + rest_activate_resource(&resource_mirror); +#endif +#if REST_RES_CHUNKS + rest_activate_resource(&resource_chunks); +#endif +#if REST_RES_PUSHING + rest_activate_periodic_resource(&periodic_resource_pushing); +#endif +#if defined (PLATFORM_HAS_BUTTON) && REST_RES_EVENT + rest_activate_event_resource(&resource_event); +#endif +#if defined (PLATFORM_HAS_BUTTON) && REST_RES_SEPARATE && WITH_COAP > 3 + /* No pre-handler anymore, user coap_separate_accept() and coap_separate_reject(). */ + rest_activate_resource(&resource_separate); +#endif +#if defined (PLATFORM_HAS_BUTTON) && (REST_RES_EVENT || (REST_RES_SEPARATE && WITH_COAP > 3)) + SENSORS_ACTIVATE(button_sensor); +#endif +#if REST_RES_SUB + rest_activate_resource(&resource_sub); +#endif +#if defined (PLATFORM_HAS_LEDS) +#if REST_RES_LEDS + rest_activate_resource(&resource_leds); +#endif +#if REST_RES_TOGGLE + rest_activate_resource(&resource_toggle); +#endif +#endif /* PLATFORM_HAS_LEDS */ +#if defined (PLATFORM_HAS_LIGHT) && REST_RES_LIGHT + SENSORS_ACTIVATE(light_sensor); + rest_activate_resource(&resource_light); +#endif +#if defined (PLATFORM_HAS_BATTERY) && REST_RES_BATTERY + SENSORS_ACTIVATE(battery_sensor); + rest_activate_resource(&resource_battery); +#endif +#if defined (PLATFORM_HAS_RADIO) && REST_RES_RADIO + SENSORS_ACTIVATE(radio_sensor); + rest_activate_resource(&resource_radio); +#endif + + /* Define application-specific events here. */ +#if REST_RES_DS1820 + etimer_set(&ds_periodic_timer, MESURE_INTERVAL); +#endif + while(1) { + PROCESS_WAIT_EVENT(); +#if defined (PLATFORM_HAS_BUTTON) + if (ev == sensors_event && data == &button_sensor) { + PRINTF("BUTTON\n"); +#if REST_RES_EVENT + /* Call the event_handler for this application-specific event. */ + event_event_handler(&resource_event); +#endif +#if REST_RES_SEPARATE && WITH_COAP>3 + /* Also call the separate response example handler. */ + separate_finalize_handler(); +#endif + } +#endif /* PLATFORM_HAS_BUTTON */ +#if REST_RES_DS1820 + if(etimer_expired(&ds_periodic_timer)) { + PRINTF("DS1820_Periodic\n"); + etimer_reset(&ds_periodic_timer); + if(ds1820_convert()){ + etimer_set(&ds_read_timer, READ_TIME); + } + } + if(etimer_expired(&ds_read_timer)) { + PRINTF("DS1820_Read\n"); + ds1820_read(); + } +#endif + } /* while (1) */ + + PROCESS_END(); +} diff --git a/examples/osd/wirelessplug/er-example-server.osd-er-lp24 b/examples/osd/wirelessplug/er-example-server.osd-er-lp24 new file mode 100755 index 0000000000000000000000000000000000000000..506f860461f7f88aa4657bf2f12098609efef4d7 GIT binary patch literal 424344 zcmcG1349b)ws&95%F;=*g~*Z)9fkx*cL!Vuq68Eq3MO#})FdoQkR=coP?W0fbdt{6 zmFfi$g^)o+MPQr}w~>mYAigKTH}f1F9j$~#_Ee-XpkTiLsY)dsz!~TJeV{Vq!%YK!>I^PeGqL(8Fgj4!N4PhH>6NHp3w5!QQly1 zsLwU{OHXL}PBpz4vBhc{rK1aK-+Fro_vr1N@E<^}hb5alNm<4o}qeBZ@{8^)%eI;Hd>GQlBhZFyCDCME<uE5XCoWyKbipl#6!VD1Pa@Ga;z@JzQw8~EL(jXHJ&FA0Ifz-3zw+Ub z%&6n81qF{SoV#pAXgZ=N&!4|yK~Yh+Vk1@>CKx76Fk~%VT(EROPXpCku=FwW)TQ}z z7cZEPi0m0%FC&V~BZ|hD=Pk@%x^%%}Ga9Ft1sKDM{3jOB`}AkbPpmW-E_-^x3cU6- zOua8N^@i)rGbi6V!8~GR>ec>78~ID;FI!?pUS!SJdTD-a!O{g(EBerLl=k10Wy{pg zjVS7f=xOL-Ftq;ye4c#o%&E6eP8&OZ#iRLYhQ-U~C_@J@n^TXfn`E1WXd6WDH`S6KfnwZ>cPY)^5)2H_JTXsc$)n+>M`kA+6CJn9K zlC~?dsm7wjz=z0-Rbz0+TdQ5GkOPBl0&t!=yW)%T54sVv)F0$S}H3UmAJuA zef*zrN{|vv6W!Px8jC~S@o@cR+eQX&@8ojqx7y@ZQ!bx7{#8VMz z(mpo#dp(7nBkYW=Jrywm@sA?@4L0+NwhENgma+2V{AzxGM=RH456$|L4XN!ZK4zj^%d@lA?1V1hm{X4A5@)C?vQJn*4Maeiof^B8)_d`;hx9ca8LF(tAk@{w)M#u9fS-_v5dT&Lp)bm9ndiW{P}w z)9ljB(xmV0^2E~7rF*sUmsXeVDS4&*Y7m=UlUXydW^~Obosep;KDPO{L7_XRA#PjK zva!V@rdc@AZpje7=$9@0z2D&w+_}L|I6=6R60{?q8Tqb}2uJufvtYN_g)~b|i*3^Q z$ZbL5G}W>wYusgnSS^|Y{rwM#cZvN1M(?u~F&^z-RX46wdZ>Gedz@38*E^HIhn@vj zwOb0&!sXm3A2@eB=#V|~T)7Z)J}|5+{A`%BGyd7I;*hYbBYdZdvop>S2J?uc@_I|l za@S;0T@=?KAC&d@y>Wk!91^4w;nL!`=OV`hDdz$3{%6Ay{d?`7hv&2THhQla_6Z}- zkca*xVpMk}=3SLKF0y<0`(v`jbjwKFxRF!%DKQ!1cuO6>Nxab_^Rjq@rP$_?9dTmh z^kBKICYM8enI%5hl1phWq!kvH#04Tf!D2OaJW}(6oN%K>&zpj`8`QTOEK$A;}t+_}h=XX$Td(8F_ba!h(c za$I^x`hM`J4eT|>0fz5jHl{=*+uXKVTa=GheZxUo_wB+oi&^#vXChJtr$u{&+bt4Pi($cvTQtvQd{Qip6T;f3cf&@B{66gm556$Rw}h;2JL|~#qZxB_yZ+%?zpJn zC1%SVZa1H$JobRl>X2RaoNzXRtKo!T1dqSxA{_YpV}!G&fBAs&f#q@K#izV-pr)io zsORbln|(FKHF2AHxuo7H7uWaQ%r!advnwW76jjWvXkm#qJD~Fo3F3}l^fV?BkvpegY}TrAjir#*hboj&bF~}BZrS{9(8t9*ysVHce78JF5yM_ zF0u^aI!m^2y=C~}@y$ttukSTCt|+p1@CDX)V84j@82OH5ySOu%a6Lu&lmuOC+oOY%B;Gzqao(^$*aK_%P12_* z?<#PQj#loJJVHwZhw{e(`C~DyL#Y(cuZ?*r*MpkVC6COl_7rmCh45JlH<4sW?m8iS zSI{bP!fZ>;q?}ew#z+M1OdgsuH2L94Sy@@RS;gSNM(^x6hkUKX^T{#RTr=u3qqQlv zY}o|7GzC2JS-C7`UBXYkrnX2w&2w+1u91VDz{?513!PRfnHiK~2c_(9Iw%wUSAB1` zj|Z(lmT9`%b}MMbB$b2PRDxcrHY$BK;4vk&+zSi>#q7wXy5rAou@|(NK{56Yiph|- zHSLs#NcY-ubBT|YqjUvIuJ2abJvt|t0qk=(O;_n^$Gy8}W(G$}Q*Bf2v1ch|le|+- zkh1*~#q2#r2= z4SW_t4>TWT7I$lgFcx?*&f<~ZXA2)*lQk{wfynW}*xECo_i>ik+Ogo6OXsYfIsNYJ zjOl}C^(sFqg10ABm{FcXSr5uO1`E+1aU53iv6ixcN1SFU^OxPtiMONt8So_?Z;2;K zpn`*-f@0vzD}S+mKd#v>PER(Aw*&vK#~Oc~#c5v`tg1`4*=1Xyz0iX7J|$RL^N-BVy1ph?%QdNP zygfxp%pPu^9=zV39vr%vJI0Aql8xRCeKYo5Z;w^DLy;2620bLg#R z9=WE_Q|N@G-J}%b?~EYnQPIJlKI#$B>hB|!s4*$~%GBQx`@%X>%==<%pSB$Ps2DV= zw`T*)v~p!??Ag68d*V4+mm<1i0 zI&`(VKKt-EI~CxBDHd)GcZ1f72WuQBo3XaN&Zb~JTMxdc;RR7dRPfk7qE|cc!wmf3 zggZdd(ZPT2JHR6R9`QD`dMkQC_;wl?H65#W^f}UnPDdEMUqupc*|(2)i^IMx_~|~v zJL2GttYp@PnR@x;+>4Co%VOwXa*SC#6H$JI@N}S=IM9#=?ah@yZvz_4;3_us!6#WK z5f;p`aO0zc)!;UFSgO^SJJlGM8sib}w75slI>!k!fbBC8PC@uCgtHL7fb!W0=ODZv z;kyyO2Vugzdl9}5;R1y3NB9AR(-D3U;aLbr2k%umoCiH{kIqM}4R49&qsIx!pjkU6ye7Zo{aE9Krs=&1s2|JYSrh1&-P`ER~(SY z%<}cB*47j4XIdPPp=Yt6)D!XPL^o{*90uZoHJ?yVq8X+3wxA6V$f} z)VDTQTah*TSsUX4{Wuz%?>##uv_!sq_JGm56&!P8R~6^5Yv6*Z5ruH@+?yE0v9(tdxx(q*SCA1S2G)cjL8v@HcZ%PyEfA8;QSL z28MO=a~*4mPWFEM*~doj$5DEm1b(HhH;(VcW}SC&LLsnaIj|*7F?x4&^z@aFIbkv4 zmmoemSobl1axF@L6N*!lr%B1~ba&!_wD2ZSiI$6G-)-kcxo=YA(-lrwgwl^&C_eKX zSqR;un}X&13;1maR`M_6w=P)CZ^SPjEOV`MftG{it{3n-Iauj>5xT;GDY}@Az2f(IkaUNe&(D<(!&U z8?yj8PS}}DBZ>}={&+u=z+*K?O*wo|b28)_JFU;^>a4E`#coanoi}mfbju0$ihrUr z)tLaR2dxzz@o}sNi!2Ve=zhUj?)(RP&~HXR?da!zc2Six`l!-2jcm~o(){KRtqz$L znhDP5@ojWgJBj~(@eyhM^!E8jG^a-IYaKK7*N+UCgILTI$u!Zy|N2PwEV3w`$1P3$ zTf?G*fBERY4u9EP1udmcDRZxLN5#cQt_qgBUvM8Acp)MucsXpNgGCLm`yXuHcjNy? zCY~L1mJ^<~)D$`Ft-)CFLWDs)uj(}Yq{E;VT^le9=OgUGg$U9LNY{%FE|aoyNdn6d zl!)8x)74rWm!A8m81Q=9QhCTD>k#ISaN<)c26DoafZB4{C#?Gu8SR(u*Y68)iTQo!C4=azIKg zhLq}pgz8nLR9!br4^}oOZ-dyFS=EIv0T*`D{4qLe6gkyZ_6z;sHMjb+tav*owm~jzZRPEWL2b@|2N|;==-OTk+2e-oX1R1b zED@u{(H_8@1I!Q0u8A)}M<7jgBP@sO>dWeffyXNm$AD8!4_=%p^JgsElw&b+2L>fU zuBCoBe31I&@Bqn!^boG~4!+ySsaQprN-G2Yg6^NUkbJiW7{XbKPjMn|;SPsj-O*1! z)L|Q2I|cIZ(-xAR9qrdhkVKp3f2g-d{GC(#p~?K3OrH~-4Gxh3*-V#39gs59g0>=i z;qbJy@X5gxi3L)$capwar>auS(}1NDk}KpM#Y1p*uZ>$3^bp(;%0US8fKUoTm=_9x zmp*ObFI6=@hCV%QDQ?e^7FRu2l|NuPsQpff_CH8dHWM{KOHPi9Rx+SHf?iO7(C1dVyv=CN|w-8pOTPkX5z$ZQrj;h-L>|8t8VJq>`zqNzY zZDV65)K@^m_?_=}KF8p|CBf&8si?ofNB^8Lm9RAsudS@Bt{+-Gq*~KO_A`>wNj{Gb zN)0ajJ`^N4ebq{mdvE1kz$jW-@nLL-tbV4UgyMsrHk9HwI(Vib3h8q{3^YJ`PUhMN zK_37{AEuV56*FXJJ9H_Ha}Q8+5e7^FmnGcojTnu4MJtm&Jas^;&&+xv9J=%XzL{v~YYn>M3oJ21MP$mgfK?t(=aBT`k6RmT-^G46fpO!SP-L3zsEKmu_Y6bWq zhqb;Mf1dy!0xTAnN>bw=tR6Ms?qR@(F8Pc_OT6J_wYddz7qkKkhRT3vhOSB5= zk`-B2YjTV2ubefjvPPd@ku(NuCQEVISx)vsvibq*Y%A=xnIth^r3BgEsMogK5q7S_ z@+u4Qk&19_q&;8?a&nX}+85>Xh}TAPVtgdoLOEeyoJaU1PT0zAE!sMFYiOLm!c|dN z^BAnI8<4Labn$!8g$bLKQ9iw#NBli-y&e{;my^xnmSk#!?90DI@k zvrXW8J7GDC4a6&_A*F{)y1uZ$Pjp|>J{&W1F@oC8kOxY%N1N@h5;h1q0ixVlY99=N zbR|Q)7(w0(gB{m8BBbm5S-H2_Ghk)B2#br*SMz~LQ|{pB@OgqY#pqqSSlb(_IVM6Y zCR;Pbg<^rW=Mhs&dme754mWBmPq3wE`{Ptb-?@05QC)ec=Z?h$J9^9Sc+)MiI<^`h zJ(?QGb`hogBK17duer-AKvo&uW-IA4%m$AOZ5W_FxJo2u`V5=Yff4_@3YXcliV{9d+bK9dkDdETwfjI zV6{>u`mPw_L^=loE_V9g5Z$b1<)o)VpECp?fo6*t(aJRqV^K%1PX46wsNC~eI*(d= zmJ@%1My2ryk2natBQ6s2`#2{OMbNJ;h3GTyFhRVy(C7`CjNT>paM*=zV}g@|Z_wYQ zxv&-OkmlL#!AC98!AdFLzN&4V^w{`#W#RaowuzwEpCk6kf5)yA*%P=p0sMjJk2nMQ z6%mCdfx3T&hRlgSqenkS6hjAsLDsZLXnIOHn7yZOx6^O1FJ+Z&I{S(6@#+;xt45b+v!EA`~Rn-9vB&0ku7CtbeF zp=*G3oji$pQuU$)UC=cr06Q%9wV>NM0E?fY(f94wz0VH&&L4hi4xgA12|2ZqW|LZt z4lZnjmC-U-nmix}GID-nHtNYxbws@$;z;*3YUw#hpN90Q$*#_JZg1521l5;;x9OG= zJN82$8S;>2s64Oc4$U_P?aBjE8rvAnxaPg3@0NXs^^5T41bUenbrCc?8G4I`3A8#K ztl3wg?JRcpQ3>5Guf)D^4ZNEEl?MqY3-a2Eno{zgcpGiqJAm3UDW(bo>d(9CUOBBY zmsAdK28X9zOu}oj|C+^15wr)X_mupqXm)3-D-7*tW?+T6gcU~TujNR6GlF>3^3L(C z+gi4D@YbGNHSYWda@?`_K*+99ONU>Z2IXkw;ZC`T1AmTI?vsqi`^vG9f(?*@YvF?> z*G{vPe1G1m)Y5Lyvv{7d=n{rUd=^p-z4z^>m!bTW7yAjYF-=!(Oy96KX8k$KakN$@ z3kC}`wN)P#o9C+jQ$0ZwH=vfKkZx|oFWFbdG)m#FI&~;ybCG=ZDF?K%zPBO z0ZMjBJ);hpVI4C=k}^Y*O7f?|S7GF(3BII&8TPa{*bLZ+ZnwO8{-Qa29oE5d775TK zD0T5TZHJ%uWtVhEYZf2;3KqHxY`p*Ky%;RL*0fvho=%n)Scp(Uw-C`dPByj4U3GBi zJuKtFS)i!d1%qsP>O0?Beu%7t`Eiq5n;`2I(!R{#Krem$njSMNAshYAK>x|w0Q$8| ze>gWQ$(DRK_WUgKvEx`06G)&P#=8dR_L_k_)pIrg1_>3hutE=)sQ&2|tezb!;C|8i zUJ&BXNqpf;>t5?BtSMCM8B4mN$l5M=`M6B%C=q3pkE6YpMV8X`DivDEHV$JUxRWg| z6sDRM(`BP2DaWpGvai#oNY*%g>>2lHd$43Ls(x_8%(?Izp)p=5qieI3sA#iuO$QXa zFy#)&I<%{m1DQ$R)k;KI-_>eG|Mgw1288upEdgPDS1TW3eOHV4t-hq}H<^}LM4R+o4o4ZQWob+?_b+n+AMo(RH+U56pxvbE&cd~ib`!g?kX#WdxpfawZ zV}}HLL#Yk@v8U2MK=R?p2J_+nv3_U%@t5#UnQ>?XS%ybP#@43d851d?rw1Xuk=#7L zDFt|#g#FMMN#g?ozYbJ&37P_Svx7U>x)}Ob5VN0^z$#D~_hRIOXS2oB$P95zWFBh$ zjD^9fG0^N0$3Z3;8%gr!VYGcF!Xpz-klb0xJfaP$)<}|_{}+0~n8<@dYNQ$ZkXi02 zz0a0CLLOv2{L@ugKDq)JdhD3B#eAN*APE+nBa7`j(w8j9{|g)IFOzjEtRz@blP&U} z<_2g)Ra*zYoF`0%q&WqW=B1m972L+@u)LVk}xDN!7LWU$yp0NNYwwWK5(7W5yngGTf4;$f!p_J@7l)s)vg) z*5%3>Gj?l$fky9VfNC1xW(VBJuJE@Zdd|Zyb13gY`D#F)B-kA67lp=PKCs%*{&rXF z+#y$!XhUZ`4LZ!P_v`TgYQUkm-uF&K)-b!AWnd&Y9*o_=)&b8h_Sm#=9 zgmtbp3t^pWrNHM!vufNfmBH3{J7!X)sRuU9B+Ya~Ja@z+kATE}C**=V@XW+B15Xy7 zyYS@T$;NXJp1bkfhv!~A58$~U&n!F-TFSs1Pr1O5`=JY@~4{}!yr3b>36F4F~P(ysN@fwXIV zb+`by>2N0PT8HyGgmpNRcCEuX9bp~L(ZQ?+joL^**7;N(sI?H(Y6xTom%_W1a%9NE z0r%ezPn5>Whu}$n)YvwxQq?B+vA3DdxeS2sd1V%!o(pYYbUWqJr}qKV=$+?Z$nB--Fla>*@a= zh`puKfle(u(4K0YP$nTX$KtSmg}KqKAlneutstuq)~z5!C%P3R9^v`eNu+sP03V32 z@cSs%xp#tBTe&sdBHBEI{j4tPglyK~V`CP^M%smOkp!n`C0F`SYPmXRBL1LJp~jpo^nd!j_T8FYin}ul7pwan&`u zQ>=n%ehTsAy(ssUw7NDeA*&zhv((PpEbI6~O)r59KeRlVPsiC2eZ({tvRsiTY*%Qy zt^DvhcuqWNf*sqGr0PF*-vCH1kQkJ#Nhu2N*8H^7f;?Y6DIWGlZu}}`wO>IQ8D(VQ z36ml`X>vE8xaoZ4ptA%eg3Nzfv!K-+{P#6?^*%I2<05OE9l98uMakxWR)1ywk+`(r z^jz}(%oy)(>nR->3B4ls`%B^Q0hk_VQqII&Xe=fV?`{^RQ|wt<1u^DCjGP-EAG|@T znN-&r3a@`A8RS?wQH9nvK#I2uAyCR!()|12b!+ra9a=RYSup@ov4GT`IjME&M}6 z=|!LS_6}*IYjj3$k0-yh(qGwgbBf}*CB-02N{JORQf^K)tN!pL)qcv}!CABbdcUmv z1@<}{=!^8VdB68s`%D^|k&u%>XM=Q2Teq%!!%nee|IaGl)})w0kg5j-YGwCGgv2h4 zCkm-#{Fx2SeWfzsS`KW7x58qQK|2Df4^4D%kb@IAz==0i15P|Jlru?)IY=?hpH28O zGWM)K$}2Ux#cJ((Ihv<4Nki1O1m!~6Fa1|4A22#|k(D~lNB{ORy=7Cdnlb5@F>gRi z=S>n?Z5h+OUHOMkI_XM-ZzJqWI;B=J*OB$0sb|sSXG{atHkT`zZmk{7GSt-;=2=>d zmYzjR&tQDdV0_P-%9}r)NaN$wGl<O()Zn=XXBRhmY5>(1)jG9-m7iSKJWrks{4g9_`Th6So7%7F>r?3K(;(6L~f)F?qzLrfL^#Wu_X}TI?+@2X+*i97lyF z`0OWKgjDu4VxBT-Yk$GsH@)^gkJvsgte~erz;@z6d;7!03j`ObqMJryc&dv zi_Vv4sI&RU?@wBHHT`@Agq{F|o(zGI4&4YF(U(^GnP0(#XHfRpkg~SgNwrzExwXq` z*VO8`9%=*n4rgn$ovsJ1nbsSuN!AqSjcmF~$y!SzQm;$BCiTQsaOOtf%rk%p=p7Kz zLTP@=-yLT<)5`VG@XnB%ch=~!^U9wnca{4))3%oHtZu0OA9#~=j!Hc%)CJc@^{g+^ z%NoxzPp&7+Gs$BMp`EHz>zn7wcc{?*ne&b>&! zt2tXHOzEAv=~yVH?1E=H2Z(@Y10q`JYB-{&HDIh-t|I^F)CpI>O-rjS=a7rm11B`& zicZZ~kG&EeSDw<;sBAWSob^>DA8l@5VuoX(Sg3P@M=-ORbVK9NLTTM}UOl#Ng&wNw zzbmXE?DMdAoZE9&^pyIc*V<}-oBu7g1?y>Ak)AhEPOSJ(somT`>s2bPlg{3q*1t_K zqdkpsy7N>GOQL*No7r_%f=L&iB-+x!A)gPSE*&OTz~p(%?HYA%wGhp1`W3ULrRng< zR~p&m5C~|grs^Kx{d|oXb!zx`wOQ0CKSA7}u6&E+j6<{voC={ueHG{<8L-mDVx=>B zznpTO)o$gtnh|41%>GV!CCV3DTLj*@!bBq;uF7wpqkrUEls25C${dAkX6cIFFOnX~ z2k?2|-x?ExJW>R1y27N#+<_QCM0_6dur{)a<|h03NY4*uVFg+*LhHI-Ks)Gz9AtBH z4vj+L=W|HUnsghLzBuARJ z&u}UvJ?P%DeoOU$jp4DX47ZQT{?+UvWS;LLGuud#PE=^0(l>l|BWVg<+EIJRoe80G zM}kNzRh)_;s}!f3&Kor{I{WwY3i3$TY1`kXX{O}d z;>5|NM)ru*2#*166wyHsFk7>{ljYgni9yaSHM!2M8JLx9;0c{I)%_73M)}On@`arx zj=a36Tgtr7lyjYU(>3Q^IHC1yX9o>_W+r(>qbIt#gJ2aMjD{Ot6o0@tvQg1=(B&24*`{A!c z^F&zvMOghsSpCJ@Qn;o-vsTkoyiY^k+mUyA3Qm`$&`km!$fq16)nAiQN%qV;Ogg!C zUx9YZfzf-n`PHMlnob-#3v0K&2Z5b66KRRCG^;YJ&Os8P4c?U)(?a{t^Gt?+(OQ>8 zyhN3XV{4b;cd3cPj{M~-o8nFSKT zcX~*}W5y+vo}{2%gz}jouYweq^4~QstM4aGHOLv|WPT(t7^hq1N!n3Fu! ztCw#-)tCpLh(h>8WPpQZV@Hu|A&sriSdW%}a$aCh!hQY8G4W&~*hdrv_N&@aY(Qs!7Y)8XNaQXtJ zgUFp3G@~XvYAQJN8(SARau)E{)C9|?ctm_4Q`t!i!T=UaSd}#Zm*H_e$ol1o{@uL zKffQfodQHon>H{SZ}Y&j5n+)7BC{0-?BA6t%=1qc$yrESD;?*5;$P$5=RV`U<<=!x z<0nOD^vdbg$cP)$iM8KH{t5S0tV#u(l`~> z*u|@eqVARWQ(ZGTv-`ZB66Gk#88Xw3(_J%tBW6;g89FKAR;~%G3U*N>S@APKN7XNEz6tEgX6{4y0Cr~o6Nvh zJMcAeKw5YX_H>GYMJ}@91P^>h9QVI)UP6l-J~1sk9zLv#(;JYoI9-Pb-M#?-laTS~ zlui^vl%9b$h_>^DY2k&!?cqPO?>cVOG6mikyr&oC+YbC1VCxzw-9}^p?}`QQqIB|h zTYNq2blBz7ZZV5Uf9|t|l(3_*_Pk(l{!!OTz6)(8%@;6yAXvKWm`KXh8tc~7R z;ZgisY&gWP=Z5g>m8Hv^bRSYYOJ;Pp+1xWlvhKP3cG?DKh12NWG!eJKEq%#ZMs$A?Q3Bm8^GNB;()SuF_zmQj*SekmfFG!OVaEj)phlxNzoL?MSAv@x_H+N> z!l38QbUotguw*NNhLik7{($kjVNu?OsL!LmV2g!CV{;TarZvII)4EX7P|Q1U&e+l5 zQ~ARWs&#ZTZrakN`Zpf}7G@}0gCBkZ9K;Y|+xz}z}ix?c&t7o6VL&vkSq;*OE!%~Htg_*)bf~|CX zMP|k9ir)>mF?@RXES#2_D$%`4<5lQux4fnK-LCbn>OLEXhTh>+;o9J;j^7wfo^Ye! z!%Vj`eXQ~}n`^u~(>>d*bE$u@{p=E26H**icC`vggb-{1pz*Q0D5idks4!>It&Fh51gCS5D=szu76ygH30~Q^0NxyYI zMjx8nS)WV2GfBe|f@xeQOdqC}qIN~SeC_U@n~b}L{lN5F*E9&|v)x;nE>-P*X?K(g z&6hB?sy*7Rd;boi>(3NeMR}F=NymK0Cn{9a*&S@*wX1rT_k5w}-`HPR;Fn*AXzK1; zcGG!cg6J)1HC2UZtnwh6EYW!AhV zHt!scG|~;OluF4W^bqzY7cttyc}ZSp9VG2%OV!pMDvwT$8XPOX%x1(qoRH|(&L|kY zp3&NF3*DzkUhHiu)_u$zgT-DMfv~o&ouKY~`0Ba|$;H}DSToo&&I0FbwvxG-wwq@3 zzA<_O`;zTr98OklD#U5C@Ll1iU;*G<0NigF^7)W+>{OpiLwVb}k#sj7=hSm+d2^J| zT-vR4dLAuDezzR&jjXeIY&EHzGrUu>Nbi-N7Y%? zQg|1C=^9D9asaxy!m1FdE<~=>9J&Q)^5JJazktMpu zx^8vd>-tmE{l43MH~L2U-t~RnmWX?VbU16!+%)%JLsRT*>6{A9bAjS*p)F~BcXs58 zP)}M^i5oFWo<|9o|0pmxQ#GCpLgOt-r)M+x~pCF3hb5Fua2S<0E&T{Xc& zqk~I#^_D1D+l@D*nZj4Lj+dFeU*v=5GVFHwo=AJsyhyuT6glYJMMizfaOODYI*Xjt zr|($ZoIP1XYH>FdY!{Ux^}ysbIH?Ev*f)2MU9;q9cI2)$uY^N=H#nRK>HSgE+Z_%^ z)zlM+?}EdTjuIy?gTtYan*Kc;%pGtrTm}aTH^EY$CW|>@zPMaW6luiNmOkQF{>6w1 zi;s2S?6Lcm4BFeEnL2?ul5E0obMuf|4MxN*DKBv+%DbLvTAcZ?U8ekLPP0>|qp#sf z!X&!wt!7-)**|Z6ee0zTsq{rgc2n!%Nxg2`I%=!V--JA!zd39#Z0X`}Kdbe?FNUXj zKAZKO%3=O;|3S>PcK>o(;Kbmcd%^xNYf{!%jJTCvr)QyF=LJ<7@2WMVcVnB*zVq5E zuU*-@Nn5R*y{irB-NugIeZy+~i^bZ2h#TK@iF-R!Z?VK_h>I+zKBHcr0j`s?72AZm zDBm~iK9s#LaR0BAy|?1lP7YnxIeW!6uNz$IG9QmGt^2LdGP>dT8cEY8{>}jPvHQ>B zHseDi!;G&Wzk~t>9_G1gvgl@Iqc_=hApX1P^Xz}?KdSEy-wqv?XX4wVzhplDMe&U2 z4V-6fn~!ep9L0Q{KNr{e>Ij;lYpuSTW!g!zCr{8Buf4=ZKQt+8Kg&ih23F|vvbGbN zmD}`{N#{VPSXcRKW}K6db)IE7Ut+0quB^v1SD#<_C-YiO8XXf2ht`x;@e)gZBEwuM|Y@VjcO6tft8w z9(uRnHlHa{DZJQ#NAnYTy3tf%=9sjE9umbBFrovJfNI9RbM{2< zpNCLv-oWJ%QOdiGgQc$4sI(?ykyXGmx{}ci*|ln2``Ip5kJy0~E7{TBZMZ4@cmJ_` zP4?Pfvzjl)P399=Ci@CIDnn}j(M^{P8$6)bE5>(*t!A>Zb=WC3M*8mo|Ah2bE+qO( z#zvnbDYN1KT%E|!zN|1tX;>mv>k zUsuzjr9{6*Lnr$G99H%NS+PF7!c%Ndhi{W+<@lPd2M;CwN4BG*;ES}%>GFWiTgm#8 zp0)w{Fv%fQf~YD~cIYX!ppJZDxj?IIX#R_={HVUa^n`PsbDGm$Iuc&0Evjb~;rci1 zBwN+7&+wH(`mZTKa-_jYKBP3`>CR*)>3*aey~{}RN~j=jRMPE9!U&UQiVumDi>M%` z!~g2H&;n7xD&nH4qlYqypk-BI`U7HwawrSAL|S~tFCGlVIszuv8dQ=F9o zZvH9q6eh_&U#V{tZUgl?oz91Z+`{{u+D)M)&c6N)Lf-%<_w$btaDNWn^Miem$@Wa8 z@+93wpxJND$L#Xy52+Os&P4Pp>0k0QyUu?fEC7G_&{j8o3sL{XiqRD{b!)ej`03Vh z>YLa9cEyfTN+-|qTS`+)DZSjkp|qlu(hvIIE#0Q34@dg=Qk#>~KlYQY$$2>0nl^@V zjWXUeZ2PP|S?@bvb5dQj5)tj)mlP{g{)$-}v)0zsRNR(ytC#Y>F=tQKyEWTtdL7QQ zE+0cB<{FEJC4$4zJ>FD;o3kMQCgcRg}{P`|z2{-K9=+vq-{K{0f?iEiz*;hvy0Wffc2p~v->c>b8R zJ;??+vDtWb*k<`t>*r(0%9U>;oq=RYW(`ws$9y&6y@a0L|7jx#>+*c^==9NdjGi+( zv2<+dt)=&t^6ELtw7`+H*6=7rZjc{n&mxT`+!GY!)Mzhh)Fep|RdEfWZ=<@s{Xq&% zd%oLSTDLb7Zg9QTHr6(Lh}$$BT6?l{MHf#%>;j{ zc(X{9ad*JkKy`dk{&9J*{7|{`bQkW8IAND}G;C!T|$N~znljd z=TS91moS%j6iJOVzJEei{AZvh7r)|X(pL74e6kao$E$v-%5XNYcN@uqOJ8o_fAa|c z%Jezx7f1#bWE5r>&XaXbbP+VslT{b1%qn**h0Vj<6uQ5=z3PLiRB@ts7AuRU`)pt% zQ46=Gi!Mg_Ko?c#>vT=#EW7JB&+Ol>(mQ8o@5<4;<8?pP{aWu{t9!qWdPgh&zv|uT zx?ehb*OfO+e#^Jj7Xat&iFWkf$4EQeZ&%Hz?Iq>4M@!``U3fkmJoYB(M@H7`dsI#~ z0CV=>z^LH<&r}|(O5i3{c6{ajof&U$-BAxa;oyzEPP>0`SI2BjxTLO=WWl0+L9@Cq zNN;-S@mp>6km1$!>m{LDApD4RXxhgs|FM+uTUIa4XLK-I%)VhJ_3ma~?h6d;8yJ9- z$O8hm$+uZ^#!NFlFf1NpC3_I!xoC{E7Wqnc?#0jxx@6yW}kMmOYyEbW*bP1@wkg zVWMz<;CFp)99qow$Q1*3$uC6oSB$brrn`)(PTB!6dQ0upmmir6GNH>kyycb_S~sfU zO|j6pYM3Z*LkolY$A`WC!xxOk79S{XkCXhWocw^lw?JPZpxVgq{>u7_U?QC^=H9TvOg*HDUPM6>gF+J{OdXg_Jo^;>#u>9?iq zSK8I*mD;A6eMNq?TRj5mp>deErEQDY61T7f$H8I`?X976LxNP>JU3>9X= zgTyXZUe+5OqMFS7kh}%8eZh#6dt}->?|rrl%0AqLLc3tk@XdN2+LT_@r^CiN=--2mt#>1ufZZY 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

hsR6gWRI81slc~|eA{V#+vas;H-oayl#Iosp8 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

g|2U$ct&ZoxU+YA!PckFO<1^D17& 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 wnoLgFYarRCp6j9?-LPa(iCQ@Of + */ + +#include +#include +#include +#include "contiki.h" +#include "contiki-net.h" + +#define MAX_PLUGFEST_PAYLOAD 64+1 /* +1 for the terminating zero, which is not transmitted */ + +/* Define which resources to include to meet memory constraints. */ +#define REST_RES_TEST 1 +#define REST_RES_LONG 1 +#define REST_RES_QUERY 1 +#define REST_RES_SEPARATE 1 +#define REST_RES_LARGE 1 +#define REST_RES_LARGE_UPDATE 1 +#define REST_RES_LARGE_CREATE 1 +#define REST_RES_OBS 1 + + +#if !defined (CONTIKI_TARGET_MINIMAL_NET) +#warning "Should only be compiled for minimal-net!" +#endif + + +#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" + +/* For CoAP-specific example: not required for normal RESTful Web service. */ +#if WITH_COAP==7 +#include "er-coap-07.h" +#else +#error "Plugtests server without CoAP" +#endif /* CoAP-specific example */ + +#define DEBUG 1 +#if DEBUG +#define PRINTF(...) printf(__VA_ARGS__) +#define PRINT6ADDR(addr) PRINTF("[%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x]", ((uint8_t *)addr)[0], ((uint8_t *)addr)[1], ((uint8_t *)addr)[2], ((uint8_t *)addr)[3], ((uint8_t *)addr)[4], ((uint8_t *)addr)[5], ((uint8_t *)addr)[6], ((uint8_t *)addr)[7], ((uint8_t *)addr)[8], ((uint8_t *)addr)[9], ((uint8_t *)addr)[10], ((uint8_t *)addr)[11], ((uint8_t *)addr)[12], ((uint8_t *)addr)[13], ((uint8_t *)addr)[14], ((uint8_t *)addr)[15]) +#define PRINTLLADDR(lladdr) PRINTF("[%02x:%02x:%02x:%02x:%02x:%02x]",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) +#else +#define PRINTF(...) +#define PRINT6ADDR(addr) +#define PRINTLLADDR(addr) +#endif + + +#if REST_RES_TEST +/* + * Default test resource + */ +RESOURCE(test, METHOD_GET|METHOD_POST|METHOD_PUT|METHOD_DELETE, "test", "title=\"Default test resource\""); + +void +test_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + + uint8_t method = REST.get_method_type(request); + + PRINTF("/test "); + if (method & METHOD_GET) + { + PRINTF("GET "); + /* Code 2.05 CONTENT is default. */ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + REST.set_response_payload(response, buffer, snprintf((char *)buffer, MAX_PLUGFEST_PAYLOAD, "Type: %u\nCode: %u\nMID: %u", coap_req->type, coap_req->code, coap_req->mid)); + } + else if (method & METHOD_POST) + { + PRINTF("POST "); + REST.set_response_status(response, REST.status.CREATED); + REST.set_header_location(response, "/nirvana"); + } + else if (method & METHOD_PUT) + { + PRINTF("PUT "); + REST.set_response_status(response, REST.status.CHANGED); + } + else if (method & METHOD_DELETE) + { + PRINTF("DELETE "); + REST.set_response_status(response, REST.status.DELETED); + } + + PRINTF("(%s %u)\n", coap_req->type==COAP_TYPE_CON?"CON":"NON", coap_req->mid); +} +#endif + +#if REST_RES_LONG +/* + * Long path resource + */ +RESOURCE(longpath, METHOD_GET, "seg1/seg2/seg3", "title=\"Long path resource\""); + +void +longpath_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + + uint8_t method = REST.get_method_type(request); + + PRINTF("/seg1/seg2/seg3 "); + if (method & METHOD_GET) + { + PRINTF("GET "); + /* Code 2.05 CONTENT is default. */ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + REST.set_response_payload(response, buffer, snprintf((char *)buffer, MAX_PLUGFEST_PAYLOAD, "Type: %u\nCode: %u\nMID: %u", coap_req->type, coap_req->code, coap_req->mid)); + } + PRINTF("(%s %u)\n", coap_req->type==COAP_TYPE_CON?"CON":"NON", coap_req->mid); +} +#endif + +#if REST_RES_QUERY +/* + * Resource accepting query parameters + */ +RESOURCE(query, METHOD_GET, "query", "title=\"Resource accepting query parameters\""); + +void +query_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + int len = 0; + const char *query = NULL; + + PRINTF("/query GET (%s %u)\n", coap_req->type==COAP_TYPE_CON?"CON":"NON", coap_req->mid); + + if ((len = REST.get_query(request, &query))) + { + PRINTF("Query: %.*s\n", len, query); + } + + /* Code 2.05 CONTENT is default. */ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + REST.set_response_payload(response, buffer, snprintf((char *)buffer, MAX_PLUGFEST_PAYLOAD, "Type: %u\nCode: %u\nMID: %u\nQuery: %.*s", coap_req->type, coap_req->code, coap_req->mid, len, query)); +} +#endif + +#if REST_RES_SEPARATE +/* Required to manually (=not by the engine) handle the response transaction. */ +#include "er-coap-07-separate.h" +#include "er-coap-07-transactions.h" +/* + * Resource which cannot be served immediately and which cannot be acknowledged in a piggy-backed way + */ +PERIODIC_RESOURCE(separate, METHOD_GET, "separate", "title=\"Resource which cannot be served immediately and which cannot be acknowledged in a piggy-backed way\"", 3*CLOCK_SECOND); + +/* A structure to store the required information */ +typedef struct application_separate_store { + /* Provided by Erbium to store generic request information such as remote address and token. */ + coap_separate_t request_metadata; + /* Add fields for addition information to be stored for finalizing, e.g.: */ + char buffer[MAX_PLUGFEST_PAYLOAD]; +} application_separate_store_t; + +static uint8_t separate_active = 0; +static application_separate_store_t separate_store[1]; + +void +separate_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + + PRINTF("/separate "); + if (separate_active) + { + PRINTF("REJECTED "); + coap_separate_reject(); + } + else + { + PRINTF("STORED "); + separate_active = 1; + + /* Take over and skip response by engine. */ + coap_separate_accept(request, &separate_store->request_metadata); + /* Be aware to respect the Block2 option, which is also stored in the coap_separate_t. */ + + snprintf(separate_store->buffer, MAX_PLUGFEST_PAYLOAD, "Type: %u\nCode: %u\nMID: %u", coap_req->type, coap_req->code, coap_req->mid); + } + + PRINTF("(%s %u)\n", coap_req->type==COAP_TYPE_CON?"CON":"NON", coap_req->mid); +} + +void +separate_periodic_handler(resource_t *resource) +{ + if (separate_active) + { + PRINTF("/separate "); + coap_transaction_t *transaction = NULL; + if ( (transaction = coap_new_transaction(separate_store->request_metadata.mid, &separate_store->request_metadata.addr, separate_store->request_metadata.port)) ) + { + PRINTF("RESPONSE (%s %u)\n", separate_store->request_metadata.type==COAP_TYPE_CON?"CON":"NON", separate_store->request_metadata.mid); + + coap_packet_t response[1]; /* This way the packet can be treated as pointer as usual. */ + + /* Restore the request information for the response. */ + coap_separate_resume(response, &separate_store->request_metadata, CONTENT_2_05); + + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + coap_set_payload(response, separate_store->buffer, strlen(separate_store->buffer)); + + /* + * Be aware to respect the Block2 option, which is also stored in the coap_separate_t. + * As it is a critical option, this example resource pretends to handle it for compliance. + */ + coap_set_header_block2(response, separate_store->request_metadata.block2_num, 0, separate_store->request_metadata.block2_size); + + /* Warning: No check for serialization error. */ + transaction->packet_len = coap_serialize_message(response, transaction->packet); + coap_send_transaction(transaction); + /* The engine will clear the transaction (right after send for NON, after acked for CON). */ + + separate_active = 0; + } else { + PRINTF("ERROR (transaction)\n"); + } + } /* if (separate_active) */ +} +#endif + +#if REST_RES_LARGE +/* + * Large resource + */ +RESOURCE(large, METHOD_GET, "large", "title=\"Large resource\";rt=\"block\""); + +#define CHUNKS_TOTAL 1280 + +void +large_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + int32_t strpos = 0; + + /* Check the offset for boundaries of the resource data. */ + if (*offset>=CHUNKS_TOTAL) + { + REST.set_response_status(response, REST.status.BAD_OPTION); + /* A block error message should not exceed the minimum block size (16). */ + + const char *error_msg = "BlockOutOfScope"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + + /* Generate data until reaching CHUNKS_TOTAL. */ + while (strpos preferred_size) + { + strpos = preferred_size; + } + + /* Truncate if above CHUNKS_TOTAL bytes. */ + if (*offset+(int32_t)strpos > CHUNKS_TOTAL) + { + strpos = CHUNKS_TOTAL - *offset; + } + + REST.set_response_payload(response, buffer, strpos); + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + + /* IMPORTANT for chunk-wise resources: Signal chunk awareness to REST engine. */ + *offset += strpos; + + /* Signal end of resource representation. */ + if (*offset>=CHUNKS_TOTAL) + { + *offset = -1; + } +} +#endif + +#if REST_RES_LARGE_UPDATE +/* + * Large resource that can be updated using PUT method + */ +RESOURCE(large_update, METHOD_GET|METHOD_PUT, "large-update", "title=\"Large resource that can be updated using PUT method\";rt=\"block\""); + +static int32_t large_update_size = 1280; +static uint8_t large_update_store[2048] = {0}; +static unsigned int large_update_ct = -1; + +void +large_update_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + uint8_t method = REST.get_method_type(request); + + if (method & METHOD_GET) + { + /* Check the offset for boundaries of the resource data. */ + if (*offset>=large_update_size) + { + REST.set_response_status(response, REST.status.BAD_OPTION); + /* A block error message should not exceed the minimum block size (16). */ + + const char *error_msg = "BlockOutOfScope"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + + REST.set_response_payload(response, large_update_store+*offset, preferred_size); + REST.set_header_content_type(response, large_update_ct); + + /* IMPORTANT for chunk-wise resources: Signal chunk awareness to REST engine. */ + *offset += preferred_size; + + /* Signal end of resource representation. */ + if (*offset>=large_update_size) + { + *offset = -1; + } + } else { + uint8_t *incoming = NULL; + size_t len = 0; + + unsigned int ct = REST.get_header_content_type(request); + if (ct==-1) + { + REST.set_response_status(response, REST.status.BAD_REQUEST); + const char *error_msg = "NoContentType"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + + if ((len = REST.get_request_payload(request, &incoming))) + { + if (coap_req->block1_num*coap_req->block1_size+len <= sizeof(large_update_store)) + { + memcpy(large_update_store+coap_req->block1_num*coap_req->block1_size, incoming, len); + large_update_size = coap_req->block1_num*coap_req->block1_size+len; + large_update_ct = REST.get_header_content_type(request); + + REST.set_response_status(response, REST.status.CHANGED); + coap_set_header_block1(response, coap_req->block1_num, 0, coap_req->block1_size); + } + else + { + REST.set_response_status(response, REST.status.REQUEST_ENTITY_TOO_LARGE); + REST.set_response_payload(response, buffer, snprintf((char *)buffer, MAX_PLUGFEST_PAYLOAD, "%uB max.", sizeof(large_update_store))); + return; + } + } + else + { + REST.set_response_status(response, REST.status.BAD_REQUEST); + const char *error_msg = "NoPayload"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + } +} +#endif + +#if REST_RES_LARGE_CREATE +/* + * Large resource that can be created using POST method + */ +RESOURCE(large_create, METHOD_POST, "large-create", "title=\"Large resource that can be created using POST method\";rt=\"block\""); + +void +large_create_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + coap_packet_t *const coap_req = (coap_packet_t *) request; + + uint8_t *incoming = NULL; + size_t len = 0; + + unsigned int ct = REST.get_header_content_type(request); + if (ct==-1) + { + REST.set_response_status(response, REST.status.BAD_REQUEST); + const char *error_msg = "NoContentType"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + + if ((len = REST.get_request_payload(request, &incoming))) + { + if (coap_req->block1_num*coap_req->block1_size+len <= 2048) + { + REST.set_response_status(response, REST.status.CREATED); + REST.set_header_location(response, "/nirvana"); + coap_set_header_block1(response, coap_req->block1_num, 0, coap_req->block1_size); + } + else + { + REST.set_response_status(response, REST.status.REQUEST_ENTITY_TOO_LARGE); + const char *error_msg = "2048B max."; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } + } + else + { + REST.set_response_status(response, REST.status.BAD_REQUEST); + const char *error_msg = "NoPayload"; + REST.set_response_payload(response, error_msg, strlen(error_msg)); + return; + } +} +#endif + +#if REST_RES_OBS +/* + * Observable resource which changes every 5 seconds + */ +PERIODIC_RESOURCE(obs, METHOD_GET, "obs", "title=\"Observable resource which changes every 5 seconds\";obs;rt=\"observe\"", 5*CLOCK_SECOND); + +static uint16_t obs_counter = 0; +static char obs_content[16]; + +void +obs_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) +{ + REST.set_header_content_type(response, REST.type.TEXT_PLAIN); + REST.set_header_max_age(response, 5); + + REST.set_response_payload(response, obs_content, snprintf(obs_content, MAX_PLUGFEST_PAYLOAD, "TICK %lu", obs_counter)); + + /* A post_handler that handles subscriptions will be called for periodic resources by the REST framework. */ +} + +/* + * Additionally, a handler function named [resource name]_handler must be implemented for each PERIODIC_RESOURCE. + * It will be called by the REST manager process with the defined period. + */ +void +obs_periodic_handler(resource_t *r) +{ + ++obs_counter; + + PRINTF("TICK %u for /%s\n", obs_counter, r->url); + + /* Build notification. */ + /*TODO: REST.new_response() */ + coap_packet_t notification[1]; /* This way the packet can be treated as pointer as usual. */ + coap_init_message(notification, COAP_TYPE_NON, CONTENT_2_05, 0 ); + + /* Better use a generator function for both handlers that only takes *resonse. */ + obs_handler(NULL, notification, NULL, 0, NULL); + + /* Notify the registered observers with the given message type, observe option, and payload. */ + REST.notify_subscribers(r, obs_counter, notification); +} +#endif + +PROCESS(plugtest_server, "PlugtestServer"); +AUTOSTART_PROCESSES(&plugtest_server); + +PROCESS_THREAD(plugtest_server, ev, data) +{ + PROCESS_BEGIN(); + + PRINTF("ETSI IoT CoAP Plugtests Server\n"); + +#ifdef RF_CHANNEL + PRINTF("RF channel: %u\n", RF_CHANNEL); +#endif +#ifdef IEEE802154_PANID + PRINTF("PAN ID: 0x%04X\n", IEEE802154_PANID); +#endif + + PRINTF("uIP buffer: %u\n", UIP_BUFSIZE); + PRINTF("LL header: %u\n", UIP_LLH_LEN); + PRINTF("IP+UDP header: %u\n", UIP_IPUDPH_LEN); + PRINTF("REST max chunk: %u\n", REST_MAX_CHUNK_SIZE); + +/* if static routes are used rather than RPL */ +#if !UIP_CONF_IPV6_RPL && !defined (CONTIKI_TARGET_MINIMAL_NET) + set_global_address(); + configure_routing(); +#endif + + /* Initialize the REST engine. */ + rest_init_engine(); + + /* Activate the application-specific resources. */ +#if REST_RES_TEST + rest_activate_resource(&resource_test); +#endif +#if REST_RES_LONG + rest_activate_resource(&resource_longpath); +#endif +#if REST_RES_QUERY + rest_activate_resource(&resource_query); +#endif +#if REST_RES_SEPARATE + rest_activate_periodic_resource(&periodic_resource_separate); +#endif +#if REST_RES_LARGE + rest_activate_resource(&resource_large); +#endif +#if REST_RES_LARGE_UPDATE + large_update_ct = REST.type.APPLICATION_OCTET_STREAM; + rest_activate_resource(&resource_large_update); +#endif +#if REST_RES_LARGE_CREATE + rest_activate_resource(&resource_large_create); +#endif +#if REST_RES_OBS + rest_activate_periodic_resource(&periodic_resource_obs); +#endif + + /* Define application-specific events here. */ + while(1) { + PROCESS_WAIT_EVENT(); + + } /* while (1) */ + + PROCESS_END(); +} diff --git a/examples/osd/wirelessplug/project-conf.h b/examples/osd/wirelessplug/project-conf.h new file mode 100644 index 000000000..1c3dd8933 --- /dev/null +++ b/examples/osd/wirelessplug/project-conf.h @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2010, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * + */ + +#ifndef __PROJECT_RPL_WEB_CONF_H__ +#define __PROJECT_RPL_WEB_CONF_H__ + +#define SICSLOWPAN_CONF_FRAG 1 + +/* Disabling RDC for demo purposes. Core updates often require more memory. */ +/* For projects, optimize memory and enable RDC again. */ +//#undef NETSTACK_CONF_RDC +//#define NETSTACK_CONF_RDC nullrdc_driver + +/* Save some memory for the sky platform. */ +#undef UIP_CONF_DS6_NBR_NBU +#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 +#endif + +/* Multiplies with chunk size, be aware of memory constraints. */ +#ifndef COAP_MAX_OPEN_TRANSACTIONS +#define COAP_MAX_OPEN_TRANSACTIONS 2 +#endif + +/* 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. */ +#undef QUEUEBUF_CONF_NUM +#define QUEUEBUF_CONF_NUM 4 + +#endif /* __PROJECT_RPL_WEB_CONF_H__ */ diff --git a/examples/osd/wirelessplug/run.sh b/examples/osd/wirelessplug/run.sh new file mode 100755 index 000000000..02b03a5bb --- /dev/null +++ b/examples/osd/wirelessplug/run.sh @@ -0,0 +1,7 @@ +#!/bin/bash +make clean TARGET=osd-er-lp24 +make TARGET=osd-er-lp24 +avr-size -C --mcu=MCU=atmega128rfa1 er-example-server.osd-er-lp24 +avr-objcopy -j .text -j .data -O ihex er-example-server.osd-er-lp24 er-example-server.osd-er-lp24.hex +avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex er-example-server.osd-er-lp24 er-example-server.osd-er-lp24.eep + diff --git a/examples/osd/wirelessplug/server-client.csc b/examples/osd/wirelessplug/server-client.csc new file mode 100644 index 000000000..8c45fdf02 --- /dev/null +++ b/examples/osd/wirelessplug/server-client.csc @@ -0,0 +1,227 @@ + + + [CONTIKI_DIR]/tools/cooja/apps/mrm + [CONTIKI_DIR]/tools/cooja/apps/mspsim + [CONTIKI_DIR]/tools/cooja/apps/avrora + [CONTIKI_DIR]/tools/cooja/apps/serial_socket + [CONTIKI_DIR]/tools/cooja/apps/collect-view + + REST with RPL router + -2147483648 + 123456 + 1000000 + + se.sics.cooja.radiomediums.UDGM + 50.0 + 50.0 + 1.0 + 1.0 + + + 40000 + + + se.sics.cooja.mspmote.SkyMoteType + rplroot + Sky RPL Root + [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.c + make border-router.sky TARGET=sky + [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.sky + se.sics.cooja.interfaces.Position + se.sics.cooja.interfaces.RimeAddress + se.sics.cooja.interfaces.IPAddress + se.sics.cooja.interfaces.Mote2MoteRelations + se.sics.cooja.interfaces.MoteAttributes + se.sics.cooja.mspmote.interfaces.MspClock + se.sics.cooja.mspmote.interfaces.MspMoteID + se.sics.cooja.mspmote.interfaces.SkyButton + se.sics.cooja.mspmote.interfaces.SkyFlash + se.sics.cooja.mspmote.interfaces.SkyCoffeeFilesystem + se.sics.cooja.mspmote.interfaces.SkyByteRadio + se.sics.cooja.mspmote.interfaces.MspSerial + se.sics.cooja.mspmote.interfaces.SkyLED + se.sics.cooja.mspmote.interfaces.MspDebugOutput + se.sics.cooja.mspmote.interfaces.SkyTemperature + + + se.sics.cooja.mspmote.SkyMoteType + server + Erbium Server + [CONTIKI_DIR]/examples/er-rest-example/er-example-server.c + make er-example-server.sky TARGET=sky + [CONTIKI_DIR]/examples/er-rest-example/er-example-server.sky + se.sics.cooja.interfaces.Position + se.sics.cooja.interfaces.RimeAddress + se.sics.cooja.interfaces.IPAddress + se.sics.cooja.interfaces.Mote2MoteRelations + se.sics.cooja.interfaces.MoteAttributes + se.sics.cooja.mspmote.interfaces.MspClock + se.sics.cooja.mspmote.interfaces.MspMoteID + se.sics.cooja.mspmote.interfaces.SkyButton + se.sics.cooja.mspmote.interfaces.SkyFlash + se.sics.cooja.mspmote.interfaces.SkyCoffeeFilesystem + se.sics.cooja.mspmote.interfaces.SkyByteRadio + se.sics.cooja.mspmote.interfaces.MspSerial + se.sics.cooja.mspmote.interfaces.SkyLED + se.sics.cooja.mspmote.interfaces.MspDebugOutput + se.sics.cooja.mspmote.interfaces.SkyTemperature + + + se.sics.cooja.mspmote.SkyMoteType + client + Erbium Client + [CONTIKI_DIR]/examples/er-rest-example/er-example-client.c + make er-example-client.sky TARGET=sky + [CONTIKI_DIR]/examples/er-rest-example/er-example-client.sky + se.sics.cooja.interfaces.Position + se.sics.cooja.interfaces.RimeAddress + se.sics.cooja.interfaces.IPAddress + se.sics.cooja.interfaces.Mote2MoteRelations + se.sics.cooja.interfaces.MoteAttributes + se.sics.cooja.mspmote.interfaces.MspClock + se.sics.cooja.mspmote.interfaces.MspMoteID + se.sics.cooja.mspmote.interfaces.SkyButton + se.sics.cooja.mspmote.interfaces.SkyFlash + se.sics.cooja.mspmote.interfaces.SkyCoffeeFilesystem + se.sics.cooja.mspmote.interfaces.SkyByteRadio + se.sics.cooja.mspmote.interfaces.MspSerial + se.sics.cooja.mspmote.interfaces.SkyLED + se.sics.cooja.mspmote.interfaces.MspDebugOutput + se.sics.cooja.mspmote.interfaces.SkyTemperature + + + + + se.sics.cooja.interfaces.Position + 33.260163187353555 + 30.643217359962595 + 0.0 + + + se.sics.cooja.mspmote.interfaces.MspMoteID + 1 + + rplroot + + + + + se.sics.cooja.interfaces.Position + 46.57186415376375 + 40.35946215910942 + 0.0 + + + se.sics.cooja.mspmote.interfaces.MspMoteID + 2 + + server + + + + + se.sics.cooja.interfaces.Position + 18.638049428485125 + 47.55034515769599 + 0.0 + + + se.sics.cooja.mspmote.interfaces.MspMoteID + 3 + + client + + + + se.sics.cooja.plugins.SimControl + 259 + 0 + 179 + 0 + 0 + + + se.sics.cooja.plugins.Visualizer + + se.sics.cooja.plugins.skins.IDVisualizerSkin + se.sics.cooja.plugins.skins.UDGMVisualizerSkin + se.sics.cooja.plugins.skins.MoteTypeVisualizerSkin + se.sics.cooja.plugins.skins.AttributeVisualizerSkin + se.sics.cooja.plugins.skins.LEDVisualizerSkin + se.sics.cooja.plugins.skins.AddressVisualizerSkin + 3.61568947862321 0.0 0.0 3.61568947862321 15.610600779367 -85.92728269158351 + + 300 + 2 + 178 + 261 + 1 + + + se.sics.cooja.plugins.LogListener + + + + + 762 + 3 + 491 + 2 + 182 + + + se.sics.cooja.plugins.RadioLogger + + 150 + + + 451 + -1 + 305 + 73 + 140 + true + + + SerialSocketServer + 0 + 422 + 4 + 74 + 578 + 18 + + + se.sics.cooja.plugins.TimeLine + + 0 + 1 + 2 + + + + + 125 + 25.49079397896416 + + 1624 + 5 + 252 + 6 + 712 + + + se.sics.cooja.plugins.MoteInterfaceViewer + 2 + + Serial port + 0,0 + + 853 + 1 + 491 + 765 + 182 + + + diff --git a/examples/osd/wirelessplug/server-only.csc b/examples/osd/wirelessplug/server-only.csc new file mode 100644 index 000000000..d5eee34d6 --- /dev/null +++ b/examples/osd/wirelessplug/server-only.csc @@ -0,0 +1,189 @@ + + + [CONTIKI_DIR]/tools/cooja/apps/mrm + [CONTIKI_DIR]/tools/cooja/apps/mspsim + [CONTIKI_DIR]/tools/cooja/apps/avrora + [CONTIKI_DIR]/tools/cooja/apps/serial_socket + [CONTIKI_DIR]/tools/cooja/apps/collect-view + + REST with RPL router + -2147483648 + 123456 + 1000000 + + se.sics.cooja.radiomediums.UDGM + 50.0 + 50.0 + 1.0 + 1.0 + + + 40000 + + + se.sics.cooja.mspmote.SkyMoteType + rplroot + Sky RPL Root + [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.c + make border-router.sky TARGET=sky + [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.sky + se.sics.cooja.interfaces.Position + se.sics.cooja.interfaces.RimeAddress + se.sics.cooja.interfaces.IPAddress + se.sics.cooja.interfaces.Mote2MoteRelations + se.sics.cooja.interfaces.MoteAttributes + se.sics.cooja.mspmote.interfaces.MspClock + se.sics.cooja.mspmote.interfaces.MspMoteID + se.sics.cooja.mspmote.interfaces.SkyButton + se.sics.cooja.mspmote.interfaces.SkyFlash + se.sics.cooja.mspmote.interfaces.SkyCoffeeFilesystem + se.sics.cooja.mspmote.interfaces.SkyByteRadio + se.sics.cooja.mspmote.interfaces.MspSerial + se.sics.cooja.mspmote.interfaces.SkyLED + se.sics.cooja.mspmote.interfaces.MspDebugOutput + se.sics.cooja.mspmote.interfaces.SkyTemperature + + + se.sics.cooja.mspmote.SkyMoteType + server + Erbium Server + [CONTIKI_DIR]/examples/er-rest-example/er-example-server.c + make er-example-server.sky TARGET=sky + [CONTIKI_DIR]/examples/er-rest-example/er-example-server.sky + se.sics.cooja.interfaces.Position + se.sics.cooja.interfaces.RimeAddress + se.sics.cooja.interfaces.IPAddress + se.sics.cooja.interfaces.Mote2MoteRelations + se.sics.cooja.interfaces.MoteAttributes + se.sics.cooja.mspmote.interfaces.MspClock + se.sics.cooja.mspmote.interfaces.MspMoteID + se.sics.cooja.mspmote.interfaces.SkyButton + se.sics.cooja.mspmote.interfaces.SkyFlash + se.sics.cooja.mspmote.interfaces.SkyCoffeeFilesystem + se.sics.cooja.mspmote.interfaces.SkyByteRadio + se.sics.cooja.mspmote.interfaces.MspSerial + se.sics.cooja.mspmote.interfaces.SkyLED + se.sics.cooja.mspmote.interfaces.MspDebugOutput + se.sics.cooja.mspmote.interfaces.SkyTemperature + + + + + se.sics.cooja.interfaces.Position + 33.260163187353555 + 30.643217359962595 + 0.0 + + + se.sics.cooja.mspmote.interfaces.MspMoteID + 1 + + rplroot + + + + + se.sics.cooja.interfaces.Position + 35.100895239785295 + 39.70574552287428 + 0.0 + + + se.sics.cooja.mspmote.interfaces.MspMoteID + 2 + + server + + + + se.sics.cooja.plugins.SimControl + 259 + 5 + 179 + 0 + 0 + + + se.sics.cooja.plugins.Visualizer + + se.sics.cooja.plugins.skins.IDVisualizerSkin + se.sics.cooja.plugins.skins.UDGMVisualizerSkin + se.sics.cooja.plugins.skins.MoteTypeVisualizerSkin + se.sics.cooja.plugins.skins.AttributeVisualizerSkin + se.sics.cooja.plugins.skins.LEDVisualizerSkin + se.sics.cooja.plugins.skins.AddressVisualizerSkin + 7.9849281638410705 0.0 0.0 7.9849281638410705 -133.27812697619663 -225.04752569190535 + + 300 + 4 + 175 + 263 + 3 + + + se.sics.cooja.plugins.LogListener + + + + + 560 + 1 + 326 + 1 + 293 + + + se.sics.cooja.plugins.RadioLogger + + 150 + + + 451 + -1 + 305 + 73 + 140 + true + + + SerialSocketServer + 0 + 422 + 2 + 74 + 39 + 199 + + + se.sics.cooja.plugins.TimeLine + + 0 + 1 + + + + + 125 + 25.49079397896416 + + 1624 + 3 + 252 + 4 + 622 + + + se.sics.cooja.plugins.MoteInterfaceViewer + 1 + + Serial port + 0,0 + + 702 + 0 + 646 + 564 + 2 + + + diff --git a/examples/osd/wirelessplug/static-routing.c b/examples/osd/wirelessplug/static-routing.c new file mode 100644 index 000000000..628594892 --- /dev/null +++ b/examples/osd/wirelessplug/static-routing.c @@ -0,0 +1,155 @@ +/* + * static-routing.c + * + * Created on: Oct 12, 2010 + * Author: simonduq + */ + +#include +#include "static-routing.h" + +#define DEBUG 0 +#if DEBUG +#include +#define PRINTF(...) printf(__VA_ARGS__) +#define PRINT6ADDR(addr) PRINTF(" %02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x ", ((uint8_t *)addr)[0], ((uint8_t *)addr)[1], ((uint8_t *)addr)[2], ((uint8_t *)addr)[3], ((uint8_t *)addr)[4], ((uint8_t *)addr)[5], ((uint8_t *)addr)[6], ((uint8_t *)addr)[7], ((uint8_t *)addr)[8], ((uint8_t *)addr)[9], ((uint8_t *)addr)[10], ((uint8_t *)addr)[11], ((uint8_t *)addr)[12], ((uint8_t *)addr)[13], ((uint8_t *)addr)[14], ((uint8_t *)addr)[15]) +#define PRINTLLADDR(lladdr) PRINTF(" %02x:%02x:%02x:%02x:%02x:%02x ",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) +#else +#define PRINTF(...) +#define PRINT6ADDR(addr) +#define PRINTLLADDR(addr) +#endif + +#include "contiki-net.h" +#include "node-id.h" + +int node_rank; + +struct id_to_addrs { + int id; + uint32_t addr; +}; + +const struct id_to_addrs motes_addrs[] = { +/* + * Static routing requires a map nodeid => address. + * The nodeid can be programmed with the sky-shell. + * The addresses should also be added to /etc/hosts. + * + * aaaa::212:7400:1160:f62d sky1 + * aaaa::212:7400:0da0:d748 sky2 + * aaaa::212:7400:116e:c325 sky3 + * aaaa::212:7400:116e:c444 sky4 + * aaaa::212:7400:115e:b717 sky5 + * + * Add the nodeid and last 4 bytes of the address to the map. + */ + {1, 0x1160f62d}, + {2, 0x0da0d748}, + {3, 0x116ec325}, + {4, 0x116ec444}, + {5, 0x115eb717}, +}; +/* Define the size of the map. */ +#define NODES_IN_MAP 5 + +uint32_t get_mote_suffix(int rank) { + if(--rank >=0 && rank<(sizeof(motes_addrs)/sizeof(struct id_to_addrs))) { + return motes_addrs[rank].addr; + } + return 0; +} + +int get_mote_id(uint32_t suffix) { +#if IN_COOJA + return suffix & 0xff; +#else + int i; + for(i=0; i<(sizeof(motes_addrs)/sizeof(struct id_to_addrs)); i++) { + if(suffix == motes_addrs[i].addr) { + return motes_addrs[i].id; + } + } + return 0; +#endif +} + +void set_global_address(void) { + uip_ipaddr_t ipaddr; + + uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); + uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); + uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); +} + +static void add_route_ext(int dest, int next) { + PRINTF("add route ext %d %d\n", dest, next); + uip_ipaddr_t ipaddr_dest, ipaddr_next; + uip_ip6addr(&ipaddr_dest, 0xaaaa, 0, 0, 0, 0, 0, 0, dest); +#if IN_COOJA + uip_ip6addr(&ipaddr_next, 0xfe80, 0, 0, 0, 0x0212, 0x7400 | next, next, next<<8 | next); +#else + uint32_t next_suffix = get_mote_suffix(next); + uip_ip6addr(&ipaddr_next, 0xfe80, 0, 0, 0, 0x0212, 0x7400, (next_suffix >> 16) & 0xffff, next_suffix & 0xffff); +#endif + uip_ds6_route_add(&ipaddr_dest, 128, &ipaddr_next, 0); +} + +void add_route(int dest, int next) { + PRINTF("add route %d %d\n", dest, next); + uip_ipaddr_t ipaddr_dest, ipaddr_next; +#if IN_COOJA + uip_ip6addr(&ipaddr_dest, 0xaaaa, 0, 0, 0, 0x0212, 0x7400 | dest, dest, dest<<8 | dest); + uip_ip6addr(&ipaddr_next, 0xfe80, 0, 0, 0, 0x0212, 0x7400 | next, next, next<<8 | next); +#else + uint32_t dest_suffix = get_mote_suffix(dest); + uint32_t next_suffix = get_mote_suffix(next); + uip_ip6addr(&ipaddr_dest, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, (dest_suffix >> 16) & 0xffff, dest_suffix & 0xffff); + uip_ip6addr(&ipaddr_next, 0xfe80, 0, 0, 0, 0x0212, 0x7400, (next_suffix >> 16) & 0xffff, next_suffix & 0xffff); +#endif + uip_ds6_route_add(&ipaddr_dest, 128, &ipaddr_next, 0); +} + +void configure_routing(void) { + int i; +#if IN_COOJA + node_rank = node_id; +#else + node_rank = -1; + for(i=0; i<(sizeof(motes_addrs)/sizeof(struct id_to_addrs)); ++i) { + if(node_id == motes_addrs[i].id) { + node_rank = i+1; + break; + } + } + + if(node_rank == -1) { + printf("unable to configure routing, node_id=%d\n", node_id); + return; + } +#endif + + printf("configure_routing, node_id=%d, node_rank %d\n", node_id, node_rank); + + if (node_rank == 1) { /* border router #1 */ + add_route_ext(2, 2); + for(i=2; i<=NODES_IN_MAP; ++i) { + add_route(i, 2); + } + } else if (node_rank < NODES_IN_MAP) { /* other node */ + add_route_ext(1, node_rank-1); + add_route_ext(2, node_rank+1); + for(i=1; i<=NODES_IN_MAP; ++i) { + if(inode_rank) { + add_route(i, node_rank+1); + } + } + } else if (node_rank == NODES_IN_MAP) { /* 2nd border router */ + add_route_ext(1, NODES_IN_MAP-1); + for(i=1; i<=NODES_IN_MAP-1; ++i) { + add_route(i, NODES_IN_MAP-1); + } + } +} diff --git a/examples/osd/wirelessplug/static-routing.h b/examples/osd/wirelessplug/static-routing.h new file mode 100644 index 000000000..0dff0b7ba --- /dev/null +++ b/examples/osd/wirelessplug/static-routing.h @@ -0,0 +1,20 @@ +/* + * static-routing.h + * + * Created on: Oct 12, 2010 + * Author: simonduq + */ + +#ifndef STATICROUTING_H_ +#define STATICROUTING_H_ + +#include "contiki.h" + +extern int node_rank; +extern uint32_t get_mote_suffix(int id); +extern int get_mote_id(uint32_t suffix); +extern void add_route(int dest, int next); +extern void set_global_address(void); +extern void configure_routing(void); + +#endif /* STATICROUTING_H_ */