From 6e02eb5aed8be77a516b06b4715069f12ec729a3 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 19:56:44 +0100 Subject: [PATCH 01/34] Remove the rpl-simple example and associated tests --- examples/ipv6/rpl-simple/Makefile | 7 - examples/ipv6/rpl-simple/node.c | 170 ------------------------ examples/ipv6/rpl-simple/project-conf.h | 52 -------- examples/ipv6/rpl-simple/rpl-simple.csc | 148 --------------------- tests/01-compile-base/Makefile | 1 - tests/02-compile-arm-ports/Makefile | 1 - 6 files changed, 379 deletions(-) delete mode 100644 examples/ipv6/rpl-simple/Makefile delete mode 100644 examples/ipv6/rpl-simple/node.c delete mode 100644 examples/ipv6/rpl-simple/project-conf.h delete mode 100644 examples/ipv6/rpl-simple/rpl-simple.csc diff --git a/examples/ipv6/rpl-simple/Makefile b/examples/ipv6/rpl-simple/Makefile deleted file mode 100644 index 2408729b9..000000000 --- a/examples/ipv6/rpl-simple/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -all: node -CONTIKI=../../.. - -# Set MAKE_MAC = MAKE_MAC_TSCH to run TSCH instead -MAKE_MAC = MAKE_MAC_CSMA - -include $(CONTIKI)/Makefile.include diff --git a/examples/ipv6/rpl-simple/node.c b/examples/ipv6/rpl-simple/node.c deleted file mode 100644 index 8f94c2d78..000000000 --- a/examples/ipv6/rpl-simple/node.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * 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. - * - */ - -#include "contiki.h" -#include "lib/random.h" -#include "sys/ctimer.h" -#include "net/ipv6/uip.h" -#include "net/ipv6/uip-ds6.h" -#include "net/ipv6/uip-udp-packet.h" -#include "rpl.h" -#include "rpl-dag-root.h" -#include "node-id.h" -#include "simple-udp.h" -#include "sys/ctimer.h" -#include -#include - -#include "dev/serial-line.h" -#include "net/ipv6/uip-ds6-route.h" - -/* Log configuration */ -#include "sys/log.h" -#define LOG_MODULE "App" -#define LOG_LEVEL LOG_LEVEL_INFO - -#define UDP_PORT 8765 - -#define START_INTERVAL (5 * CLOCK_SECOND) -#define SEND_INTERVAL (30 * CLOCK_SECOND) - -static struct simple_udp_connection udp_conn; - -static uip_ipaddr_t node_ipaddr; -static uip_ipaddr_t root_ipaddr; -static uip_ipaddr_t destination_ipaddr; - -/*---------------------------------------------------------------------------*/ -PROCESS(node_process, "RPL Simple Process"); -AUTOSTART_PROCESSES(&node_process); - -/*---------------------------------------------------------------------------*/ -static void -receiver(struct simple_udp_connection *c, - const uip_ipaddr_t *sender_addr, - uint16_t sender_port, - const uip_ipaddr_t *receiver_addr, - uint16_t receiver_port, - const uint8_t *data, - uint16_t datalen) -{ - unsigned seq_id; - memcpy(&seq_id, data, sizeof(int)); - if(uip_ip6addr_cmp(&destination_ipaddr, &node_ipaddr)) { - LOG_INFO("received request %u from ", seq_id); - LOG_INFO_6ADDR(sender_addr); - LOG_INFO_("\n"); - - LOG_INFO("sending reply %u to ", seq_id); - LOG_INFO_6ADDR(sender_addr); - LOG_INFO_("\n"); - simple_udp_sendto(&udp_conn, &seq_id, sizeof(seq_id), sender_addr); - } else { - static unsigned reply_count = 0; - reply_count++; - LOG_INFO("received reply %u (%u/%u) from ", seq_id, reply_count, seq_id); - LOG_INFO_6ADDR(sender_addr); - LOG_INFO_("\n"); - } -} -/*---------------------------------------------------------------------------*/ -static void -send_packet(void *ptr) -{ - if(rpl_is_reachable()) { - static unsigned seq_id = 0; - LOG_INFO("sending request %u to ", ++seq_id); - LOG_INFO_6ADDR(&destination_ipaddr); - LOG_INFO_("\n"); - simple_udp_sendto(&udp_conn, &seq_id, sizeof(seq_id), &destination_ipaddr); - } else { - LOG_INFO("not connected yet\n"); - } -} -/*---------------------------------------------------------------------------*/ -static void -get_global_address(void) -{ - int i; - uint8_t state; - - for(i = 0; i < UIP_DS6_ADDR_NB; i++) { - state = uip_ds6_if.addr_list[i].state; - if(uip_ds6_if.addr_list[i].isused && - state == ADDR_PREFERRED && - !uip_is_addr_linklocal(&uip_ds6_if.addr_list[i].ipaddr)) { - uip_ip6addr_copy(&node_ipaddr, &uip_ds6_if.addr_list[i].ipaddr); - } - } -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(node_process, ev, data) -{ - static struct etimer periodic; - static struct ctimer backoff_timer; - - PROCESS_BEGIN(); - - /* Hardcoded IPv6 addresses */ - uip_ip6addr(&root_ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0x0212, 0x7401, 0x0001, 0x0101); - uip_ip6addr(&destination_ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0x0212, 0x7401, 0x0001, 0x0101); - - rpl_dag_root_init(NULL, NULL); - get_global_address(); - /* Configure root */ - if(uip_ip6addr_cmp(&root_ipaddr, &node_ipaddr)) { - rpl_dag_root_init_dag_immediately(); - } - - /* New connection with remote host */ - simple_udp_register(&udp_conn, UDP_PORT, NULL, UDP_PORT, receiver); - /* Wait for START_INTERVAL */ - etimer_set(&periodic, START_INTERVAL); - PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic)); - -#if MAC_CONF_WITH_TSCH - NETSTACK_MAC.on(); -#endif /* MAC_CONF_WITH_TSCH */ - - if(!uip_ip6addr_cmp(&destination_ipaddr, &node_ipaddr)) { - /* Send data periodically */ - etimer_set(&periodic, SEND_INTERVAL); - while(1) { - PROCESS_YIELD(); - - if(etimer_expired(&periodic)) { - etimer_reset(&periodic); - ctimer_set(&backoff_timer, random_rand() % (SEND_INTERVAL), send_packet, NULL); - } - } - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/ipv6/rpl-simple/project-conf.h b/examples/ipv6/rpl-simple/project-conf.h deleted file mode 100644 index 2a8b376f4..000000000 --- a/examples/ipv6/rpl-simple/project-conf.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2015, 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_CONF_H_ -#define PROJECT_CONF_H_ - -/* Network size and PAN-ID */ -#define NBR_TABLE_CONF_MAX_NEIGHBORS 25 - -#define NETSTACK_MAX_ROUTE_ENTRIES 25 - -#define IEEE802154_CONF_PANID 0xf123 - -/* Save some space */ -#define SICSLOWPAN_CONF_FRAG 0 - -/* Do not start TSCH at init, wait for NETSTACK_MAC.on() */ -#define TSCH_CONF_AUTOSTART 0 - -/* 6TiSCH minimal schedule length. - * Larger values result in less frequent active slots: reduces capacity and saves energy. */ -#define TSCH_SCHEDULE_CONF_DEFAULT_LENGTH 3 - -#define TSCH_SCHEDULE_CONF_MAX_LINKS 4 - -#endif diff --git a/examples/ipv6/rpl-simple/rpl-simple.csc b/examples/ipv6/rpl-simple/rpl-simple.csc deleted file mode 100644 index 9725032c2..000000000 --- a/examples/ipv6/rpl-simple/rpl-simple.csc +++ /dev/null @@ -1,148 +0,0 @@ - - - [APPS_DIR]/mrm - [APPS_DIR]/mspsim - [APPS_DIR]/avrora - [APPS_DIR]/serial_socket - [APPS_DIR]/collect-view - [APPS_DIR]/powertracker - - Simple RPL Example - generated - 5000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 50.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.mspmote.SkyMoteType - sky2 - Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/ipv6/rpl-simple/node.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - - - org.contikios.cooja.interfaces.Position - 48.435974731198804 - -66.16503914182063 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 1 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 28.87281458333398 - -21.744318674852618 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 2 - - sky2 - - - - org.contikios.cooja.plugins.SimControl - 185 - 2 - 154 - 1651 - 778 - - - org.contikios.cooja.plugins.Visualizer - - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - org.contikios.cooja.plugins.skins.AttributeVisualizerSkin - 1.260147830790386 0.0 0.0 1.260147830790386 105.5104655860535 140.74330745981246 - - 258 - 1 - 309 - 1573 - 11 - - - org.contikios.cooja.plugins.LogListener - - - - - - 854 - 3 - 919 - 5 - 2 - - - org.contikios.cooja.plugins.TimeLine - - 0 - 1 - - - - 2736.9736958636 - - 1858 - 4 - 223 - 0 - 931 - - - org.contikios.cooja.plugins.RadioLogger - - 477 - - false - false - - - 874 - 0 - 917 - 857 - 10 - - - diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index f59d80c14..e429e78b5 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -8,7 +8,6 @@ eeprom-test/native \ ipv6/multicast/sky \ logging/native \ ipv6/rpl-udp/sky \ -ipv6/rpl-simple/sky \ TOOLS= diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 805a98ff4..bebf7518d 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -14,7 +14,6 @@ platform-specific/cc26xx/very-sleepy-demo/srf06-cc26xx \ hello-world/cc2538dk \ ipv6/rpl-border-router/cc2538dk \ ipv6/rpl-udp/cc2538dk \ -ipv6/rpl-simple/cc2538dk \ ipv6/coap-example/cc2538dk \ ipso-objects/cc2538dk \ platform-specific/cc2538dk/udp-ipv6-echo-server/cc2538dk \ From 0fdd1015e2cfede4fb9d88e4e72e2f77c44ced0b Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 19:56:58 +0100 Subject: [PATCH 02/34] Remove the extended RF API example --- examples/extended-rf-api/Makefile | 6 - examples/extended-rf-api/extended-rf-api.c | 510 --------------------- 2 files changed, 516 deletions(-) delete mode 100644 examples/extended-rf-api/Makefile delete mode 100644 examples/extended-rf-api/extended-rf-api.c diff --git a/examples/extended-rf-api/Makefile b/examples/extended-rf-api/Makefile deleted file mode 100644 index c774119a3..000000000 --- a/examples/extended-rf-api/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -CONTIKI_PROJECT = extended-rf-api - -all: $(CONTIKI_PROJECT) - -CONTIKI = ../.. -include $(CONTIKI)/Makefile.include diff --git a/examples/extended-rf-api/extended-rf-api.c b/examples/extended-rf-api/extended-rf-api.c deleted file mode 100644 index d02fe5546..000000000 --- a/examples/extended-rf-api/extended-rf-api.c +++ /dev/null @@ -1,510 +0,0 @@ -/* - * Copyright (c) 2014, George Oikonomou (george@contiki-os.org) - * 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 copyright holder 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 COPYRIGHT HOLDERS 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 - * COPYRIGHT HOLDER 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. - */ -/** - * Example project demonstrating the extended RF API functionality - */ -#include "contiki.h" -#include "net/netstack.h" -#include "dev/radio.h" - -#include -#include -#include -/*---------------------------------------------------------------------------*/ -struct rf_consts { - radio_value_t channel_min; - radio_value_t channel_max; - radio_value_t txpower_min; - radio_value_t txpower_max; -}; - -static struct rf_consts consts; - -static radio_value_t value; -static uint8_t ext_addr[8]; -/*---------------------------------------------------------------------------*/ -PROCESS(extended_rf_api_process, "Extended RF API demo process"); -AUTOSTART_PROCESSES(&extended_rf_api_process); -/*---------------------------------------------------------------------------*/ -static void -print_64bit_addr(const uint8_t *addr) -{ - unsigned int i; - for(i = 0; i < 7; i++) { - printf("%02x:", addr[i]); - } - printf("%02x (network order)\n", addr[7]); -} -/*---------------------------------------------------------------------------*/ -static radio_result_t -get_object(radio_param_t param, void *dest, size_t size) -{ - radio_result_t rv; - - rv = NETSTACK_RADIO.get_object(param, dest, size); - - switch(rv) { - case RADIO_RESULT_ERROR: - printf("Radio returned an error\n"); - break; - case RADIO_RESULT_INVALID_VALUE: - printf("Value is invalid\n"); - break; - case RADIO_RESULT_NOT_SUPPORTED: - printf("Param %u not supported\n", param); - break; - case RADIO_RESULT_OK: - break; - default: - printf("Unknown return value\n"); - break; - } - - return rv; -} -/*---------------------------------------------------------------------------*/ -static radio_result_t -set_object(radio_param_t param, void *src, size_t size) -{ - radio_result_t rv; - - rv = NETSTACK_RADIO.set_object(param, src, size); - - switch(rv) { - case RADIO_RESULT_ERROR: - printf("Radio returned an error\n"); - break; - case RADIO_RESULT_INVALID_VALUE: - printf("Value is invalid\n"); - break; - case RADIO_RESULT_NOT_SUPPORTED: - printf("Param %u not supported\n", param); - break; - case RADIO_RESULT_OK: - break; - default: - printf("Unknown return value\n"); - break; - } - - return rv; -} -/*---------------------------------------------------------------------------*/ -static radio_result_t -get_param(radio_param_t param, radio_value_t *value) -{ - radio_result_t rv; - - rv = NETSTACK_RADIO.get_value(param, value); - - switch(rv) { - case RADIO_RESULT_ERROR: - printf("Radio returned an error\n"); - break; - case RADIO_RESULT_INVALID_VALUE: - printf("Value %d is invalid\n", *value); - break; - case RADIO_RESULT_NOT_SUPPORTED: - printf("Param %u not supported\n", param); - break; - case RADIO_RESULT_OK: - break; - default: - printf("Unknown return value\n"); - break; - } - - return rv; -} -/*---------------------------------------------------------------------------*/ -static radio_result_t -set_param(radio_param_t param, radio_value_t value) -{ - radio_result_t rv; - - rv = NETSTACK_RADIO.set_value(param, value); - - switch(rv) { - case RADIO_RESULT_ERROR: - printf("Radio returned an error\n"); - break; - case RADIO_RESULT_INVALID_VALUE: - printf("Value %d is invalid\n", value); - break; - case RADIO_RESULT_NOT_SUPPORTED: - printf("Param %u not supported\n", param); - break; - case RADIO_RESULT_OK: - break; - default: - printf("Unknown return value\n"); - break; - } - - return rv; -} -/*---------------------------------------------------------------------------*/ -static void -get_rf_consts(void) -{ - printf("====================================\n"); - printf("RF Constants\n"); - printf("Min Channel : "); - if(get_param(RADIO_CONST_CHANNEL_MIN, &consts.channel_min) == RADIO_RESULT_OK) { - printf("%3d\n", consts.channel_min); - } - - printf("Max Channel : "); - if(get_param(RADIO_CONST_CHANNEL_MAX, &consts.channel_max) == RADIO_RESULT_OK) { - printf("%3d\n", consts.channel_max); - } - - printf("Min TX Power: "); - if(get_param(RADIO_CONST_TXPOWER_MIN, &consts.txpower_min) == RADIO_RESULT_OK) { - printf("%3d dBm\n", consts.txpower_min); - } - - printf("Max TX Power: "); - if(get_param(RADIO_CONST_TXPOWER_MAX, &consts.txpower_max) == RADIO_RESULT_OK) { - printf("%3d dBm\n", consts.txpower_max); - } -} -/*---------------------------------------------------------------------------*/ -static void -test_off_on(void) -{ - printf("====================================\n"); - printf("Power mode Test: Off, then On\n"); - - printf("Power mode is : "); - if(get_param(RADIO_PARAM_POWER_MODE, &value) == RADIO_RESULT_OK) { - if(value == RADIO_POWER_MODE_ON) { - printf("On\n"); - } else if(value == RADIO_POWER_MODE_OFF) { - printf("Off\n"); - } - } - - printf("Turning Off : "); - value = RADIO_POWER_MODE_OFF; - set_param(RADIO_PARAM_POWER_MODE, value); - if(get_param(RADIO_PARAM_POWER_MODE, &value) == RADIO_RESULT_OK) { - if(value == RADIO_POWER_MODE_ON) { - printf("On\n"); - } else if(value == RADIO_POWER_MODE_OFF) { - printf("Off\n"); - } - } - - printf("Turning On : "); - value = RADIO_POWER_MODE_ON; - set_param(RADIO_PARAM_POWER_MODE, value); - if(get_param(RADIO_PARAM_POWER_MODE, &value) == RADIO_RESULT_OK) { - if(value == RADIO_POWER_MODE_ON) { - printf("On\n"); - } else if(value == RADIO_POWER_MODE_OFF) { - printf("Off\n"); - } - } -} -/*---------------------------------------------------------------------------*/ -static void -test_channels(void) -{ - int i; - - printf("====================================\n"); - printf("Channel Test: [%u , %u]\n", consts.channel_min, consts.channel_max); - - for(i = consts.channel_min; i <= consts.channel_max; i++) { - value = i; - printf("Switch to: %d, Now: ", value); - set_param(RADIO_PARAM_CHANNEL, value); - if(get_param(RADIO_PARAM_CHANNEL, &value) == RADIO_RESULT_OK) { - printf("%d\n", value); - } - } -} -/*---------------------------------------------------------------------------*/ -static void -test_rx_modes(void) -{ - int i; - - printf("====================================\n"); - printf("RX Modes Test: [0 , 3]\n"); - - for(i = 0; i <= 3; i++) { - value = i; - printf("Switch to: %d, Now: ", value); - set_param(RADIO_PARAM_RX_MODE, value); - if(get_param(RADIO_PARAM_RX_MODE, &value) == RADIO_RESULT_OK) { - printf("Address Filtering is "); - if(value & RADIO_RX_MODE_ADDRESS_FILTER) { - printf("On, "); - } else { - printf("Off, "); - } - printf("Auto ACK is "); - if(value & RADIO_RX_MODE_AUTOACK) { - printf("On, "); - } else { - printf("Off, "); - } - - printf("(value=%d)\n", value); - } - } -} -/*---------------------------------------------------------------------------*/ -static void -test_tx_powers(void) -{ - int i; - - printf("====================================\n"); - printf("TX Power Test: [%d , %d]\n", consts.txpower_min, consts.txpower_max); - - for(i = consts.txpower_min; i <= consts.txpower_max; i += 5) { - value = i; - printf("Switch to: %3d dBm, Now: ", value); - set_param(RADIO_PARAM_TXPOWER, value); - if(get_param(RADIO_PARAM_TXPOWER, &value) == RADIO_RESULT_OK) { - printf("%3d dBm\n", value); - } - } -} -/*---------------------------------------------------------------------------*/ -static void -test_cca_thresholds(void) -{ - printf("====================================\n"); - printf("CCA Thres. Test: -105, then -81\n"); - - value = -105; - printf("Switch to: %4d dBm, Now: ", value); - set_param(RADIO_PARAM_CCA_THRESHOLD, value); - if(get_param(RADIO_PARAM_CCA_THRESHOLD, &value) == RADIO_RESULT_OK) { - printf("%4d dBm [0x%04x]\n", value, (uint16_t)value); - } - - value = -81; - printf("Switch to: %4d dBm, Now: ", value); - set_param(RADIO_PARAM_CCA_THRESHOLD, value); - if(get_param(RADIO_PARAM_CCA_THRESHOLD, &value) == RADIO_RESULT_OK) { - printf("%4d dBm [0x%04x]\n", value, (uint16_t)value); - } -} -/*---------------------------------------------------------------------------*/ -static void -test_pan_id(void) -{ - radio_value_t new_val; - - printf("====================================\n"); - printf("PAN ID Test: Flip bytes and back\n"); - - printf("PAN ID is: "); - if(get_param(RADIO_PARAM_PAN_ID, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - new_val = (value >> 8) & 0xFF; - new_val |= (value & 0xFF) << 8; - printf("Switch to: 0x%02x%02x, Now: ", (new_val >> 8) & 0xFF, new_val & 0xFF); - set_param(RADIO_PARAM_PAN_ID, new_val); - if(get_param(RADIO_PARAM_PAN_ID, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - new_val = (value >> 8) & 0xFF; - new_val |= (value & 0xFF) << 8; - printf("Switch to: 0x%02x%02x, Now: ", (new_val >> 8) & 0xFF, new_val & 0xFF); - set_param(RADIO_PARAM_PAN_ID, new_val); - if(get_param(RADIO_PARAM_PAN_ID, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } -} -/*---------------------------------------------------------------------------*/ -static void -test_16bit_addr(void) -{ - radio_value_t new_val; - - printf("====================================\n"); - printf("16-bit Address Test: Flip bytes and back\n"); - - printf("16-bit Address is: "); - if(get_param(RADIO_PARAM_16BIT_ADDR, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - new_val = (value >> 8) & 0xFF; - new_val |= (value & 0xFF) << 8; - printf("Switch to: 0x%02x%02x, Now: ", (new_val >> 8) & 0xFF, new_val & 0xFF); - set_param(RADIO_PARAM_16BIT_ADDR, new_val); - if(get_param(RADIO_PARAM_16BIT_ADDR, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - new_val = (value >> 8) & 0xFF; - new_val |= (value & 0xFF) << 8; - printf("Switch to: 0x%02x%02x, Now: ", (new_val >> 8) & 0xFF, new_val & 0xFF); - set_param(RADIO_PARAM_16BIT_ADDR, new_val); - if(get_param(RADIO_PARAM_16BIT_ADDR, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } -} -/*---------------------------------------------------------------------------*/ -static void -test_64bit_addr(void) -{ - int i; - uint8_t new_val[8]; - - printf("====================================\n"); - printf("64-bit Address Test: Invert byte order\n"); - - printf("64-bit Address is: "); - if(get_object(RADIO_PARAM_64BIT_ADDR, ext_addr, 8) == RADIO_RESULT_OK) { - print_64bit_addr(ext_addr); - } - - for(i = 0; i <= 7; i++) { - new_val[7 - i] = ext_addr[i]; - } - - printf("Setting to : "); - print_64bit_addr(new_val); - - printf("64-bit Address is: "); - set_object(RADIO_PARAM_64BIT_ADDR, new_val, 8); - if(get_object(RADIO_PARAM_64BIT_ADDR, ext_addr, 8) == RADIO_RESULT_OK) { - print_64bit_addr(ext_addr); - } -} -/*---------------------------------------------------------------------------*/ -static void -print_rf_values(void) -{ - printf("====================================\n"); - printf("RF Values\n"); - - printf("Power: "); - if(get_param(RADIO_PARAM_POWER_MODE, &value) == RADIO_RESULT_OK) { - if(value == RADIO_POWER_MODE_ON) { - printf("On\n"); - } else if(value == RADIO_POWER_MODE_OFF) { - printf("Off\n"); - } - } - - printf("Channel: "); - if(get_param(RADIO_PARAM_CHANNEL, &value) == RADIO_RESULT_OK) { - printf("%d\n", value); - } - - printf("PAN ID: "); - if(get_param(RADIO_PARAM_PAN_ID, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - printf("16-bit Address: "); - if(get_param(RADIO_PARAM_16BIT_ADDR, &value) == RADIO_RESULT_OK) { - printf("0x%02x%02x\n", (value >> 8) & 0xFF, value & 0xFF); - } - - printf("64-bit Address: "); - if(get_object(RADIO_PARAM_64BIT_ADDR, ext_addr, 8) == RADIO_RESULT_OK) { - print_64bit_addr(ext_addr); - } - - printf("RX Mode: "); - if(get_param(RADIO_PARAM_RX_MODE, &value) == RADIO_RESULT_OK) { - printf("Address Filtering is "); - if(value & RADIO_RX_MODE_ADDRESS_FILTER) { - printf("On, "); - } else { - printf("Off, "); - } - printf("Auto ACK is "); - if(value & RADIO_RX_MODE_AUTOACK) { - printf("On, "); - } else { - printf("Off, "); - } - - printf("(value=%d)\n", value); - } - - printf("TX Mode: "); - if(get_param(RADIO_PARAM_TX_MODE, &value) == RADIO_RESULT_OK) { - printf("%d\n", value); - } - - printf("TX Power: "); - if(get_param(RADIO_PARAM_TXPOWER, &value) == RADIO_RESULT_OK) { - printf("%d dBm [0x%04x]\n", value, (uint16_t)value); - } - - printf("CCA Threshold: "); - if(get_param(RADIO_PARAM_CCA_THRESHOLD, &value) == RADIO_RESULT_OK) { - printf("%d dBm [0x%04x]\n", value, (uint16_t)value); - } - - printf("RSSI: "); - if(get_param(RADIO_PARAM_RSSI, &value) == RADIO_RESULT_OK) { - printf("%d dBm [0x%04x]\n", value, (uint16_t)value); - } -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(extended_rf_api_process, ev, data) -{ - - PROCESS_BEGIN(); - - get_rf_consts(); - print_rf_values(); - - test_off_on(); - test_channels(); - test_rx_modes(); - test_tx_powers(); - test_cca_thresholds(); - test_pan_id(); - test_16bit_addr(); - test_64bit_addr(); - - printf("Done\n"); - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ From f50671ce37f785f6c7e0b6451a546a1b55919ec5 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 19:57:21 +0100 Subject: [PATCH 03/34] Remove the JSON-WS example Does not seem to build for any platforms. --- examples/ipv6/json-ws/Makefile | 24 -- examples/ipv6/json-ws/README-COSM.md | 109 ------ examples/ipv6/json-ws/gogoc.conf | 351 ------------------ examples/ipv6/json-ws/json-ws-udp.c | 151 -------- examples/ipv6/json-ws/json-ws.c | 521 --------------------------- examples/ipv6/json-ws/json-ws.h | 58 --- examples/ipv6/json-ws/project-conf.h | 47 --- examples/ipv6/json-ws/setcosm.py | 30 -- examples/ipv6/json-ws/websense-sky.c | 130 ------- 9 files changed, 1421 deletions(-) delete mode 100644 examples/ipv6/json-ws/Makefile delete mode 100644 examples/ipv6/json-ws/README-COSM.md delete mode 100644 examples/ipv6/json-ws/gogoc.conf delete mode 100644 examples/ipv6/json-ws/json-ws-udp.c delete mode 100644 examples/ipv6/json-ws/json-ws.c delete mode 100644 examples/ipv6/json-ws/json-ws.h delete mode 100644 examples/ipv6/json-ws/project-conf.h delete mode 100755 examples/ipv6/json-ws/setcosm.py delete mode 100644 examples/ipv6/json-ws/websense-sky.c diff --git a/examples/ipv6/json-ws/Makefile b/examples/ipv6/json-ws/Makefile deleted file mode 100644 index 50573d2e8..000000000 --- a/examples/ipv6/json-ws/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -CONTIKI=../../.. - -PROJECT_SOURCEFILES += json-ws.c - -ifdef WITH_COSM - CFLAGS += -DWITH_COSM=1 -endif - -ifdef WITH_UDP - CFLAGS += -DWITH_UDP=1 - PROJECT_SOURCEFILES += json-ws-udp.c -endif - -MODULES += os/lib/json os/net/app-layer/httpd-ws - -ifeq ($(TARGET),) - -include Makefile.target -endif - -ifneq ($(TARGET),) -all: websense-$(TARGET) -endif - -include $(CONTIKI)/Makefile.include diff --git a/examples/ipv6/json-ws/README-COSM.md b/examples/ipv6/json-ws/README-COSM.md deleted file mode 100644 index a13798302..000000000 --- a/examples/ipv6/json-ws/README-COSM.md +++ /dev/null @@ -1,109 +0,0 @@ -JSON ws -======= - -Short description on how to set-up a sensor network for global IPv6 addresses. -NOTE: this assumes that you do not have a native IPv6 connection. - -You will need: - -- PC with Ubuntu (Linux) - 11 or 12 versions -- A node for the RPL-Border-Router (examples/ipv6/rpl-border-router) -- A node for the json webservice (examples/ipv6/json-ws) - -Set-up IPv6 tunnel and Border Router ------------------------------------- -1. Ensure that you have gogo6c installed. - - sudo apt-get install gogoc - -2. Register an account at gogo6 and Freenet6 (http://www.gogo6.com). - The account at Freenet6 is needed by the gogo6c client. - -3. Edit the gogoc.conf and set your own Freenet6 user and password by - changing the lines with "userid" and "passwd". - -4. Start gogoc at command line - - cd contiki/examples/ipv6/json-ws - sudo gogoc -f gogoc.conf -n - -This will print your prefix - TSP_PREFIX. In my case -TSP_PREFIX=2001:05c0:1517:e400 (prefixlen is 56). - -5. Connect one of the nodes to the PC (via USB or serial) and program - it with the RPL-border-router (assumes Z1 node). - - cd contiki/examples/ipv6/rpl-border-router - make DEFINES=DEFINES=NETSTACK_RDC=nullrdc_driver,CSMA_CONF_802154_AUTOACK=1 TARGET=z1 border-router.upload - -6. Run tunslip6 which will forward IP from the RPL network to the IPv6 tunnel - (and to the Internet). - - cd contiki/examples/ipv6/rpl-border-router - make connect-router PREFIX=::1/64 - -When you start this you should get a printout from the border-router -which give you the IPv6 address of it. - -Server IPv6 addresses: - 2001:05c0:1517:e400:c30c::10a - fe80::c30c:0:0:10a - -7. Browse using Mozilla Firefox (or any other browser) to the IPv6 address - given by the border router. This will show you the list of other nodes - connected to the RPL network. - - http://[2001:05c0:1517:e400:c30c::10a]/ - - NOTE: this is a global IPv6 address so it should also be reachable from - any machine on the Internet. - -Configuration of COSM submission --------------------------------- -1. Register a COSM account at https://cosm.com/ - Set-up a feed and create an API key for the feed. - -2. Program the sensor node with (assumes Z1) - - cd contiki/examples/ipv6/json-ws - make websense-z1.upload WITH_COSM=1 TARGET=z1 - -3. Check the IPv6 address of the node via the RPL-border router or by looking - at printouts when booting (make login TARGET=z1) - -4. You need to configure the node to push data to the COSM feed and this can be - done in several ways. For convenience a Python script is included that - pushes the configuration to the nodes. - - Edit the file 'setcosm.py' and replace "" and "" with - your COSM API key and COSM feed id. You can then use this Python script to - configure your nodes. - - This is an example that configures the node with IP address - 2001:05c0:1517:e400:c30c::10b to push data to the COSM feed with stream 1: - - cd contiki/examples/ipv6/json-ws - ./setcosm.py [2001:05c0:1517:e400:c30c::10b] 1 - - Another way to configure the nodes is to use a REST add-on for the web - browser to post a COSM configuration to the node. "REST Client" for Mozilla - Firefox is an example of such add-on. - - POST a JSON expression to your node with the following data: This assumes - that you have the feed with id 55180 and want to post to stream 1 in that - feed. The field 'appdata' should be set to the API key you created at the - COSM web site for the feed. - - { - "host":"[2001:470:1f10:333::2]", - "port":80, - "path":"/v2/feeds/55180/datastreams/1", - "appdata":"", - "interval":120, - "proto":"cosm" - } - - This will configure the node to periodically push temperature data every - other minute. You can use GET to retrieve the data to se that the node has - been successfully configured (the COSM API key will be visualized as a - number of stars). diff --git a/examples/ipv6/json-ws/gogoc.conf b/examples/ipv6/json-ws/gogoc.conf deleted file mode 100644 index 8d1fa0071..000000000 --- a/examples/ipv6/json-ws/gogoc.conf +++ /dev/null @@ -1,351 +0,0 @@ -#----------------------------------------------------------------------------- -# $Id: gogoc.conf.in,v 1.1 2009/11/20 16:53:12 jasminko Exp $ -#----------------------------------------------------------------------------- - -########################## READ ME! ################################ -# -# Welcome to the gogoCLIENT configuration file. -# In order to use the client, you need to modify the 'userid', 'passwd' and -# 'server' parameters below depending on which of these situations applies: -# -# 1. If you created a Freenet6 account, enter your userid and password below. -# Change the server name to "broker.freenet6.net" and auth_method to 'any'. -# 2. If you would like to use Freenet6 without creating an account, -# do not make any modifications and close this file. -# 3. If this software was provided by your ISP, enter the userid, password and -# server name provided by your ISP below. -# - - -########################## BASIC CONFIGURATION ################################ - -# -# User Identification and Password: -# Specify your user name and password as provided by your ISP or Freenet6. -# If you plan to connect anonymously, leave these values empty. -# NOTE: Change auth_method option if you are using a username/password. -# -# userid= -# passwd= -# -userid= -passwd= - -# -# gogoSERVER: -# Specify a gogoSERVER name or IP address (provided by your ISP or -# Freenet6). An optional port number can be added; the default port number -# is 3653. -# -# Examples: -# server=hostname # FQDN -# server=A.B.C.D # IPv4 address -# server=[X:X::X:X] # IPv6 address -# server=hostname:port_number -# server=A.B.C.D:port_number -# server=[X:X::X:X]:port_number -# -# Freenet6 account holders should enter authenticated.freenet6.net, -# otherwise use anonymous.freenet6.net. -# Your ISP may provide you with a different server name. -# -#server=anonymous.freenet6.net -#server=authenticated.freenet6.net -server=amsterdam.freenet6.net - -# -# Authentication Method: -# -# auth_method=<{anonymous}|{any|passdss-3des-1|digest-md5|plain}> -# -# anonymous: Sends no username or password -# -# any: The most secure method will be used. -# passdss-3des-1: The password is sent encrypted. -# digest-md5: The password is sent encrypted. -# plain: Both username and password are sent as plain text. -# -# Recommended values: -# - any: If you are authenticating a username / password. -# - anonymous: If you are connecting anonymously. -# -#auth_method=anonymous -auth_method=any - - -########################## ROUTING CONFIGURATION ############################## -# Use these parameters when you wish the client to act as a router and provide -# IPv6 connectivity to IPv6-capable devices on your network. - -# -# Local Host Type: -# Change this value to 'router' to enable IPv6 advertisements. -# -# host_type= -# -host_type=router -#host - -# -# Prefix Length: -# Length of the requested prefix. Valid values range between 0 and 64 when -# using V6*V4 tunnel modes, and between 0 and 32 when using V4V6 tunnel mode. -# -# prefixlen= -# -prefixlen=64 - -# -# Advertisement Interface Prefix: -# Name of the interface that will be configured to send router advertisements. -# This is an interface index on Windows (ex: 4) and a name on Linux -# and BSD (ex: eth1 or fxp1). -# -# if_prefix= -# -if_prefix=tun0 - -# -# DNS Server: -# A DNS server list to which the reverse prefix will be delegated. Servers -# are separated by the colon(:) delimiter. -# -# Example: dns_server=ns1.domain:ns2.domain:ns3.domain -# -dns_server= - - -######################### ADVANCED CONFIGURATION ############################## - -# -# gogoCLIENT Installation Directory: -# Directory where the gogoCLIENT will be installed. This value has been -# set during installation. -# -gogoc_dir= - -# -# Auto-Retry Connect, Retry Delay and Max Retry Delay: -# When auto_retry_connect=yes, the gogoCLIENT will attempt to reconnect -# after a disconnection occurred. The time to wait is 'retry_delay' and that -# delay is doubled at every 3 failed consecutive reconnection attempt. -# However, the wait delay will never exceed retry_delay_max. -# -# -# auto_retry_connect= -# retry_delay= -# retry_delay_max= -# -# Recommended values: "yes", 30, 300 -# -auto_retry_connect=yes -retry_delay=30 -retry_delay_max=300 - -# -# Keepalive Feature and Message Interval: -# Indicates if and how often the client will send data to keep the tunnel -# active. -# -# keepalive= -# keepalive_interval= -# -# Recommended values: "yes" and 30 -# -keepalive=yes -keepalive_interval=30 - -# -# Tunnel Encapsulation Mode: -# v6v4: IPv6-in-IPv4 tunnel. -# v6udpv4: IPv6-in-UDP-in-IPv4 tunnel (for clients behind a NAT). -# v6anyv4: Lets the broker choose the best mode for IPv6 tunnel. -# v4v6: IPv4-in-IPv6 tunnel. -# -# Recommended value: v6anyv4 -# -tunnel_mode=v6anyv4 - -# -# Tunnel Interface Name: -# The interface name assigned to the tunnel. This value is O/S dependent. -# -# if_tunnel_v6v4 is the tunnel interface name for v6v4 encapsulation mode -# if_tunnel_v6udpv4 is the tunnel interface name for v6udpv4 encapsulate mode -# if_tunnel_v4v6 is the tunnel interface name for v4v6 encapsulation mode -# -# Default values are set during installation. -# -if_tunnel_v6v4=sit1 -if_tunnel_v6udpv4=sit -if_tunnel_v4v6=sit0 - -# -# Local IP Address of the Client: -# Allows you to set a specific address as the local tunnel endpoint. -# -# client_v4= -# client_v6= -# auto: The gogoCLIENT will find the local IP address endpoint. -# -# Recommended value: auto -# -client_v4=auto -client_v6=auto - -# -# Script Name: -# File name of the script to run to install the tunnel interface. The -# scripts are located in the template directory under the client -# installation directory. -# -# template= -# -# Default value is set during installation. -# -template=linux - -# -# Proxy client: -# Indicates that this client will request a tunnel for another endpoint, -# such as a Cisco router. -# -# proxy_client= -# -# NOTE: NAT traversal is not possible in proxy mode. -# -proxy_client=no - - -############################ BROKER REDIRECTION ############################### - -# -# Broker List File Name: -# The 'broker_list' directive specifies the filename where the broker -# list received during broker redirection will be saved. -# -# broker_list= -# -broker_list=/var/lib/gogoc/tsp-broker-list.txt - -# -# Last Server Used File Name: -# The 'last_server' directive specifies the filename where the address of -# the last broker to which a connection was successfully established will -# be saved. -# -# last_server= -# -last_server=/var/lib/gogoc/tsp-last-server.txt - -# -# Always Use Last Known Working Server: -# The value of the 'always_use_same_server' directive determines whether the -# client should always try to connect to the broker found in the -# 'last_server' directive filename. -# -# always_use_same_server= -# -always_use_same_server=no - - -#################################### LOGGING ################################## - -# -# Log Verbosity Configuration: -# The format is 'log_=level', where possible values for -# 'destination' are: -# -# - console (logging to the console [AKA stdout]) -# - stderr (logging to standard error) -# - file (logging to a file) -# - syslog (logging to syslog [Unix only]) -# -# and 'level' is a digit between 0 and 3. A 'level' value of 0 disables -# logging to the destination, while values 1 to 3 request increasing levels -# of log verbosity and detail. If 'level' is not specified, a value of 1 is -# assumed. -# -# Example: -# log_file=3 (Maximal logging to a file) -# log_stderr=0 (Logging to standard error disabled) -# log_console= (Minimal logging to the console) -# -# - Default configuration on Windows platforms: -# -# log_console=0 -# log_stderr=0 -# log_file=1 -# -# - Default configuration on Unix platforms: -# -# log_console=0 -# log_stderr=1 -# log_file=0 -# log_syslog=0 -# -log_console=3 -log_stderr=0 -#log_file= -#log_syslog= - -# -# Log File Name: -# When logging to file is requested using the 'log_file' directive, the name -# and path of the file to use may be specified using this directive. -# -# log_filename= -# -log_filename=/var/log/gogoc/gogoc.log - -# -# Log File Rotation: -# When logging to file is requested using the 'log_file' directive, log file -# rotation may be enabled. When enabled, the contents of the log file will -# be moved to a backup file just before it reaches the maximum log file size -# specified via this directive. -# -# The name of the backup file is the name of the original log file with -# '.' inserted before the file extension. If the file does not -# have an extension, '.' is appended to the name of the original -# log file. The timestamp specifies when the rotation occurred. -# -# After the contents of the log file have been moved to the backup file, the -# original file is cleared, and logging resumes at the beginning of the file. -# -# log_rotation= -# -log_rotation=yes - -# -# Log File Rotation Size: -# The 'log_rotation_size' directive specifies the maximum size a log file may -# reach before rotation occurs, if enabled. The value is expressed in -# kilobytes. -# -# log_rotation_size=<16|32|128|1024> -# -log_rotation_size=32 - -# -# Deletion of rotated log files: -# The 'log_rotation_delete' directive specifies that no log backup will be -# kept. When rotation occurs, the file is immediately wiped out and a new -# log file is started. -# -# log_rotation_delete= -# -log_rotation_delete=no - -# -# Syslog Logging Facility [Unix Only]: -# When logging to syslog is requested using the 'log_syslog' directive, the -# facility to use may be specified using this directive. -# -# syslog_facility= -# -syslog_facility=USER - - -# end of gogoc.conf -#------------------------------------------------------------------------------ diff --git a/examples/ipv6/json-ws/json-ws-udp.c b/examples/ipv6/json-ws/json-ws-udp.c deleted file mode 100644 index 8f46f6cb2..000000000 --- a/examples/ipv6/json-ws/json-ws-udp.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2011-2012, 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. - * - */ - -/** - * \file - * Code for sending the JSON data as a UDP packet - * Specify proto = "udp", port = - * host = - * - * \author - * Niclas Finne - * Joakim Eriksson - */ - -#include "contiki.h" -#include "httpd-ws.h" -#include "jsontree.h" -#include "jsonparse.h" -#include "json-ws.h" -#include -#include - -#define DEBUG DEBUG_FULL -#include "net/ipv6/uip-debug.h" - -static struct uip_udp_conn *client_conn; -static uip_ipaddr_t server_ipaddr; -static uint16_t server_port; - -#define SENDER_PORT 8181 - -/*---------------------------------------------------------------------------*/ -int -json_ws_udp_setup(const char *host, uint16_t port) -{ - - server_port = port; - - if(client_conn != NULL) { - /* this should be a macro uip_udp_conn_free() or something */ - uip_udp_remove(client_conn); - client_conn = NULL; - } - - uip_ipaddr_t *ipaddr; - - /* First check if the host is an IP address. */ - ipaddr = &server_ipaddr; - if(uiplib_ipaddrconv(host, &server_ipaddr) == 0) { -#if 0 && UIP_UDP - if(resolv_lookup(host, &ipaddr) != RESOLV_STATUS_CACHED) { - return 0; - } -#else /* UIP_UDP */ - return 0; -#endif /* UIP_UDP */ - } - - /* new connection with remote host */ - client_conn = udp_new(&server_ipaddr, UIP_HTONS(server_port), NULL); - udp_bind(client_conn, UIP_HTONS(SENDER_PORT)); - - PRINTF("Created a connection with the server "); - PRINT6ADDR(&client_conn->ripaddr); - PRINTF(" local/remote port %u/%u\n", - UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport)); - return 1; -} - -/*---------------------------------------------------------------------------*/ - -static char *udp_buf; -static int pos; -static int size; - -static int -putchar_udp(int c) -{ - if(udp_buf != NULL && pos <= size) { - udp_buf[pos++] = c; - return c; - } - return 0; -} - -/*---------------------------------------------------------------------------*/ -void -json_ws_udp_send(struct jsontree_value *tree, const char *path) -{ - struct jsontree_context json; - /* maxsize = 70 bytes */ - char buf[70]; - - udp_buf = buf; - - /* reset state and set max-size */ - /* NOTE: packet will be truncated at 70 bytes */ - pos = 0; - size = sizeof(buf); - - json.values[0] = (struct json_value *)tree; - jsontree_reset(&json); - find_json_path(&json, path); - json.path = json.depth; - json.putchar = putchar_udp; - while(jsontree_print_next(&json) && json.path <= json.depth); - - printf("Real UDP size: %d\n", pos); - buf[pos] = 0; - - uip_udp_packet_sendto(client_conn, &buf, pos, - &server_ipaddr, UIP_HTONS(server_port)); -} -/*---------------------------------------------------------------------------*/ -void -json_ws_udp_debug(char *string) -{ - int len; - - len = strlen(string); - uip_udp_packet_sendto(client_conn, string, len, - &server_ipaddr, UIP_HTONS(server_port)); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/ipv6/json-ws/json-ws.c b/examples/ipv6/json-ws/json-ws.c deleted file mode 100644 index 6a290a194..000000000 --- a/examples/ipv6/json-ws/json-ws.c +++ /dev/null @@ -1,521 +0,0 @@ -/* - * Copyright (c) 2011-2012, 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. - * - * This file is part of the Contiki operating system. - */ - -/** - * \file - * JSON webservice util - * \author - * Niclas Finne - * Joakim Eriksson - * Joel Hoglund - */ - -#include "contiki.h" -#if PLATFORM_HAS_LEDS -#include "dev/leds.h" -#endif -#include "httpd-ws.h" -#include "jsontree.h" -#include "jsonparse.h" -#include "json-ws.h" -#include -#include - -#define DEBUG 0 -#if DEBUG -#define PRINTF(...) printf(__VA_ARGS__) -#else -#define PRINTF(...) -#endif - -#ifdef JSON_WS_CONF_CALLBACK_PROTO -#define CALLBACK_PROTO JSON_WS_CONF_CALLBACK_PROTO -#else -#define CALLBACK_PROTO "http" -#endif /* JSON_WS_CONF_CALLBACK_PROTO */ - -#ifdef JSON_WS_CONF_CALLBACK_PORT -#define CALLBACK_PORT JSON_WS_CONF_CALLBACK_PORT -#else -#define CALLBACK_PORT 8080; -#endif /* JSON_WS_CONF_CALLBACK_PORT */ - -/* Predefined startup-send interval */ -#ifdef JSON_WS_CONF_CALLBACK_INTERVAL -#define SEND_INTERVAL JSON_WS_CONF_CALLBACK_INTERVAL -#else -#define SEND_INTERVAL 120 -#endif - -static const char http_content_type_json[] = "application/json"; - -/* Maximum 40 chars in host name?: 5 x 8 */ -static char callback_host[40] = "[fd00::1]"; -static uint16_t callback_port = CALLBACK_PORT; -static uint16_t callback_interval = SEND_INTERVAL; -static char callback_path[80] = "/debug/"; -static char callback_appdata[80] = ""; -static char callback_proto[8] = CALLBACK_PROTO; -static const char *callback_json_path = NULL; -static struct jsontree_object *tree; -static struct ctimer periodic_timer; -long json_time_offset = 0; - -/* support for submitting to cosm */ -#if WITH_COSM -extern struct jsontree_callback cosm_value_callback; - -JSONTREE_OBJECT_EXT(cosm_tree, - JSONTREE_PAIR("current_value", &cosm_value_callback)); -#endif /* WITH_COSM */ - -static void periodic(void *ptr); - -/*---------------------------------------------------------------------------*/ -static void -json_copy_string(struct jsonparse_state *parser, char *string, int len) -{ - jsonparse_next(parser); - jsonparse_next(parser); - jsonparse_copy_value(parser, string, len); -} -/*---------------------------------------------------------------------------*/ -static int -cfg_get(struct jsontree_context *js_ctx) -{ - const char *path = jsontree_path_name(js_ctx, js_ctx->depth - 1); - - if(strncmp(path, "host", 4) == 0) { - jsontree_write_string(js_ctx, callback_host); - } else if(strncmp(path, "port", 4) == 0) { - jsontree_write_int(js_ctx, callback_port); - } else if(strncmp(path, "interval", 8) == 0) { - jsontree_write_int(js_ctx, callback_interval); - } else if(strncmp(path, "path", 4) == 0) { - jsontree_write_string(js_ctx, callback_path); - } else if(strncmp(path, "appdata", 7) == 0) { - jsontree_write_string(js_ctx, callback_appdata[0] == '\0' ? "" : "***"); - } else if(strncmp(path, "proto", 5) == 0) { - jsontree_write_string(js_ctx, callback_proto); - } - return 0; -} -static int -cfg_set(struct jsontree_context *js_ctx, struct jsonparse_state *parser) -{ - int type; - int update = 0; - - while((type = jsonparse_next(parser)) != 0) { - if(type == JSON_TYPE_PAIR_NAME) { - if(jsonparse_strcmp_value(parser, "host") == 0) { - json_copy_string(parser, callback_host, sizeof(callback_host)); - update++; - } else if(jsonparse_strcmp_value(parser, "path") == 0) { - json_copy_string(parser, callback_path, sizeof(callback_path)); - update++; - } else if(jsonparse_strcmp_value(parser, "appdata") == 0) { - json_copy_string(parser, callback_appdata, sizeof(callback_appdata)); - update++; - } else if(jsonparse_strcmp_value(parser, "proto") == 0) { - json_copy_string(parser, callback_proto, sizeof(callback_proto)); - update++; - } else if(jsonparse_strcmp_value(parser, "port") == 0) { - jsonparse_next(parser); - jsonparse_next(parser); - callback_port = jsonparse_get_value_as_int(parser); - if(callback_port == 0) { - callback_port = CALLBACK_PORT; - } - update++; - } else if(jsonparse_strcmp_value(parser, "interval") == 0) { - jsonparse_next(parser); - jsonparse_next(parser); - callback_interval = jsonparse_get_value_as_int(parser); - if(callback_interval == 0) { - callback_interval = SEND_INTERVAL; - } - update++; - } - } - } - if(update && callback_json_path != NULL) { -#if WITH_UDP - if(strncmp(callback_proto, "udp", 3) == 0) { - json_ws_udp_setup(callback_host, callback_port); - } -#endif - ctimer_set(&periodic_timer, CLOCK_SECOND * callback_interval, - periodic, NULL); - } - return 0; -} -static struct jsontree_callback cfg_callback = - JSONTREE_CALLBACK(cfg_get, cfg_set); - -JSONTREE_OBJECT_EXT(json_subscribe_callback, - JSONTREE_PAIR("host", &cfg_callback), - JSONTREE_PAIR("port", &cfg_callback), - JSONTREE_PAIR("path", &cfg_callback), - JSONTREE_PAIR("appdata", &cfg_callback), - JSONTREE_PAIR("proto", &cfg_callback), - JSONTREE_PAIR("interval", &cfg_callback)); -/*---------------------------------------------------------------------------*/ -static int -time_get(struct jsontree_context *js_ctx) -{ - /* unix time */ - char buf[20]; - unsigned long time = json_time_offset + clock_seconds(); - - snprintf(buf, 20, "%lu", time); - jsontree_write_atom(js_ctx, buf); - return 0; -} - -static int -time_set(struct jsontree_context *js_ctx, struct jsonparse_state *parser) -{ - int type; - unsigned long time; - - while((type = jsonparse_next(parser)) != 0) { - if(type == JSON_TYPE_PAIR_NAME) { - if(jsonparse_strcmp_value(parser, "time") == 0) { - jsonparse_next(parser); - jsonparse_next(parser); - time = jsonparse_get_value_as_long(parser); - json_time_offset = time - clock_seconds(); - } - } - } - return 0; -} - -struct jsontree_callback json_time_callback = - JSONTREE_CALLBACK(time_get, time_set); -/*---------------------------------------------------------------------------*/ -#if PLATFORM_HAS_LEDS -#include "dev/leds.h" - -static int -ws_leds_get(struct jsontree_context *js_ctx) -{ - char buf[4]; - unsigned char leds = leds_get(); - - snprintf(buf, 4, "%u", leds); - jsontree_write_atom(js_ctx, buf); - return 0; -} - -static int -ws_leds_set(struct jsontree_context *js_ctx, struct jsonparse_state *parser) -{ - int type, old_leds, new_leds; - - while((type = jsonparse_next(parser)) != 0) { - if(type == JSON_TYPE_PAIR_NAME) { - if(jsonparse_strcmp_value(parser, "leds") == 0) { - jsonparse_next(parser); - jsonparse_next(parser); - new_leds = jsonparse_get_value_as_int(parser); - old_leds = leds_get(); - leds_on(~old_leds & new_leds); - leds_off(old_leds & ~new_leds); - } - } - } - return 0; -} - -struct jsontree_callback json_leds_callback = - JSONTREE_CALLBACK(ws_leds_get, ws_leds_set); - -#endif /* PLATFORM_HAS_LEDS */ -/*---------------------------------------------------------------------------*/ -static struct httpd_ws_state *json_putchar_context; -static int -json_putchar(int c) -{ - if(json_putchar_context != NULL && - json_putchar_context->outbuf_pos < HTTPD_OUTBUF_SIZE) { - json_putchar_context->outbuf[json_putchar_context->outbuf_pos++] = c; - return c; - } - return 0; -} -static int putchar_size = 0; -static int -json_putchar_count(int c) -{ - putchar_size++; - return c; -} -/*---------------------------------------------------------------------------*/ -static -PT_THREAD(send_values(struct httpd_ws_state *s)) -{ - json_putchar_context = s; - - PSOCK_BEGIN(&s->sout); - - s->json.putchar = json_putchar; - s->outbuf_pos = 0; - - if(s->json.values[0] == NULL) { - /* Nothing to do */ - - } else if(s->request_type == HTTPD_WS_POST && - s->state == HTTPD_WS_STATE_OUTPUT) { - /* Set value */ - struct jsontree_value *v; - struct jsontree_callback *c; - - while((v = jsontree_find_next(&s->json, JSON_TYPE_CALLBACK)) != NULL) { - c = (struct jsontree_callback *)v; - if(c->set != NULL) { - struct jsonparse_state js; - - jsonparse_setup(&js, s->inputbuf, s->content_len); - c->set(&s->json, &js); - } - } - memcpy(s->outbuf, "{\"Status\":\"OK\"}", 15); - s->outbuf_pos = 15; - - } else { - /* Get value */ - while(jsontree_print_next(&s->json) && s->json.path <= s->json.depth) { - if(s->outbuf_pos >= UIP_TCP_MSS) { - SEND_STRING(&s->sout, s->outbuf, UIP_TCP_MSS); - s->outbuf_pos -= UIP_TCP_MSS; - if(s->outbuf_pos > 0) { - memcpy(s->outbuf, &s->outbuf[UIP_TCP_MSS], s->outbuf_pos); - } - } - } - } - - if(s->outbuf_pos > 0) { - SEND_STRING(&s->sout, s->outbuf, s->outbuf_pos); - s->outbuf_pos = 0; - } - PSOCK_END(&s->sout); -} -/*---------------------------------------------------------------------------*/ -struct jsontree_value * -find_json_path(struct jsontree_context *json, const char *path) -{ - struct jsontree_value *v; - const char *start; - const char *end; - int len; - - v = json->values[0]; - start = path; - do { - end = strchr(start, '/'); - if(end == start) { - break; - } - if(end != NULL) { - len = end - start; - end++; - } else { - len = strlen(start); - } - if(v->type != JSON_TYPE_OBJECT) { - v = NULL; - } else { - struct jsontree_object *o; - int i; - - o = (struct jsontree_object *)v; - v = NULL; - for(i = 0; i < o->count; i++) { - if(strncmp(start, o->pairs[i].name, len) == 0) { - v = o->pairs[i].value; - json->index[json->depth] = i; - json->depth++; - json->values[json->depth] = v; - json->index[json->depth] = 0; - break; - } - } - } - start = end; - } while(end != NULL && *end != '\0' && v != NULL); - json->callback_state = 0; - return v; -} -/*---------------------------------------------------------------------------*/ -static int -calculate_json_size(const char *path, struct jsontree_value *v) -{ - /* check size of JSON expression */ - struct jsontree_context json; - - json.values[0] = (v == NULL) ? (struct jsontree_value *)tree : v; - jsontree_reset(&json); - - if(path != NULL) { - find_json_path(&json, path); - } - - json.path = json.depth; - json.putchar = json_putchar_count; - putchar_size = 0; - while(jsontree_print_next(&json) && json.path <= json.depth); - - return putchar_size; -} -/*---------------------------------------------------------------------------*/ -httpd_ws_script_t -httpd_ws_get_script(struct httpd_ws_state *s) -{ - struct jsontree_value *v; - - s->json.values[0] = v = (struct jsontree_value *)tree; - jsontree_reset(&s->json); - - if(s->filename[1] == '\0') { - /* Default page: show full JSON tree. */ - } else { - v = find_json_path(&s->json, &s->filename[1]); - } - if(v != NULL) { - s->json.path = s->json.depth; - s->content_type = http_content_type_json; - return send_values; - } - return NULL; -} -/*---------------------------------------------------------------------------*/ -#if JSON_POST_EXTRA_HEADER || WITH_COSM -static int -output_headers(struct httpd_ws_state *s, char *buffer, int buffer_size, - int index) -{ - if(index == 0) { -#ifdef JSON_POST_EXTRA_HEADER - return snprintf(buffer, buffer_size, "%s\r\n", JSON_POST_EXTRA_HEADER); - } else if(index == 1) { -#endif -#if WITH_COSM - if(strncmp(callback_proto, "cosm", 4) == 0 && callback_appdata[0] != '\0') { - return snprintf(buffer, buffer_size, "X-PachubeApiKey:%s\r\n", - callback_appdata); - } -#endif - } - return 0; -} -#endif /* JSON_POST_EXTRA_HEADER || WITH_COSM */ -/*---------------------------------------------------------------------------*/ -static void -periodic(void *ptr) -{ - struct httpd_ws_state *s; - int callback_size; - - if(callback_json_path != NULL && strlen(callback_host) > 2) { - ctimer_restart(&periodic_timer); - - if(strncmp(callback_proto, "http", 4) == 0) { - callback_size = calculate_json_size(callback_json_path, NULL); - s = httpd_ws_request(HTTPD_WS_POST, callback_host, NULL, callback_port, - callback_path, http_content_type_json, - callback_size, send_values); - if(s != NULL) { - PRINTF("PERIODIC POST %s\n", callback_json_path); -#if JSON_POST_EXTRA_HEADER - s->output_extra_headers = output_headers; -#endif - s->json.values[0] = (struct jsontree_value *)tree; - jsontree_reset(&s->json); - find_json_path(&s->json, callback_json_path); - s->json.path = s->json.depth; - } else { - PRINTF("PERIODIC CALLBACK FAILED\n"); - } -#if WITH_COSM - } else if(strncmp(callback_proto, "cosm", 4) == 0) { - callback_size = calculate_json_size(NULL, (struct jsontree_value *) - &cosm_tree); - /* printf("JSON Size:%d\n", callback_size); */ - s = httpd_ws_request(HTTPD_WS_PUT, callback_host, "api.pachube.com", - callback_port, callback_path, - http_content_type_json, callback_size, send_values); - /* host = cosm host */ - /* path => path to datastream / data point */ - s->output_extra_headers = output_headers; - s->json.values[0] = (struct jsontree_value *)&cosm_tree; - jsontree_reset(&s->json); - s->json.path = 0; - - PRINTF("PERIODIC cosm callback: %d\n", callback_size); -#endif /* WITH_COSM */ - } -#if WITH_UDP - else { - callback_size = calculate_json_size(callback_json_path, NULL); - PRINTF("PERIODIC UDP size: %d\n", callback_size); - json_ws_udp_send(tree, callback_json_path); - } -#endif /* WITH_UDP */ - } else { - printf("PERIODIC CALLBACK - nothing todo\n"); - } -} -/*---------------------------------------------------------------------------*/ -void -json_ws_init(struct jsontree_object *json) -{ - PRINTF("JSON INIT (callback %s every %u seconds)\n", - CALLBACK_PROTO, SEND_INTERVAL); - tree = json; - ctimer_set(&periodic_timer, CLOCK_SECOND * SEND_INTERVAL, periodic, NULL); - process_start(&httpd_ws_process, NULL); -#if WITH_UDP - if(strncmp(callback_proto, "udp", 3) == 0) { - json_ws_udp_setup(callback_host, callback_port); - } -#endif /* WITH_UDP */ -} -/*---------------------------------------------------------------------------*/ -void -json_ws_set_callback(const char *path) -{ - callback_json_path = path; - ctimer_restart(&periodic_timer); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/ipv6/json-ws/json-ws.h b/examples/ipv6/json-ws/json-ws.h deleted file mode 100644 index 8c9e2a764..000000000 --- a/examples/ipv6/json-ws/json-ws.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2011-2012, 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. - * - * This file is part of the Contiki operating system. - */ - -/** - * \file - * JSON webservice util - * \author - * Niclas Finne - * Joakim Eriksson - * Joel Hoglund - */ - -#ifndef JSON_WS_H_ -#define JSON_WS_H_ - -#include "jsontree.h" - -void json_ws_init(struct jsontree_object *json); -void json_ws_set_callback(const char *json_path); -int json_ws_udp_setup(const char *host, uint16_t port); - -extern struct jsontree_object json_subscribe_callback; -extern struct jsontree_callback json_time_callback; - -#if PLATFORM_HAS_LEDS -extern struct jsontree_callback json_leds_callback; -#endif -extern struct jsontree_object cosm_tree; - -#endif /* JSON_WS_H_ */ diff --git a/examples/ipv6/json-ws/project-conf.h b/examples/ipv6/json-ws/project-conf.h deleted file mode 100644 index 1135d7dd1..000000000 --- a/examples/ipv6/json-ws/project-conf.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2012, 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_CONF_H_ -#define PROJECT_CONF_H_ - -#include "jsontree.h" -#define HTTPD_WS_CONF_USER_STATE struct jsontree_context json - -/* #define JSON_WS_CONF_CALLBACK_PROTO "http" | "udp" | "cosm" */ -#define JSON_WS_CONF_CALLBACK_PROTO "http" -#define JSON_WS_CONF_CALLBACK_PORT 80 -#define JSON_WS_CONF_CALLBACK_INTERVAL 120 - -#define WEBSERVER_CONF_INBUF_SIZE 200 - -#define WEBSERVER_CONF_OUTBUF_SIZE (UIP_TCP_MSS + 20 + 80) - -#define WEBSERVER_CONF_CFS_CONNS 3 - -#endif /* PROJECT_CONF_H_ */ diff --git a/examples/ipv6/json-ws/setcosm.py b/examples/ipv6/json-ws/setcosm.py deleted file mode 100755 index 4fe58057a..000000000 --- a/examples/ipv6/json-ws/setcosm.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/python - -# python set time code -import httplib,sys - -# edit the key and feed parameters to match your COSM account and feed -key = "" -feed = "" -cosmaddr = "[2001:470:1f10:333::2]" - -print "JSON-WS COSM configuration utility\n Currently set to COSM feed: %s Key: '%s'" % (feed, key) -if len(sys.argv) > 2: - host = sys.argv[1] - stream = sys.argv[2] -else: - print "Usage: ", sys.argv[0], " " - sys.exit() - -print "Setting cosm config at:", host, " feed:", feed, " stream:",stream - -conn = httplib.HTTPConnection(host) -# NAT64 address = -#conn.request("POST","", '{"host":"[2001:778:0:ffff:64:0:d834:e97a]","port":80,"path":"/v2/feeds/55180/datastreams/1","interval":120}') - -requestData = '{"host":"%s","port":80,"path":"/v2/feeds/%s/datastreams/%s","appdata":"%s","interval":120,"proto":"cosm"}' % (cosmaddr, feed, stream, key) -print "Posting to node: ", requestData -conn.request("POST","", requestData) - -res = conn.getresponse() -print res.status, res.reason diff --git a/examples/ipv6/json-ws/websense-sky.c b/examples/ipv6/json-ws/websense-sky.c deleted file mode 100644 index a203a6081..000000000 --- a/examples/ipv6/json-ws/websense-sky.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2011-2012, 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. - * - * This file is part of the Contiki operating system. - */ - -/** - * \file - * Websense for Sky mote - * \author - * Niclas Finne - * Joakim Eriksson - * Joel Hoglund - */ - -#include "contiki.h" -#include "dev/leds.h" -#include "dev/sht11/sht11-sensor.h" -#include "jsontree.h" -#include "json-ws.h" -#include - -#define DEBUG 0 -#if DEBUG -#define PRINTF(...) printf(__VA_ARGS__) -#else -#define PRINTF(...) -#endif - -PROCESS(websense_process, "Websense (sky)"); -AUTOSTART_PROCESSES(&websense_process); - -/*---------------------------------------------------------------------------*/ -static CC_INLINE int -get_temp(void) -{ - return ((sht11_sensor.value(SHT11_SENSOR_TEMP) / 10) - 396) / 10; -} -/*---------------------------------------------------------------------------*/ -static int -output_temp(struct jsontree_context *path) -{ - char buf[5]; - snprintf(buf, sizeof(buf), "%3d", get_temp()); - jsontree_write_atom(path, buf); - return 0; -} -static struct jsontree_callback temp_sensor_callback = - JSONTREE_CALLBACK(output_temp, NULL); -/*---------------------------------------------------------------------------*/ - -static struct jsontree_string desc = JSONTREE_STRING("Tmote Sky"); -static struct jsontree_string temp_unit = JSONTREE_STRING("Celcius"); - -JSONTREE_OBJECT(node_tree, - JSONTREE_PAIR("node-type", &desc), - JSONTREE_PAIR("time", &json_time_callback)); - -JSONTREE_OBJECT(temp_sensor_tree, - JSONTREE_PAIR("unit", &temp_unit), - JSONTREE_PAIR("value", &temp_sensor_callback)); - -JSONTREE_OBJECT(rsc_tree, - JSONTREE_PAIR("temperature", &temp_sensor_tree), - JSONTREE_PAIR("leds", &json_leds_callback)); - -/* complete node tree */ -JSONTREE_OBJECT(tree, - JSONTREE_PAIR("node", &node_tree), - JSONTREE_PAIR("rsc", &rsc_tree), - JSONTREE_PAIR("cfg", &json_subscribe_callback)); - -/*---------------------------------------------------------------------------*/ -/* for cosm plugin */ -#if WITH_COSM -/* set COSM value callback to be the temp sensor */ -struct jsontree_callback cosm_value_callback = - JSONTREE_CALLBACK(output_temp, NULL); -#endif - -PROCESS_THREAD(websense_process, ev, data) -{ - static struct etimer timer; - - PROCESS_BEGIN(); - - json_ws_init(&tree); - - SENSORS_ACTIVATE(sht11_sensor); - - json_ws_set_callback("rsc"); - - while(1) { - /* Alive indication with the LED */ - etimer_set(&timer, CLOCK_SECOND * 5); - PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer)); - leds_on(LEDS_RED); - etimer_set(&timer, CLOCK_SECOND / 8); - PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer)); - leds_off(LEDS_RED); - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ From d605dc3b82b92d13ad20cdc18682e3b23b579fae Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:28:56 +0100 Subject: [PATCH 04/34] Add simple UDP echo server example This example used to be considered specific to the CC2538DK platform. However, there was nothing really platform-specific to it. This commit moves the example to the top-level examples directory and documents it. --- .../udp-ipv6-echo-server/Makefile.target | 1 - .../Makefile | 4 ++-- examples/udp-echo-server/README.md | 14 ++++++++++++++ .../udp-echo-server.c | 17 +---------------- tests/02-compile-arm-ports/Makefile | 2 +- 5 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile.target rename examples/{platform-specific/cc2538dk/udp-ipv6-echo-server => udp-echo-server}/Makefile (62%) create mode 100644 examples/udp-echo-server/README.md rename examples/{platform-specific/cc2538dk/udp-ipv6-echo-server => udp-echo-server}/udp-echo-server.c (92%) diff --git a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile.target b/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile.target deleted file mode 100644 index 777593c88..000000000 --- a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile.target +++ /dev/null @@ -1 +0,0 @@ -TARGET = cc2538dk diff --git a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile b/examples/udp-echo-server/Makefile similarity index 62% rename from examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile rename to examples/udp-echo-server/Makefile index 841f43125..31c7af5b8 100644 --- a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/Makefile +++ b/examples/udp-echo-server/Makefile @@ -2,6 +2,6 @@ CONTIKI_PROJECT = udp-echo-server all: $(CONTIKI_PROJECT) -CONTIKI = ../../../.. -CFLAGS += -DUIP_CONF_ND6_SEND_NS=1 +CONTIKI = ../.. + include $(CONTIKI)/Makefile.include diff --git a/examples/udp-echo-server/README.md b/examples/udp-echo-server/README.md new file mode 100644 index 000000000..0fb5d70e1 --- /dev/null +++ b/examples/udp-echo-server/README.md @@ -0,0 +1,14 @@ +UDP echo server example +======================= +This example demonstrates how to implement a simple UDP-server by +using the original UDP API (as opposed to using the simple-udp module). + +It is anticipated that this example will run on all supported platforms. + +To test, compile and programme your device (or execute on the native +platform). Then you can use netcat, like so: + + $ nc -6u 3000 + +Type something in your console and you should see it echoed back by the +UDP server running on your device. diff --git a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/udp-echo-server.c b/examples/udp-echo-server/udp-echo-server.c similarity index 92% rename from examples/platform-specific/cc2538dk/udp-ipv6-echo-server/udp-echo-server.c rename to examples/udp-echo-server/udp-echo-server.c index b7f698169..7da3ba036 100644 --- a/examples/platform-specific/cc2538dk/udp-ipv6-echo-server/udp-echo-server.c +++ b/examples/udp-echo-server/udp-echo-server.c @@ -28,18 +28,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */ -/** \addtogroup cc2538-examples - * @{ - * - * \defgroup cc2538-echo-server cc2538dk UDP Echo Server Project - * - * Tests that a node can correctly join an RPL network and also tests UDP - * functionality - * @{ - * - * \file - * An example of a simple UDP echo server for the cc2538dk platform - */ +/*---------------------------------------------------------------------------*/ #include "contiki.h" #include "contiki-lib.h" #include "contiki-net.h" @@ -107,7 +96,3 @@ PROCESS_THREAD(udp_echo_server_process, ev, data) PROCESS_END(); } /*---------------------------------------------------------------------------*/ -/** - * @} - * @} - */ diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index bebf7518d..1836943bf 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -16,7 +16,7 @@ ipv6/rpl-border-router/cc2538dk \ ipv6/rpl-udp/cc2538dk \ ipv6/coap-example/cc2538dk \ ipso-objects/cc2538dk \ -platform-specific/cc2538dk/udp-ipv6-echo-server/cc2538dk \ +udp-echo-server/cc2538dk \ ipv6/multicast/cc2538dk \ platform-specific/cc2538-common/cc2538dk \ platform-specific/cc2538-common/mqtt-demo/cc2538dk \ From 516cd35935864b960acad2285f64530ddb4fa85a Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:34:32 +0100 Subject: [PATCH 05/34] Move example to the top-level dir (Native BR) --- examples/ipso-objects/Makefile | 4 ++-- examples/ipv6/coap-example/Makefile | 4 ++-- examples/{ipv6 => }/native-border-router/Makefile | 2 +- examples/{ipv6 => }/native-border-router/Makefile.target | 0 examples/{ipv6 => }/native-border-router/README.md | 0 examples/{ipv6 => }/native-border-router/border-router-cmds.c | 0 examples/{ipv6 => }/native-border-router/border-router-cmds.h | 0 examples/{ipv6 => }/native-border-router/border-router-mac.c | 0 examples/{ipv6 => }/native-border-router/border-router.c | 0 examples/{ipv6 => }/native-border-router/border-router.h | 0 examples/{ipv6 => }/native-border-router/httpd-simple.c | 0 examples/{ipv6 => }/native-border-router/httpd-simple.h | 0 examples/{ipv6 => }/native-border-router/project-conf.h | 0 examples/{ipv6 => }/native-border-router/slip-config.c | 0 examples/{ipv6 => }/native-border-router/slip-dev.c | 0 examples/{ipv6 => }/native-border-router/tun-bridge.c | 0 16 files changed, 5 insertions(+), 5 deletions(-) rename examples/{ipv6 => }/native-border-router/Makefile (97%) rename examples/{ipv6 => }/native-border-router/Makefile.target (100%) rename examples/{ipv6 => }/native-border-router/README.md (100%) rename examples/{ipv6 => }/native-border-router/border-router-cmds.c (100%) rename examples/{ipv6 => }/native-border-router/border-router-cmds.h (100%) rename examples/{ipv6 => }/native-border-router/border-router-mac.c (100%) rename examples/{ipv6 => }/native-border-router/border-router.c (100%) rename examples/{ipv6 => }/native-border-router/border-router.h (100%) rename examples/{ipv6 => }/native-border-router/httpd-simple.c (100%) rename examples/{ipv6 => }/native-border-router/httpd-simple.h (100%) rename examples/{ipv6 => }/native-border-router/project-conf.h (100%) rename examples/{ipv6 => }/native-border-router/slip-config.c (100%) rename examples/{ipv6 => }/native-border-router/slip-dev.c (100%) rename examples/{ipv6 => }/native-border-router/tun-bridge.c (100%) diff --git a/examples/ipso-objects/Makefile b/examples/ipso-objects/Makefile index 673b57aef..d4a1ef503 100644 --- a/examples/ipso-objects/Makefile +++ b/examples/ipso-objects/Makefile @@ -21,5 +21,5 @@ connect-router: $(CONTIKI)/tools/tunslip6 connect-router-cooja: $(CONTIKI)/tools/tunslip6 sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 -p 60001 aaaa::1/64 -connect-router-native: $(CONTIKI)/examples/ipv6/native-border-router/border-router.native - sudo $(CONTIKI)/exmples/ipv6/native-border-router/border-router.native -a 127.0.0.1 -p 60001 aaaa::1/64 +connect-router-native: $(CONTIKI)/examples/native-border-router/border-router.native + sudo $(CONTIKI)/examples/native-border-router/border-router.native -a 127.0.0.1 -p 60001 aaaa::1/64 diff --git a/examples/ipv6/coap-example/Makefile b/examples/ipv6/coap-example/Makefile index 367ae2689..1e5373698 100644 --- a/examples/ipv6/coap-example/Makefile +++ b/examples/ipv6/coap-example/Makefile @@ -45,8 +45,8 @@ connect-router: $(CONTIKI)/tools/tunslip6 connect-router-cooja: $(CONTIKI)/tools/tunslip6 sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 -p 60001 fd00::1/64 -connect-router-native: $(CONTIKI)/examples/ipv6/native-border-router/border-router.native - sudo $(CONTIKI)/exmples/ipv6/native-border-router/border-router.native -a 127.0.0.1 -p 60001 fd00::1/64 +connect-router-native: $(CONTIKI)/examples/native-border-router/border-router.native + sudo $(CONTIKI)/examples/native-border-router/border-router.native -a 127.0.0.1 -p 60001 fd00::1/64 connect-minimal: sudo ip address add fdfd::1/64 dev tap0 diff --git a/examples/ipv6/native-border-router/Makefile b/examples/native-border-router/Makefile similarity index 97% rename from examples/ipv6/native-border-router/Makefile rename to examples/native-border-router/Makefile index 96a358165..01345f92f 100644 --- a/examples/ipv6/native-border-router/Makefile +++ b/examples/native-border-router/Makefile @@ -2,7 +2,7 @@ CONTIKI_PROJECT=border-router all: $(CONTIKI_PROJECT) MODULES += os/services/slip-cmd -CONTIKI=../../.. +CONTIKI=../.. PROJECT_SOURCEFILES += border-router-cmds.c tun-bridge.c border-router-mac.c \ slip-config.c slip-dev.c diff --git a/examples/ipv6/native-border-router/Makefile.target b/examples/native-border-router/Makefile.target similarity index 100% rename from examples/ipv6/native-border-router/Makefile.target rename to examples/native-border-router/Makefile.target diff --git a/examples/ipv6/native-border-router/README.md b/examples/native-border-router/README.md similarity index 100% rename from examples/ipv6/native-border-router/README.md rename to examples/native-border-router/README.md diff --git a/examples/ipv6/native-border-router/border-router-cmds.c b/examples/native-border-router/border-router-cmds.c similarity index 100% rename from examples/ipv6/native-border-router/border-router-cmds.c rename to examples/native-border-router/border-router-cmds.c diff --git a/examples/ipv6/native-border-router/border-router-cmds.h b/examples/native-border-router/border-router-cmds.h similarity index 100% rename from examples/ipv6/native-border-router/border-router-cmds.h rename to examples/native-border-router/border-router-cmds.h diff --git a/examples/ipv6/native-border-router/border-router-mac.c b/examples/native-border-router/border-router-mac.c similarity index 100% rename from examples/ipv6/native-border-router/border-router-mac.c rename to examples/native-border-router/border-router-mac.c diff --git a/examples/ipv6/native-border-router/border-router.c b/examples/native-border-router/border-router.c similarity index 100% rename from examples/ipv6/native-border-router/border-router.c rename to examples/native-border-router/border-router.c diff --git a/examples/ipv6/native-border-router/border-router.h b/examples/native-border-router/border-router.h similarity index 100% rename from examples/ipv6/native-border-router/border-router.h rename to examples/native-border-router/border-router.h diff --git a/examples/ipv6/native-border-router/httpd-simple.c b/examples/native-border-router/httpd-simple.c similarity index 100% rename from examples/ipv6/native-border-router/httpd-simple.c rename to examples/native-border-router/httpd-simple.c diff --git a/examples/ipv6/native-border-router/httpd-simple.h b/examples/native-border-router/httpd-simple.h similarity index 100% rename from examples/ipv6/native-border-router/httpd-simple.h rename to examples/native-border-router/httpd-simple.h diff --git a/examples/ipv6/native-border-router/project-conf.h b/examples/native-border-router/project-conf.h similarity index 100% rename from examples/ipv6/native-border-router/project-conf.h rename to examples/native-border-router/project-conf.h diff --git a/examples/ipv6/native-border-router/slip-config.c b/examples/native-border-router/slip-config.c similarity index 100% rename from examples/ipv6/native-border-router/slip-config.c rename to examples/native-border-router/slip-config.c diff --git a/examples/ipv6/native-border-router/slip-dev.c b/examples/native-border-router/slip-dev.c similarity index 100% rename from examples/ipv6/native-border-router/slip-dev.c rename to examples/native-border-router/slip-dev.c diff --git a/examples/ipv6/native-border-router/tun-bridge.c b/examples/native-border-router/tun-bridge.c similarity index 100% rename from examples/ipv6/native-border-router/tun-bridge.c rename to examples/native-border-router/tun-bridge.c From a0f741ec6e2d38b711ec756b56d04943ea3810d3 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:39:09 +0100 Subject: [PATCH 06/34] Move example to the top-level dir (SLIP Radio) --- examples/{ipv6 => }/slip-radio/Makefile | 2 +- examples/{ipv6 => }/slip-radio/README.md | 0 examples/{ipv6 => }/slip-radio/project-conf.h | 0 examples/{ipv6 => }/slip-radio/slip-net.c | 0 examples/{ipv6 => }/slip-radio/slip-radio-cc2420.c | 0 examples/{ipv6 => }/slip-radio/slip-radio-mc1322x.c | 0 examples/{ipv6 => }/slip-radio/slip-radio-rf230.c | 0 examples/{ipv6 => }/slip-radio/slip-radio-sky-sensors.c | 0 examples/{ipv6 => }/slip-radio/slip-radio.c | 0 examples/{ipv6 => }/slip-radio/slip-radio.h | 0 tests/08-ipv6/02-sky-slip-radio.csc | 4 ++-- 11 files changed, 3 insertions(+), 3 deletions(-) rename examples/{ipv6 => }/slip-radio/Makefile (96%) rename examples/{ipv6 => }/slip-radio/README.md (100%) rename examples/{ipv6 => }/slip-radio/project-conf.h (100%) rename examples/{ipv6 => }/slip-radio/slip-net.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio-cc2420.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio-mc1322x.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio-rf230.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio-sky-sensors.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio.c (100%) rename examples/{ipv6 => }/slip-radio/slip-radio.h (100%) diff --git a/examples/ipv6/slip-radio/Makefile b/examples/slip-radio/Makefile similarity index 96% rename from examples/ipv6/slip-radio/Makefile rename to examples/slip-radio/Makefile index f5e3ffac6..f4bd8ca35 100644 --- a/examples/ipv6/slip-radio/Makefile +++ b/examples/slip-radio/Makefile @@ -6,7 +6,7 @@ ifeq ($(TARGET),) -include Makefile.target endif -CONTIKI=../../.. +CONTIKI=../.. PROJECT_SOURCEFILES += slip-net.c ifeq ($(TARGET),sky) diff --git a/examples/ipv6/slip-radio/README.md b/examples/slip-radio/README.md similarity index 100% rename from examples/ipv6/slip-radio/README.md rename to examples/slip-radio/README.md diff --git a/examples/ipv6/slip-radio/project-conf.h b/examples/slip-radio/project-conf.h similarity index 100% rename from examples/ipv6/slip-radio/project-conf.h rename to examples/slip-radio/project-conf.h diff --git a/examples/ipv6/slip-radio/slip-net.c b/examples/slip-radio/slip-net.c similarity index 100% rename from examples/ipv6/slip-radio/slip-net.c rename to examples/slip-radio/slip-net.c diff --git a/examples/ipv6/slip-radio/slip-radio-cc2420.c b/examples/slip-radio/slip-radio-cc2420.c similarity index 100% rename from examples/ipv6/slip-radio/slip-radio-cc2420.c rename to examples/slip-radio/slip-radio-cc2420.c diff --git a/examples/ipv6/slip-radio/slip-radio-mc1322x.c b/examples/slip-radio/slip-radio-mc1322x.c similarity index 100% rename from examples/ipv6/slip-radio/slip-radio-mc1322x.c rename to examples/slip-radio/slip-radio-mc1322x.c diff --git a/examples/ipv6/slip-radio/slip-radio-rf230.c b/examples/slip-radio/slip-radio-rf230.c similarity index 100% rename from examples/ipv6/slip-radio/slip-radio-rf230.c rename to examples/slip-radio/slip-radio-rf230.c diff --git a/examples/ipv6/slip-radio/slip-radio-sky-sensors.c b/examples/slip-radio/slip-radio-sky-sensors.c similarity index 100% rename from examples/ipv6/slip-radio/slip-radio-sky-sensors.c rename to examples/slip-radio/slip-radio-sky-sensors.c diff --git a/examples/ipv6/slip-radio/slip-radio.c b/examples/slip-radio/slip-radio.c similarity index 100% rename from examples/ipv6/slip-radio/slip-radio.c rename to examples/slip-radio/slip-radio.c diff --git a/examples/ipv6/slip-radio/slip-radio.h b/examples/slip-radio/slip-radio.h similarity index 100% rename from examples/ipv6/slip-radio/slip-radio.h rename to examples/slip-radio/slip-radio.h diff --git a/tests/08-ipv6/02-sky-slip-radio.csc b/tests/08-ipv6/02-sky-slip-radio.csc index 3d205c2d7..35f4c95ac 100644 --- a/tests/08-ipv6/02-sky-slip-radio.csc +++ b/tests/08-ipv6/02-sky-slip-radio.csc @@ -24,9 +24,9 @@ se.sics.cooja.mspmote.SkyMoteType sky1 slip radio - [CONTIKI_DIR]/examples/ipv6/slip-radio/slip-radio.c + [CONTIKI_DIR]/examples/slip-radio/slip-radio.c make slip-radio.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/slip-radio/slip-radio.sky + [CONTIKI_DIR]/examples/slip-radio/slip-radio.sky se.sics.cooja.interfaces.Position se.sics.cooja.interfaces.RimeAddress se.sics.cooja.interfaces.IPAddress From 53ef81795e4e99f8b5eb9ee7e9d98434c5efccf7 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:45:06 +0100 Subject: [PATCH 07/34] Move example to the top-level dir (CoAP) --- examples/{ipv6 => }/coap-example/Makefile | 2 +- examples/{ipv6 => }/coap-example/README.md | 0 examples/{ipv6 => }/coap-example/coap-example-client.c | 0 .../{ipv6 => }/coap-example/coap-example-observe-client.c | 0 examples/{ipv6 => }/coap-example/coap-example-server.c | 0 examples/{ipv6 => }/coap-example/in6addr.patch | 0 examples/{ipv6 => }/coap-example/plugtest-server.c | 0 examples/{ipv6 => }/coap-example/plugtest.h | 0 examples/{ipv6 => }/coap-example/project-conf.h | 0 .../{ipv6 => }/coap-example/resources/res-b1-sep-b2.c | 0 examples/{ipv6 => }/coap-example/resources/res-battery.c | 0 examples/{ipv6 => }/coap-example/resources/res-chunks.c | 0 examples/{ipv6 => }/coap-example/resources/res-event.c | 0 examples/{ipv6 => }/coap-example/resources/res-hello.c | 0 examples/{ipv6 => }/coap-example/resources/res-leds.c | 0 examples/{ipv6 => }/coap-example/resources/res-light.c | 0 examples/{ipv6 => }/coap-example/resources/res-mirror.c | 0 .../coap-example/resources/res-plugtest-create1.c | 0 .../coap-example/resources/res-plugtest-create2.c | 0 .../coap-example/resources/res-plugtest-create3.c | 0 .../coap-example/resources/res-plugtest-large-create.c | 0 .../coap-example/resources/res-plugtest-large-update.c | 0 .../coap-example/resources/res-plugtest-large.c | 0 .../coap-example/resources/res-plugtest-links.c | 0 .../coap-example/resources/res-plugtest-locquery.c | 0 .../coap-example/resources/res-plugtest-longpath.c | 0 .../coap-example/resources/res-plugtest-multi.c | 0 .../{ipv6 => }/coap-example/resources/res-plugtest-obs.c | 0 .../{ipv6 => }/coap-example/resources/res-plugtest-path.c | 0 .../coap-example/resources/res-plugtest-query.c | 0 .../coap-example/resources/res-plugtest-separate.c | 0 .../{ipv6 => }/coap-example/resources/res-plugtest-test.c | 0 .../coap-example/resources/res-plugtest-validate.c | 0 examples/{ipv6 => }/coap-example/resources/res-push.c | 0 examples/{ipv6 => }/coap-example/resources/res-radio.c | 0 examples/{ipv6 => }/coap-example/resources/res-separate.c | 0 examples/{ipv6 => }/coap-example/resources/res-sht11.c | 0 examples/{ipv6 => }/coap-example/resources/res-sub.c | 0 .../{ipv6 => }/coap-example/resources/res-temperature.c | 0 examples/{ipv6 => }/coap-example/resources/res-toggle.c | 0 examples/{ipv6 => }/coap-example/server-client-native.csc | 8 ++++---- .../{ipv6 => }/coap-example/server-client-observe.csc | 8 ++++---- examples/{ipv6 => }/coap-example/server-client.csc | 8 ++++---- examples/{ipv6 => }/coap-example/server-only.csc | 4 ++-- tests/02-compile-arm-ports/Makefile | 4 ++-- 45 files changed, 17 insertions(+), 17 deletions(-) rename examples/{ipv6 => }/coap-example/Makefile (98%) rename examples/{ipv6 => }/coap-example/README.md (100%) rename examples/{ipv6 => }/coap-example/coap-example-client.c (100%) rename examples/{ipv6 => }/coap-example/coap-example-observe-client.c (100%) rename examples/{ipv6 => }/coap-example/coap-example-server.c (100%) rename examples/{ipv6 => }/coap-example/in6addr.patch (100%) rename examples/{ipv6 => }/coap-example/plugtest-server.c (100%) rename examples/{ipv6 => }/coap-example/plugtest.h (100%) rename examples/{ipv6 => }/coap-example/project-conf.h (100%) rename examples/{ipv6 => }/coap-example/resources/res-b1-sep-b2.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-battery.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-chunks.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-event.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-hello.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-leds.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-light.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-mirror.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-create1.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-create2.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-create3.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-large-create.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-large-update.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-large.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-links.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-locquery.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-longpath.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-multi.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-obs.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-path.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-query.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-separate.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-test.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-plugtest-validate.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-push.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-radio.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-separate.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-sht11.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-sub.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-temperature.c (100%) rename examples/{ipv6 => }/coap-example/resources/res-toggle.c (100%) rename examples/{ipv6 => }/coap-example/server-client-native.csc (95%) rename examples/{ipv6 => }/coap-example/server-client-observe.csc (95%) rename examples/{ipv6 => }/coap-example/server-client.csc (95%) rename examples/{ipv6 => }/coap-example/server-only.csc (97%) diff --git a/examples/ipv6/coap-example/Makefile b/examples/coap-example/Makefile similarity index 98% rename from examples/ipv6/coap-example/Makefile rename to examples/coap-example/Makefile index 1e5373698..1c8f2d21e 100644 --- a/examples/ipv6/coap-example/Makefile +++ b/examples/coap-example/Makefile @@ -1,7 +1,7 @@ all: coap-example-server coap-example-client # use target "plugtest-server" explicitly when required -CONTIKI=../../.. +CONTIKI=../.. # automatically build RESTful resources REST_RESOURCES_DIR = ./resources diff --git a/examples/ipv6/coap-example/README.md b/examples/coap-example/README.md similarity index 100% rename from examples/ipv6/coap-example/README.md rename to examples/coap-example/README.md diff --git a/examples/ipv6/coap-example/coap-example-client.c b/examples/coap-example/coap-example-client.c similarity index 100% rename from examples/ipv6/coap-example/coap-example-client.c rename to examples/coap-example/coap-example-client.c diff --git a/examples/ipv6/coap-example/coap-example-observe-client.c b/examples/coap-example/coap-example-observe-client.c similarity index 100% rename from examples/ipv6/coap-example/coap-example-observe-client.c rename to examples/coap-example/coap-example-observe-client.c diff --git a/examples/ipv6/coap-example/coap-example-server.c b/examples/coap-example/coap-example-server.c similarity index 100% rename from examples/ipv6/coap-example/coap-example-server.c rename to examples/coap-example/coap-example-server.c diff --git a/examples/ipv6/coap-example/in6addr.patch b/examples/coap-example/in6addr.patch similarity index 100% rename from examples/ipv6/coap-example/in6addr.patch rename to examples/coap-example/in6addr.patch diff --git a/examples/ipv6/coap-example/plugtest-server.c b/examples/coap-example/plugtest-server.c similarity index 100% rename from examples/ipv6/coap-example/plugtest-server.c rename to examples/coap-example/plugtest-server.c diff --git a/examples/ipv6/coap-example/plugtest.h b/examples/coap-example/plugtest.h similarity index 100% rename from examples/ipv6/coap-example/plugtest.h rename to examples/coap-example/plugtest.h diff --git a/examples/ipv6/coap-example/project-conf.h b/examples/coap-example/project-conf.h similarity index 100% rename from examples/ipv6/coap-example/project-conf.h rename to examples/coap-example/project-conf.h diff --git a/examples/ipv6/coap-example/resources/res-b1-sep-b2.c b/examples/coap-example/resources/res-b1-sep-b2.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-b1-sep-b2.c rename to examples/coap-example/resources/res-b1-sep-b2.c diff --git a/examples/ipv6/coap-example/resources/res-battery.c b/examples/coap-example/resources/res-battery.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-battery.c rename to examples/coap-example/resources/res-battery.c diff --git a/examples/ipv6/coap-example/resources/res-chunks.c b/examples/coap-example/resources/res-chunks.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-chunks.c rename to examples/coap-example/resources/res-chunks.c diff --git a/examples/ipv6/coap-example/resources/res-event.c b/examples/coap-example/resources/res-event.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-event.c rename to examples/coap-example/resources/res-event.c diff --git a/examples/ipv6/coap-example/resources/res-hello.c b/examples/coap-example/resources/res-hello.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-hello.c rename to examples/coap-example/resources/res-hello.c diff --git a/examples/ipv6/coap-example/resources/res-leds.c b/examples/coap-example/resources/res-leds.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-leds.c rename to examples/coap-example/resources/res-leds.c diff --git a/examples/ipv6/coap-example/resources/res-light.c b/examples/coap-example/resources/res-light.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-light.c rename to examples/coap-example/resources/res-light.c diff --git a/examples/ipv6/coap-example/resources/res-mirror.c b/examples/coap-example/resources/res-mirror.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-mirror.c rename to examples/coap-example/resources/res-mirror.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-create1.c b/examples/coap-example/resources/res-plugtest-create1.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-create1.c rename to examples/coap-example/resources/res-plugtest-create1.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-create2.c b/examples/coap-example/resources/res-plugtest-create2.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-create2.c rename to examples/coap-example/resources/res-plugtest-create2.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-create3.c b/examples/coap-example/resources/res-plugtest-create3.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-create3.c rename to examples/coap-example/resources/res-plugtest-create3.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-large-create.c b/examples/coap-example/resources/res-plugtest-large-create.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-large-create.c rename to examples/coap-example/resources/res-plugtest-large-create.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-large-update.c b/examples/coap-example/resources/res-plugtest-large-update.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-large-update.c rename to examples/coap-example/resources/res-plugtest-large-update.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-large.c b/examples/coap-example/resources/res-plugtest-large.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-large.c rename to examples/coap-example/resources/res-plugtest-large.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-links.c b/examples/coap-example/resources/res-plugtest-links.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-links.c rename to examples/coap-example/resources/res-plugtest-links.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-locquery.c b/examples/coap-example/resources/res-plugtest-locquery.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-locquery.c rename to examples/coap-example/resources/res-plugtest-locquery.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-longpath.c b/examples/coap-example/resources/res-plugtest-longpath.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-longpath.c rename to examples/coap-example/resources/res-plugtest-longpath.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-multi.c b/examples/coap-example/resources/res-plugtest-multi.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-multi.c rename to examples/coap-example/resources/res-plugtest-multi.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-obs.c b/examples/coap-example/resources/res-plugtest-obs.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-obs.c rename to examples/coap-example/resources/res-plugtest-obs.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-path.c b/examples/coap-example/resources/res-plugtest-path.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-path.c rename to examples/coap-example/resources/res-plugtest-path.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-query.c b/examples/coap-example/resources/res-plugtest-query.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-query.c rename to examples/coap-example/resources/res-plugtest-query.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-separate.c b/examples/coap-example/resources/res-plugtest-separate.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-separate.c rename to examples/coap-example/resources/res-plugtest-separate.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-test.c b/examples/coap-example/resources/res-plugtest-test.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-test.c rename to examples/coap-example/resources/res-plugtest-test.c diff --git a/examples/ipv6/coap-example/resources/res-plugtest-validate.c b/examples/coap-example/resources/res-plugtest-validate.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-plugtest-validate.c rename to examples/coap-example/resources/res-plugtest-validate.c diff --git a/examples/ipv6/coap-example/resources/res-push.c b/examples/coap-example/resources/res-push.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-push.c rename to examples/coap-example/resources/res-push.c diff --git a/examples/ipv6/coap-example/resources/res-radio.c b/examples/coap-example/resources/res-radio.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-radio.c rename to examples/coap-example/resources/res-radio.c diff --git a/examples/ipv6/coap-example/resources/res-separate.c b/examples/coap-example/resources/res-separate.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-separate.c rename to examples/coap-example/resources/res-separate.c diff --git a/examples/ipv6/coap-example/resources/res-sht11.c b/examples/coap-example/resources/res-sht11.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-sht11.c rename to examples/coap-example/resources/res-sht11.c diff --git a/examples/ipv6/coap-example/resources/res-sub.c b/examples/coap-example/resources/res-sub.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-sub.c rename to examples/coap-example/resources/res-sub.c diff --git a/examples/ipv6/coap-example/resources/res-temperature.c b/examples/coap-example/resources/res-temperature.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-temperature.c rename to examples/coap-example/resources/res-temperature.c diff --git a/examples/ipv6/coap-example/resources/res-toggle.c b/examples/coap-example/resources/res-toggle.c similarity index 100% rename from examples/ipv6/coap-example/resources/res-toggle.c rename to examples/coap-example/resources/res-toggle.c diff --git a/examples/ipv6/coap-example/server-client-native.csc b/examples/coap-example/server-client-native.csc similarity index 95% rename from examples/ipv6/coap-example/server-client-native.csc rename to examples/coap-example/server-client-native.csc index d61cc89b0..db8daba1a 100644 --- a/examples/ipv6/coap-example/server-client-native.csc +++ b/examples/coap-example/server-client-native.csc @@ -48,9 +48,9 @@ org.contikios.cooja.mspmote.SkyMoteType server Erbium Server - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.c + [CONTIKI_DIR]/examples/coap-example/coap-example-server.c make coap-example-server.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -71,9 +71,9 @@ org.contikios.cooja.mspmote.SkyMoteType client Erbium Client - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-client.c + [CONTIKI_DIR]/examples/coap-example/coap-example-client.c make coap-example-client.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-client.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/coap-example/server-client-observe.csc b/examples/coap-example/server-client-observe.csc similarity index 95% rename from examples/ipv6/coap-example/server-client-observe.csc rename to examples/coap-example/server-client-observe.csc index ebedb70b9..709b85e9d 100644 --- a/examples/ipv6/coap-example/server-client-observe.csc +++ b/examples/coap-example/server-client-observe.csc @@ -48,9 +48,9 @@ org.contikios.cooja.mspmote.SkyMoteType server Erbium Server - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.c + [CONTIKI_DIR]/examples/coap-example/coap-example-server.c make coap-example-server.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -71,9 +71,9 @@ org.contikios.cooja.mspmote.SkyMoteType client Erbium Client - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-observe-client.c + [CONTIKI_DIR]/examples/coap-example/coap-example-observe-client.c make coap-example-observe-client.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-observe-client.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-observe-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/coap-example/server-client.csc b/examples/coap-example/server-client.csc similarity index 95% rename from examples/ipv6/coap-example/server-client.csc rename to examples/coap-example/server-client.csc index 8e8e75a09..e6d1212db 100644 --- a/examples/ipv6/coap-example/server-client.csc +++ b/examples/coap-example/server-client.csc @@ -48,9 +48,9 @@ org.contikios.cooja.mspmote.SkyMoteType server Erbium Server - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.c + [CONTIKI_DIR]/examples/coap-example/coap-example-server.c make coap-example-server.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -71,9 +71,9 @@ org.contikios.cooja.mspmote.SkyMoteType client Erbium Client - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-client.c + [CONTIKI_DIR]/examples/coap-example/coap-example-client.c make coap-example-client.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-client.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/coap-example/server-only.csc b/examples/coap-example/server-only.csc similarity index 97% rename from examples/ipv6/coap-example/server-only.csc rename to examples/coap-example/server-only.csc index 473b78357..11636cda4 100644 --- a/examples/ipv6/coap-example/server-only.csc +++ b/examples/coap-example/server-only.csc @@ -48,9 +48,9 @@ org.contikios.cooja.mspmote.SkyMoteType server Erbium Server - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.c + [CONTIKI_DIR]/examples/coap-example/coap-example-server.c make coap-example-server.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/coap-example/coap-example-server.sky + [CONTIKI_DIR]/examples/coap-example/coap-example-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 1836943bf..02fb871cb 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -14,7 +14,7 @@ platform-specific/cc26xx/very-sleepy-demo/srf06-cc26xx \ hello-world/cc2538dk \ ipv6/rpl-border-router/cc2538dk \ ipv6/rpl-udp/cc2538dk \ -ipv6/coap-example/cc2538dk \ +coap-example/cc2538dk \ ipso-objects/cc2538dk \ udp-echo-server/cc2538dk \ ipv6/multicast/cc2538dk \ @@ -27,7 +27,7 @@ platform-specific/cc2538-common/mqtt-demo/zoul \ platform-specific/cc2538-common/crypto/zoul \ platform-specific/cc2538-common/pka/zoul \ platform-specific/zoul/orion/ip64-router/zoul:BOARD=orion \ -ipv6/coap-example/zoul \ +coap-example/zoul \ ipso-objects/zoul \ hello-world/zoul \ sensniff/cc2538dk \ From ba677a325bf675bda719eb0a5b12ded82d2e3a7b Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:50:18 +0100 Subject: [PATCH 08/34] Move example to the top-level dir (Packet processing) --- examples/{ipv6 => }/packet-processing/Makefile | 2 +- examples/{ipv6 => }/packet-processing/packet-debug.c | 0 .../rpl-udp.csc => packet-processing/packet-processing.csc} | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename examples/{ipv6 => }/packet-processing/Makefile (92%) rename examples/{ipv6 => }/packet-processing/packet-debug.c (100%) rename examples/{ipv6/packet-processing/rpl-udp.csc => packet-processing/packet-processing.csc} (99%) diff --git a/examples/ipv6/packet-processing/Makefile b/examples/packet-processing/Makefile similarity index 92% rename from examples/ipv6/packet-processing/Makefile rename to examples/packet-processing/Makefile index ad46cf50c..f99991abc 100644 --- a/examples/ipv6/packet-processing/Makefile +++ b/examples/packet-processing/Makefile @@ -1,5 +1,5 @@ all: packet-debug ../rpl-udp/udp-server -CONTIKI=../../.. +CONTIKI=../.. ifdef SERVER_REPLY CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY) diff --git a/examples/ipv6/packet-processing/packet-debug.c b/examples/packet-processing/packet-debug.c similarity index 100% rename from examples/ipv6/packet-processing/packet-debug.c rename to examples/packet-processing/packet-debug.c diff --git a/examples/ipv6/packet-processing/rpl-udp.csc b/examples/packet-processing/packet-processing.csc similarity index 99% rename from examples/ipv6/packet-processing/rpl-udp.csc rename to examples/packet-processing/packet-processing.csc index eede14829..df3890ed5 100644 --- a/examples/ipv6/packet-processing/rpl-udp.csc +++ b/examples/packet-processing/packet-processing.csc @@ -47,9 +47,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/ipv6/packet-processing/packet-debug.c + [CONTIKI_DIR]/examples/packet-processing/packet-debug.c make clean packet-debug.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/packet-processing/packet-debug.sky + [CONTIKI_DIR]/examples/packet-processing/packet-debug.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress From 613320f64f8cd19900a57f2ffb006516e24de659 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 20:56:25 +0100 Subject: [PATCH 09/34] Move example to the top-level dir (rpl-tsch-sixtop) --- examples/{ipv6 => }/rpl-tsch-sixtop/Makefile | 2 +- examples/{ipv6 => }/rpl-tsch-sixtop/README.md | 0 examples/{ipv6 => }/rpl-tsch-sixtop/node-sixtop.c | 0 examples/{ipv6 => }/rpl-tsch-sixtop/project-conf.h | 0 examples/{ipv6 => }/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc | 4 ++-- examples/{ipv6 => }/rpl-tsch-sixtop/sf-simple.c | 0 examples/{ipv6 => }/rpl-tsch-sixtop/sf-simple.h | 0 7 files changed, 3 insertions(+), 3 deletions(-) rename examples/{ipv6 => }/rpl-tsch-sixtop/Makefile (94%) rename examples/{ipv6 => }/rpl-tsch-sixtop/README.md (100%) rename examples/{ipv6 => }/rpl-tsch-sixtop/node-sixtop.c (100%) rename examples/{ipv6 => }/rpl-tsch-sixtop/project-conf.h (100%) rename examples/{ipv6 => }/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc (96%) rename examples/{ipv6 => }/rpl-tsch-sixtop/sf-simple.c (100%) rename examples/{ipv6 => }/rpl-tsch-sixtop/sf-simple.h (100%) diff --git a/examples/ipv6/rpl-tsch-sixtop/Makefile b/examples/rpl-tsch-sixtop/Makefile similarity index 94% rename from examples/ipv6/rpl-tsch-sixtop/Makefile rename to examples/rpl-tsch-sixtop/Makefile index 42360f170..0cce1fe1b 100644 --- a/examples/ipv6/rpl-tsch-sixtop/Makefile +++ b/examples/rpl-tsch-sixtop/Makefile @@ -2,7 +2,7 @@ CONTIKI_PROJECT = node-sixtop all: $(CONTIKI_PROJECT) PROJECT_SOURCEFILES += sf-simple.c -CONTIKI=../../.. +CONTIKI=../.. MAKE_WITH_SECURITY ?= 0 # force Security from command line diff --git a/examples/ipv6/rpl-tsch-sixtop/README.md b/examples/rpl-tsch-sixtop/README.md similarity index 100% rename from examples/ipv6/rpl-tsch-sixtop/README.md rename to examples/rpl-tsch-sixtop/README.md diff --git a/examples/ipv6/rpl-tsch-sixtop/node-sixtop.c b/examples/rpl-tsch-sixtop/node-sixtop.c similarity index 100% rename from examples/ipv6/rpl-tsch-sixtop/node-sixtop.c rename to examples/rpl-tsch-sixtop/node-sixtop.c diff --git a/examples/ipv6/rpl-tsch-sixtop/project-conf.h b/examples/rpl-tsch-sixtop/project-conf.h similarity index 100% rename from examples/ipv6/rpl-tsch-sixtop/project-conf.h rename to examples/rpl-tsch-sixtop/project-conf.h diff --git a/examples/ipv6/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc b/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc similarity index 96% rename from examples/ipv6/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc rename to examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc index 24a7f86c5..413ad64f9 100644 --- a/examples/ipv6/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc +++ b/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc @@ -24,9 +24,9 @@ org.contikios.cooja.mspmote.Z1MoteType z11 Z1 Mote Type #z11 - [CONTIKI_DIR]/examples/ipv6/rpl-tsch-sixtop/node-sixtop.c + [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.c make node-sixtop.z1 TARGET=z1 - [CONTIKI_DIR]/examples/ipv6/rpl-tsch-sixtop/node-sixtop.z1 + [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.z1 org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-tsch-sixtop/sf-simple.c b/examples/rpl-tsch-sixtop/sf-simple.c similarity index 100% rename from examples/ipv6/rpl-tsch-sixtop/sf-simple.c rename to examples/rpl-tsch-sixtop/sf-simple.c diff --git a/examples/ipv6/rpl-tsch-sixtop/sf-simple.h b/examples/rpl-tsch-sixtop/sf-simple.h similarity index 100% rename from examples/ipv6/rpl-tsch-sixtop/sf-simple.h rename to examples/rpl-tsch-sixtop/sf-simple.h From 93b0b6822d78a65063974fc86973ac07e6c7ab5a Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 21:01:02 +0100 Subject: [PATCH 10/34] Move example to the top-level dir (rpl-tsch) --- examples/{ipv6 => }/rpl-tsch/Makefile | 2 +- examples/{ipv6 => }/rpl-tsch/README.md | 0 examples/{ipv6 => }/rpl-tsch/node.c | 0 examples/{ipv6 => }/rpl-tsch/project-conf.h | 0 examples/{ipv6 => }/rpl-tsch/rpl-tsch-cooja.csc | 2 +- tests/02-compile-arm-ports/Makefile | 6 +++--- tests/03-compile-nxp-ports/Makefile | 6 +++--- tests/08-ipv6/19-cooja-rpl-tsch.csc | 2 +- tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc | 4 ++-- tests/08-ipv6/21-cooja-rpl-tsch-security.csc | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) rename examples/{ipv6 => }/rpl-tsch/Makefile (97%) rename examples/{ipv6 => }/rpl-tsch/README.md (100%) rename examples/{ipv6 => }/rpl-tsch/node.c (100%) rename examples/{ipv6 => }/rpl-tsch/project-conf.h (100%) rename examples/{ipv6 => }/rpl-tsch/rpl-tsch-cooja.csc (99%) diff --git a/examples/ipv6/rpl-tsch/Makefile b/examples/rpl-tsch/Makefile similarity index 97% rename from examples/ipv6/rpl-tsch/Makefile rename to examples/rpl-tsch/Makefile index e6cb76944..ddd2360f8 100644 --- a/examples/ipv6/rpl-tsch/Makefile +++ b/examples/rpl-tsch/Makefile @@ -1,7 +1,7 @@ CONTIKI_PROJECT = node all: $(CONTIKI_PROJECT) -CONTIKI=../../.. +CONTIKI=../.. MAKE_WITH_ORCHESTRA ?= 0 # force Orchestra from command line MAKE_WITH_SECURITY ?= 0 # force Security from command line diff --git a/examples/ipv6/rpl-tsch/README.md b/examples/rpl-tsch/README.md similarity index 100% rename from examples/ipv6/rpl-tsch/README.md rename to examples/rpl-tsch/README.md diff --git a/examples/ipv6/rpl-tsch/node.c b/examples/rpl-tsch/node.c similarity index 100% rename from examples/ipv6/rpl-tsch/node.c rename to examples/rpl-tsch/node.c diff --git a/examples/ipv6/rpl-tsch/project-conf.h b/examples/rpl-tsch/project-conf.h similarity index 100% rename from examples/ipv6/rpl-tsch/project-conf.h rename to examples/rpl-tsch/project-conf.h diff --git a/examples/ipv6/rpl-tsch/rpl-tsch-cooja.csc b/examples/rpl-tsch/rpl-tsch-cooja.csc similarity index 99% rename from examples/ipv6/rpl-tsch/rpl-tsch-cooja.csc rename to examples/rpl-tsch/rpl-tsch-cooja.csc index 3364b43fd..64dca6559 100644 --- a/examples/ipv6/rpl-tsch/rpl-tsch-cooja.csc +++ b/examples/rpl-tsch/rpl-tsch-cooja.csc @@ -25,7 +25,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype660 RPL/TSCH Node - [CONTIKI_DIR]/examples/ipv6/rpl-tsch/node.c + [CONTIKI_DIR]/examples/rpl-tsch/node.c make TARGET=cooja clean make TARGET=cooja node.cooja org.contikios.cooja.interfaces.Position diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 02fb871cb..8e6e8cadd 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -39,9 +39,9 @@ sensniff/srf06-cc26xx:BOARD=launchpad/cc1310 \ cfs-coffee/cc2538dk \ cfs-coffee/openmote-cc2538 \ cfs-coffee/zoul \ -ipv6/rpl-tsch/zoul \ -ipv6/rpl-tsch/zoul:MAKE_WITH_ORCHESTRA=1 \ -ipv6/rpl-tsch/zoul:MAKE_WITH_SECURITY=1 \ +rpl-tsch/zoul \ +rpl-tsch/zoul:MAKE_WITH_ORCHESTRA=1 \ +rpl-tsch/zoul:MAKE_WITH_SECURITY=1 \ logging/zoul \ 6tisch/etsi-plugtest-2017/zoul:BOARD=remote \ 6tisch/etsi-plugtest-2017/srf06-cc26xx:BOARD=launchpad/cc2650 diff --git a/tests/03-compile-nxp-ports/Makefile b/tests/03-compile-nxp-ports/Makefile index 0672f9786..87f7b0f1d 100644 --- a/tests/03-compile-nxp-ports/Makefile +++ b/tests/03-compile-nxp-ports/Makefile @@ -16,9 +16,9 @@ platform-specific/jn516x/tsch/simple-sensor-network/rpl-border-router/jn516x \ platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/jn516x \ platform-specific/jn516x/tsch/uart1-test-node/jn516x \ sensniff/jn516x \ -ipv6/rpl-tsch/jn516x \ -ipv6/rpl-tsch/jn516x:MAKE_WITH_ORCHESTRA=1 \ -ipv6/rpl-tsch/jn516x:MAKE_WITH_SECURITY=1 \ +rpl-tsch/jn516x \ +rpl-tsch/jn516x:MAKE_WITH_ORCHESTRA=1 \ +rpl-tsch/jn516x:MAKE_WITH_SECURITY=1 \ logging/jn516x \ 6tisch/etsi-plugtest-2017/jn516x diff --git a/tests/08-ipv6/19-cooja-rpl-tsch.csc b/tests/08-ipv6/19-cooja-rpl-tsch.csc index 97f4dd798..e2e3737bf 100644 --- a/tests/08-ipv6/19-cooja-rpl-tsch.csc +++ b/tests/08-ipv6/19-cooja-rpl-tsch.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype1 Cooja Mote Type #mtype1 - [CONTIKI_DIR]/examples/ipv6/rpl-tsch/node.c + [CONTIKI_DIR]/examples/rpl-tsch/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=0 MAKE_WITH_SECURITY=0 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 org.contikios.cooja.interfaces.Position diff --git a/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc b/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc index 676d86366..7a529c880 100644 --- a/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc +++ b/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc @@ -24,11 +24,11 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype11 Cooja Mote Type #mtype11 - [CONTIKI_DIR]/examples/ipv6/rpl-tsch/node.c + [CONTIKI_DIR]/examples/rpl-tsch/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=1 MAKE_WITH_SECURITY=0 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 [CONTIKI_DIR]/examples/ipv6/rpl-tsch/node.mtype1 + EXPORT="copy">[CONTIKI_DIR]/examples/rpl-tsch/node.mtype1 org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery org.contikios.cooja.contikimote.interfaces.ContikiVib diff --git a/tests/08-ipv6/21-cooja-rpl-tsch-security.csc b/tests/08-ipv6/21-cooja-rpl-tsch-security.csc index ffa370b01..d2ff6b9c3 100644 --- a/tests/08-ipv6/21-cooja-rpl-tsch-security.csc +++ b/tests/08-ipv6/21-cooja-rpl-tsch-security.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype11 Cooja Mote Type #mtype11 - [CONTIKI_DIR]/examples/ipv6/rpl-tsch/node.c + [CONTIKI_DIR]/examples/rpl-tsch/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=0 MAKE_WITH_SECURITY=1 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 org.contikios.cooja.interfaces.Position From 2efb34834fc7c44fc44ed5accd4e147468c5e4c4 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 21:42:56 +0100 Subject: [PATCH 11/34] Move example to the top-level dir (multicast) --- examples/{ipv6 => }/multicast/Makefile | 2 +- examples/{ipv6 => }/multicast/intermediate.c | 0 examples/{ipv6 => }/multicast/multicast.csc | 12 ++++++------ examples/{ipv6 => }/multicast/project-conf.h | 0 examples/{ipv6 => }/multicast/root.c | 0 examples/{ipv6 => }/multicast/sink.c | 0 tests/01-compile-base/Makefile | 2 +- tests/02-compile-arm-ports/Makefile | 2 +- .../08-ipv6/15-cooja-multicast-11-hops-rollt-tm.csc | 6 +++--- tests/08-ipv6/16-cooja-multicast-11-hops-smrf.csc | 6 +++--- tests/08-ipv6/17-cooja-multicast-11-hops-esmrf.csc | 6 +++--- tests/08-ipv6/18-cooja-multicast-31-hops.csc | 6 +++--- 12 files changed, 21 insertions(+), 21 deletions(-) rename examples/{ipv6 => }/multicast/Makefile (90%) rename examples/{ipv6 => }/multicast/intermediate.c (100%) rename examples/{ipv6 => }/multicast/multicast.csc (95%) rename examples/{ipv6 => }/multicast/project-conf.h (100%) rename examples/{ipv6 => }/multicast/root.c (100%) rename examples/{ipv6 => }/multicast/sink.c (100%) diff --git a/examples/ipv6/multicast/Makefile b/examples/multicast/Makefile similarity index 90% rename from examples/ipv6/multicast/Makefile rename to examples/multicast/Makefile index 310177870..2337ea60f 100644 --- a/examples/ipv6/multicast/Makefile +++ b/examples/multicast/Makefile @@ -1,7 +1,7 @@ CONTIKI_PROJECT = root intermediate sink all: $(CONTIKI_PROJECT) -CONTIKI = ../../.. +CONTIKI = ../.. MODULES += os/net/ipv6/multicast diff --git a/examples/ipv6/multicast/intermediate.c b/examples/multicast/intermediate.c similarity index 100% rename from examples/ipv6/multicast/intermediate.c rename to examples/multicast/intermediate.c diff --git a/examples/ipv6/multicast/multicast.csc b/examples/multicast/multicast.csc similarity index 95% rename from examples/ipv6/multicast/multicast.csc rename to examples/multicast/multicast.csc index a0857c13b..e88913825 100644 --- a/examples/ipv6/multicast/multicast.csc +++ b/examples/multicast/multicast.csc @@ -24,9 +24,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 root - [CONTIKI_DIR]/examples/ipv6/multicast/root.c + [CONTIKI_DIR]/examples/multicast/root.c make root.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/multicast/root.sky + [CONTIKI_DIR]/examples/multicast/root.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -47,9 +47,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 intermediate - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.c + [CONTIKI_DIR]/examples/multicast/intermediate.c make intermediate.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.sky + [CONTIKI_DIR]/examples/multicast/intermediate.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -70,9 +70,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky3 sink - [CONTIKI_DIR]/examples/ipv6/multicast/sink.c + [CONTIKI_DIR]/examples/multicast/sink.c make sink.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/multicast/sink.sky + [CONTIKI_DIR]/examples/multicast/sink.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/multicast/project-conf.h b/examples/multicast/project-conf.h similarity index 100% rename from examples/ipv6/multicast/project-conf.h rename to examples/multicast/project-conf.h diff --git a/examples/ipv6/multicast/root.c b/examples/multicast/root.c similarity index 100% rename from examples/ipv6/multicast/root.c rename to examples/multicast/root.c diff --git a/examples/ipv6/multicast/sink.c b/examples/multicast/sink.c similarity index 100% rename from examples/ipv6/multicast/sink.c rename to examples/multicast/sink.c diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index e429e78b5..322412b4e 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -5,7 +5,7 @@ EXAMPLES = \ hello-world/native \ hello-world/sky \ eeprom-test/native \ -ipv6/multicast/sky \ +multicast/sky \ logging/native \ ipv6/rpl-udp/sky \ diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 8e6e8cadd..bee5a35fb 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -17,7 +17,7 @@ ipv6/rpl-udp/cc2538dk \ coap-example/cc2538dk \ ipso-objects/cc2538dk \ udp-echo-server/cc2538dk \ -ipv6/multicast/cc2538dk \ +multicast/cc2538dk \ platform-specific/cc2538-common/cc2538dk \ platform-specific/cc2538-common/mqtt-demo/cc2538dk \ platform-specific/cc2538-common/crypto/cc2538dk \ diff --git a/tests/08-ipv6/15-cooja-multicast-11-hops-rollt-tm.csc b/tests/08-ipv6/15-cooja-multicast-11-hops-rollt-tm.csc index c9bdd16be..8fdc9fcd9 100644 --- a/tests/08-ipv6/15-cooja-multicast-11-hops-rollt-tm.csc +++ b/tests/08-ipv6/15-cooja-multicast-11-hops-rollt-tm.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype612 Root/sender - [CONTIKI_DIR]/examples/ipv6/multicast/root.c + [CONTIKI_DIR]/examples/multicast/root.c make root.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ROLL_TM org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -48,7 +48,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype890 Intermediate - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.c + [CONTIKI_DIR]/examples/multicast/intermediate.c make intermediate.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ROLL_TM org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -72,7 +72,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype956 Receiver - [CONTIKI_DIR]/examples/ipv6/multicast/sink.c + [CONTIKI_DIR]/examples/multicast/sink.c make sink.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ROLL_TM org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery diff --git a/tests/08-ipv6/16-cooja-multicast-11-hops-smrf.csc b/tests/08-ipv6/16-cooja-multicast-11-hops-smrf.csc index 8ee4053bd..c99541032 100644 --- a/tests/08-ipv6/16-cooja-multicast-11-hops-smrf.csc +++ b/tests/08-ipv6/16-cooja-multicast-11-hops-smrf.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype612 Root/sender - [CONTIKI_DIR]/examples/ipv6/multicast/root.c + [CONTIKI_DIR]/examples/multicast/root.c make root.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_SMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -48,7 +48,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype890 Intermediate - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.c + [CONTIKI_DIR]/examples/multicast/intermediate.c make intermediate.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_SMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -72,7 +72,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype956 Receiver - [CONTIKI_DIR]/examples/ipv6/multicast/sink.c + [CONTIKI_DIR]/examples/multicast/sink.c make sink.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_SMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery diff --git a/tests/08-ipv6/17-cooja-multicast-11-hops-esmrf.csc b/tests/08-ipv6/17-cooja-multicast-11-hops-esmrf.csc index ea64b23e0..6c68043d1 100644 --- a/tests/08-ipv6/17-cooja-multicast-11-hops-esmrf.csc +++ b/tests/08-ipv6/17-cooja-multicast-11-hops-esmrf.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype612 Root/sender - [CONTIKI_DIR]/examples/ipv6/multicast/root.c + [CONTIKI_DIR]/examples/multicast/root.c make root.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ESMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -48,7 +48,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype890 Intermediate - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.c + [CONTIKI_DIR]/examples/multicast/intermediate.c make intermediate.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ESMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -72,7 +72,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype956 Receiver - [CONTIKI_DIR]/examples/ipv6/multicast/sink.c + [CONTIKI_DIR]/examples/multicast/sink.c make sink.cooja TARGET=cooja DEFINES=UIP_MCAST6_CONF_ENGINE=UIP_MCAST6_ENGINE_ESMRF org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery diff --git a/tests/08-ipv6/18-cooja-multicast-31-hops.csc b/tests/08-ipv6/18-cooja-multicast-31-hops.csc index 27321d624..1da00d7cf 100644 --- a/tests/08-ipv6/18-cooja-multicast-31-hops.csc +++ b/tests/08-ipv6/18-cooja-multicast-31-hops.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype816 Root/sender - [CONTIKI_DIR]/examples/ipv6/multicast/root.c + [CONTIKI_DIR]/examples/multicast/root.c make root.cooja TARGET=cooja org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -48,7 +48,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype53 Intermediate - [CONTIKI_DIR]/examples/ipv6/multicast/intermediate.c + [CONTIKI_DIR]/examples/multicast/intermediate.c make intermediate.cooja TARGET=cooja org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery @@ -72,7 +72,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype191 Receiver - [CONTIKI_DIR]/examples/ipv6/multicast/sink.c + [CONTIKI_DIR]/examples/multicast/sink.c make sink.cooja TARGET=cooja org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery From a3c185132a28d5b5f927c7420974695ea8306d16 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 23:14:27 +0100 Subject: [PATCH 12/34] Tidy up webserver configuration (Native BR) Previously, we were using the example's Makefile to configure whether we want a web server built into the BR. We had 3 options: * No web server * Internal web server * External web server (from apps/) The last option is no longer evailable. This commit removes support for this option and it also simplifies the situation: We now merely use a CPP macro to enable/disable the web server. --- examples/native-border-router/Makefile | 13 ++----------- examples/native-border-router/border-router.c | 17 +++++------------ examples/native-border-router/project-conf.h | 2 ++ 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/examples/native-border-router/Makefile b/examples/native-border-router/Makefile index 01345f92f..d61b29f6e 100644 --- a/examples/native-border-router/Makefile +++ b/examples/native-border-router/Makefile @@ -4,17 +4,8 @@ MODULES += os/services/slip-cmd CONTIKI=../.. -PROJECT_SOURCEFILES += border-router-cmds.c tun-bridge.c border-router-mac.c \ -slip-config.c slip-dev.c - -WITH_WEBSERVER=1 -ifeq ($(WITH_WEBSERVER),1) -CFLAGS += -DWEBSERVER=1 -PROJECT_SOURCEFILES += httpd-simple.c -else ifneq ($(WITH_WEBSERVER), 0) -MODULES += $(WITH_WEBSERVER) -CFLAGS += -DWEBSERVER=2 -endif +PROJECT_SOURCEFILES += border-router-cmds.c tun-bridge.c httpd-simple.c +PROJECT_SOURCEFILES += slip-config.c slip-dev.c border-router-mac.c MAKE_MAC = MAKE_MAC_OTHER MAKE_NET = MAKE_NET_IPV6 diff --git a/examples/native-border-router/border-router.c b/examples/native-border-router/border-router.c index b8d6fcc6e..e55e3f870 100644 --- a/examples/native-border-router/border-router.c +++ b/examples/native-border-router/border-router.c @@ -82,15 +82,7 @@ CMD_HANDLERS(border_router_cmd_handler); PROCESS(border_router_process, "Border router process"); -#if WEBSERVER==0 -/* No webserver */ -AUTOSTART_PROCESSES(&border_router_process,&border_router_cmd_process); -#elif WEBSERVER>1 -/* Use an external webserver application */ -#include "webserver-nogui.h" -AUTOSTART_PROCESSES(&border_router_process,&border_router_cmd_process, - &webserver_nogui_process); -#else +#if BORDER_ROUTER_CONF_WEBSERVER /* Use simple webserver with only one page */ #include "httpd-simple.h" PROCESS(webserver_nogui_process, "Web server"); @@ -212,9 +204,10 @@ httpd_simple_get_script(const char *name) { return generate_routes; } - -#endif /* WEBSERVER */ - +#else /* BORDER_ROUTER_CONF_WEBSERVER */ +/* No webserver */ +AUTOSTART_PROCESSES(&border_router_process,&border_router_cmd_process); +#endif /* BORDER_ROUTER_CONF_WEBSERVER */ /*---------------------------------------------------------------------------*/ static void print_local_addresses(void) diff --git a/examples/native-border-router/project-conf.h b/examples/native-border-router/project-conf.h index c6c9e4f30..5a0c524eb 100644 --- a/examples/native-border-router/project-conf.h +++ b/examples/native-border-router/project-conf.h @@ -30,6 +30,8 @@ #ifndef PROJECT_ROUTER_CONF_H_ #define PROJECT_ROUTER_CONF_H_ +#define BORDER_ROUTER_CONF_WEBSERVER 1 + #define UIP_FALLBACK_INTERFACE rpl_interface /* use a non-default network driver */ From dd1f06fb01785c5e7080cbbc57e029adbbec39d2 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sat, 28 Oct 2017 23:48:46 +0100 Subject: [PATCH 13/34] Move example to the top-level dir (rpl-border-router) and tidy-up webserver configuration Previously, we were using the example's Makefile to configure whether we want a web server built into the BR. We had 3 options: * No web server * Internal web server * External web server (from apps/) The last option is no longer evailable. This commit removes support for this option and it also simplifies the situation: We now merely use a CPP macro to enable/disable the web server. --- examples/coap-example/README.md | 2 +- .../coap-example/server-client-observe.csc | 4 +- examples/coap-example/server-client.csc | 4 +- examples/coap-example/server-only.csc | 4 +- examples/ipv6/rpl-border-router/Makefile | 39 ------------------- examples/rpl-border-router/Makefile | 21 ++++++++++ .../rpl-border-router/border-router.c | 17 +++----- .../rpl-border-router/httpd-simple.c | 0 .../rpl-border-router/httpd-simple.h | 0 .../rpl-border-router/project-conf.h | 4 +- .../rpl-border-router/slip-bridge.c | 0 tests/02-compile-arm-ports/Makefile | 2 +- 12 files changed, 37 insertions(+), 60 deletions(-) delete mode 100644 examples/ipv6/rpl-border-router/Makefile create mode 100644 examples/rpl-border-router/Makefile rename examples/{ipv6 => }/rpl-border-router/border-router.c (98%) rename examples/{ipv6 => }/rpl-border-router/httpd-simple.c (100%) rename examples/{ipv6 => }/rpl-border-router/httpd-simple.h (100%) rename examples/{ipv6 => }/rpl-border-router/project-conf.h (96%) rename examples/{ipv6 => }/rpl-border-router/slip-bridge.c (100%) diff --git a/examples/coap-example/README.md b/examples/coap-example/README.md index c0ca817ca..f74ddfb9e 100644 --- a/examples/coap-example/README.md +++ b/examples/coap-example/README.md @@ -71,7 +71,7 @@ TMOTES HOWTO 2. Press reset button, get address, abort with Ctrl+C: Line: "Tentative link-local IPv6 address fe80:0000:0000:0000:____:____:____:____" - cd ../ipv6/rpl-border-router/ + cd ../rpl-border-router/ make TARGET=sky border-router.upload MOTE=1 make connect-router diff --git a/examples/coap-example/server-client-observe.csc b/examples/coap-example/server-client-observe.csc index 709b85e9d..0b6c51d44 100644 --- a/examples/coap-example/server-client-observe.csc +++ b/examples/coap-example/server-client-observe.csc @@ -25,9 +25,9 @@ org.contikios.cooja.mspmote.SkyMoteType rplroot Sky RPL Root - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.c + [CONTIKI_DIR]/examples/rpl-border-router/border-router.c make border-router.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.sky + [CONTIKI_DIR]/examples/rpl-border-router/border-router.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/coap-example/server-client.csc b/examples/coap-example/server-client.csc index e6d1212db..9e8353d79 100644 --- a/examples/coap-example/server-client.csc +++ b/examples/coap-example/server-client.csc @@ -25,9 +25,9 @@ org.contikios.cooja.mspmote.SkyMoteType rplroot Sky RPL Root - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.c + [CONTIKI_DIR]/examples/rpl-border-router/border-router.c make border-router.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.sky + [CONTIKI_DIR]/examples/rpl-border-router/border-router.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/coap-example/server-only.csc b/examples/coap-example/server-only.csc index 11636cda4..683a96a38 100644 --- a/examples/coap-example/server-only.csc +++ b/examples/coap-example/server-only.csc @@ -25,9 +25,9 @@ org.contikios.cooja.mspmote.SkyMoteType rplroot Sky RPL Root - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.c + [CONTIKI_DIR]/examples/rpl-border-router/border-router.c make border-router.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.sky + [CONTIKI_DIR]/examples/rpl-border-router/border-router.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-border-router/Makefile b/examples/ipv6/rpl-border-router/Makefile deleted file mode 100644 index c8a40f681..000000000 --- a/examples/ipv6/rpl-border-router/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -CONTIKI_PROJECT=border-router -all: $(CONTIKI_PROJECT) - -CONTIKI=../../.. - -PROJECT_SOURCEFILES += slip-bridge.c - -#Simple built-in webserver is the default. -#Override with make WITH_WEBSERVER=0 for no webserver. -#WITH_WEBSERVER=module-path will use the module if it can be found -#make clean before changing webservers! - -#Note /apps/webserver contains a 2500 byte style sheet which is a severe test -#of the slip connection. Large MSS together with low baud rates without flow -#control will overrun the transmit buffer when the style sheet is requested. - -WITH_WEBSERVER=1 -ifeq ($(WITH_WEBSERVER),1) -CFLAGS += -DWEBSERVER=1 -PROJECT_SOURCEFILES += httpd-simple.c -else ifneq ($(WITH_WEBSERVER), 0) -MODULES += $(WITH_WEBSERVER) -CFLAGS += -DWEBSERVER=2 -endif - -ifeq ($(PREFIX),) - PREFIX = fd00::1/64 -endif - -include $(CONTIKI)/Makefile.include - -$(CONTIKI)/tools/tunslip6: $(CONTIKI)/tools/tunslip6.c - (cd $(CONTIKI)/tools && $(MAKE) tunslip6) - -connect-router: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 $(PREFIX) - -connect-router-cooja: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 $(PREFIX) diff --git a/examples/rpl-border-router/Makefile b/examples/rpl-border-router/Makefile new file mode 100644 index 000000000..2f02a031e --- /dev/null +++ b/examples/rpl-border-router/Makefile @@ -0,0 +1,21 @@ +CONTIKI_PROJECT=border-router +all: $(CONTIKI_PROJECT) + +CONTIKI=../.. + +PROJECT_SOURCEFILES += slip-bridge.c httpd-simple.c + +ifeq ($(PREFIX),) + PREFIX = fd00::1/64 +endif + +include $(CONTIKI)/Makefile.include + +$(CONTIKI)/tools/tunslip6: $(CONTIKI)/tools/tunslip6.c + (cd $(CONTIKI)/tools && $(MAKE) tunslip6) + +connect-router: $(CONTIKI)/tools/tunslip6 + sudo $(CONTIKI)/tools/tunslip6 $(PREFIX) + +connect-router-cooja: $(CONTIKI)/tools/tunslip6 + sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 $(PREFIX) diff --git a/examples/ipv6/rpl-border-router/border-router.c b/examples/rpl-border-router/border-router.c similarity index 98% rename from examples/ipv6/rpl-border-router/border-router.c rename to examples/rpl-border-router/border-router.c index ab3dc8086..c6a812d93 100644 --- a/examples/ipv6/rpl-border-router/border-router.c +++ b/examples/rpl-border-router/border-router.c @@ -65,14 +65,7 @@ static uint8_t prefix_set; PROCESS(border_router_process, "Border router process"); -#if WEBSERVER==0 -/* No webserver */ -AUTOSTART_PROCESSES(&border_router_process); -#elif WEBSERVER>1 -/* Use an external webserver application */ -#include "webserver-nogui.h" -AUTOSTART_PROCESSES(&border_router_process,&webserver_nogui_process); -#else +#if BORDER_ROUTER_CONF_WEBSERVER /* Use simple webserver with only one page for minimum footprint. * Multiple connections can result in interleaved tcp segments since * a single static buffer is used for all segments. @@ -346,12 +339,12 @@ PT_THREAD(generate_routes(struct httpd_state *s)) httpd_simple_script_t httpd_simple_get_script(const char *name) { - return generate_routes; } - -#endif /* WEBSERVER */ - +#else /* BORDER_ROUTER_CONF_WEBSERVER */ +/* No webserver */ +AUTOSTART_PROCESSES(&border_router_process); +#endif /* BORDER_ROUTER_CONF_WEBSERVER */ /*---------------------------------------------------------------------------*/ static void print_local_addresses(void) diff --git a/examples/ipv6/rpl-border-router/httpd-simple.c b/examples/rpl-border-router/httpd-simple.c similarity index 100% rename from examples/ipv6/rpl-border-router/httpd-simple.c rename to examples/rpl-border-router/httpd-simple.c diff --git a/examples/ipv6/rpl-border-router/httpd-simple.h b/examples/rpl-border-router/httpd-simple.h similarity index 100% rename from examples/ipv6/rpl-border-router/httpd-simple.h rename to examples/rpl-border-router/httpd-simple.h diff --git a/examples/ipv6/rpl-border-router/project-conf.h b/examples/rpl-border-router/project-conf.h similarity index 96% rename from examples/ipv6/rpl-border-router/project-conf.h rename to examples/rpl-border-router/project-conf.h index 63930dd77..32703ce45 100644 --- a/examples/ipv6/rpl-border-router/project-conf.h +++ b/examples/rpl-border-router/project-conf.h @@ -39,7 +39,9 @@ #define WEBSERVER_CONF_CFS_CONNS 2 #endif -#if WEBSERVER +#define BORDER_ROUTER_CONF_WEBSERVER 1 + +#if BORDER_ROUTER_CONF_WEBSERVER #define UIP_CONF_TCP 1 #endif diff --git a/examples/ipv6/rpl-border-router/slip-bridge.c b/examples/rpl-border-router/slip-bridge.c similarity index 100% rename from examples/ipv6/rpl-border-router/slip-bridge.c rename to examples/rpl-border-router/slip-bridge.c diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index bee5a35fb..35021b65c 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -12,7 +12,7 @@ platform-specific/cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1310 \ platform-specific/cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1350 \ platform-specific/cc26xx/very-sleepy-demo/srf06-cc26xx \ hello-world/cc2538dk \ -ipv6/rpl-border-router/cc2538dk \ +rpl-border-router/cc2538dk \ ipv6/rpl-udp/cc2538dk \ coap-example/cc2538dk \ ipso-objects/cc2538dk \ From 21af2f719579dd32c47426fb94e7890e31bac3da Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 29 Oct 2017 00:07:09 +0100 Subject: [PATCH 14/34] Remove the udp-ipv6 example --- examples/ipv6/udp-ipv6/Makefile | 5 - examples/ipv6/udp-ipv6/Makefile.target | 1 - examples/ipv6/udp-ipv6/udp-client.c | 196 ------------------ examples/ipv6/udp-ipv6/udp-server.c | 121 ----------- tests/08-ipv6/01-cooja-ipv6-udp.csc | 183 ---------------- .../x03-sky-ipv6-udp-fragmentation.csc | 179 ---------------- 6 files changed, 685 deletions(-) delete mode 100644 examples/ipv6/udp-ipv6/Makefile delete mode 100644 examples/ipv6/udp-ipv6/Makefile.target delete mode 100644 examples/ipv6/udp-ipv6/udp-client.c delete mode 100644 examples/ipv6/udp-ipv6/udp-server.c delete mode 100644 tests/08-ipv6/01-cooja-ipv6-udp.csc delete mode 100644 tests/08-ipv6/x03-sky-ipv6-udp-fragmentation.csc diff --git a/examples/ipv6/udp-ipv6/Makefile b/examples/ipv6/udp-ipv6/Makefile deleted file mode 100644 index 762a40971..000000000 --- a/examples/ipv6/udp-ipv6/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: udp-server udp-client - -CONTIKI = ../../.. -CFLAGS += -DUIP_CONF_ND6_SEND_NS=1 -include $(CONTIKI)/Makefile.include diff --git a/examples/ipv6/udp-ipv6/Makefile.target b/examples/ipv6/udp-ipv6/Makefile.target deleted file mode 100644 index 0d5d95ee2..000000000 --- a/examples/ipv6/udp-ipv6/Makefile.target +++ /dev/null @@ -1 +0,0 @@ -TARGET = minimal-net diff --git a/examples/ipv6/udp-ipv6/udp-client.c b/examples/ipv6/udp-ipv6/udp-client.c deleted file mode 100644 index dc53dada3..000000000 --- a/examples/ipv6/udp-ipv6/udp-client.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * 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. - * - */ - -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" -#include "net/ipv6/resolv.h" - -#include -#include - -#define DEBUG DEBUG_PRINT -#include "net/ipv6/uip-debug.h" - -#define SEND_INTERVAL 15 * CLOCK_SECOND -#define MAX_PAYLOAD_LEN 40 - -static struct uip_udp_conn *client_conn; -/*---------------------------------------------------------------------------*/ -PROCESS(udp_client_process, "UDP client process"); -AUTOSTART_PROCESSES(&resolv_process,&udp_client_process); -/*---------------------------------------------------------------------------*/ -static void -tcpip_handler(void) -{ - char *str; - - if(uip_newdata()) { - str = uip_appdata; - str[uip_datalen()] = '\0'; - printf("Response from the server: '%s'\n", str); - } -} -/*---------------------------------------------------------------------------*/ -static char buf[MAX_PAYLOAD_LEN]; -static void -timeout_handler(void) -{ - static int seq_id; - - printf("Client sending to: "); - PRINT6ADDR(&client_conn->ripaddr); - sprintf(buf, "Hello %d from the client", ++seq_id); - printf(" (msg: %s)\n", buf); -#if SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION - uip_udp_packet_send(client_conn, buf, UIP_APPDATA_SIZE); -#else /* SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION */ - uip_udp_packet_send(client_conn, buf, strlen(buf)); -#endif /* SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION */ -} -/*---------------------------------------------------------------------------*/ -static void -print_local_addresses(void) -{ - int i; - uint8_t state; - - PRINTF("Client IPv6 addresses: "); - for(i = 0; i < UIP_DS6_ADDR_NB; i++) { - state = uip_ds6_if.addr_list[i].state; - if(uip_ds6_if.addr_list[i].isused && - (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { - PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); - PRINTF("\n"); - } - } -} -/*---------------------------------------------------------------------------*/ -#if UIP_CONF_ROUTER -static void -set_global_address(void) -{ - uip_ipaddr_t ipaddr; - - uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); - uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); - uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); -} -#endif /* UIP_CONF_ROUTER */ -/*---------------------------------------------------------------------------*/ -static resolv_status_t -set_connection_address(uip_ipaddr_t *ipaddr) -{ -#ifndef UDP_CONNECTION_ADDR -#if RESOLV_CONF_SUPPORTS_MDNS -#define UDP_CONNECTION_ADDR contiki-udp-server.local -#elif UIP_CONF_ROUTER -#define UDP_CONNECTION_ADDR fd00:0:0:0:0212:7404:0004:0404 -#else -#define UDP_CONNECTION_ADDR fe80:0:0:0:6466:6666:6666:6666 -#endif -#endif /* !UDP_CONNECTION_ADDR */ - -#define _QUOTEME(x) #x -#define QUOTEME(x) _QUOTEME(x) - - resolv_status_t status = RESOLV_STATUS_ERROR; - - if(uiplib_ipaddrconv(QUOTEME(UDP_CONNECTION_ADDR), ipaddr) == 0) { - uip_ipaddr_t *resolved_addr = NULL; - status = resolv_lookup(QUOTEME(UDP_CONNECTION_ADDR),&resolved_addr); - if(status == RESOLV_STATUS_UNCACHED || status == RESOLV_STATUS_EXPIRED) { - PRINTF("Attempting to look up %s\n",QUOTEME(UDP_CONNECTION_ADDR)); - resolv_query(QUOTEME(UDP_CONNECTION_ADDR)); - status = RESOLV_STATUS_RESOLVING; - } else if(status == RESOLV_STATUS_CACHED && resolved_addr != NULL) { - PRINTF("Lookup of \"%s\" succeded!\n",QUOTEME(UDP_CONNECTION_ADDR)); - } else if(status == RESOLV_STATUS_RESOLVING) { - PRINTF("Still looking up \"%s\"...\n",QUOTEME(UDP_CONNECTION_ADDR)); - } else { - PRINTF("Lookup of \"%s\" failed. status = %d\n",QUOTEME(UDP_CONNECTION_ADDR),status); - } - if(resolved_addr) - uip_ipaddr_copy(ipaddr, resolved_addr); - } else { - status = RESOLV_STATUS_CACHED; - } - - return status; -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(udp_client_process, ev, data) -{ - static struct etimer et; - uip_ipaddr_t ipaddr; - - PROCESS_BEGIN(); - PRINTF("UDP client process started\n"); - -#if UIP_CONF_ROUTER - set_global_address(); -#endif - - print_local_addresses(); - - static resolv_status_t status = RESOLV_STATUS_UNCACHED; - while(status != RESOLV_STATUS_CACHED) { - status = set_connection_address(&ipaddr); - - if(status == RESOLV_STATUS_RESOLVING) { - PROCESS_WAIT_EVENT_UNTIL(ev == resolv_event_found); - } else if(status != RESOLV_STATUS_CACHED) { - PRINTF("Can't get connection address.\n"); - PROCESS_YIELD(); - } - } - - /* new connection with remote host */ - client_conn = udp_new(&ipaddr, UIP_HTONS(3000), NULL); - udp_bind(client_conn, UIP_HTONS(3001)); - - PRINTF("Created a connection with the server "); - PRINT6ADDR(&client_conn->ripaddr); - PRINTF(" local/remote port %u/%u\n", - UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport)); - - etimer_set(&et, SEND_INTERVAL); - while(1) { - PROCESS_YIELD(); - if(etimer_expired(&et)) { - timeout_handler(); - etimer_restart(&et); - } else if(ev == tcpip_event) { - tcpip_handler(); - } - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/ipv6/udp-ipv6/udp-server.c b/examples/ipv6/udp-ipv6/udp-server.c deleted file mode 100644 index a5784dd0c..000000000 --- a/examples/ipv6/udp-ipv6/udp-server.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * 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. - * - */ - -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" - -#include - -#define DEBUG DEBUG_PRINT -#include "net/ipv6/uip-debug.h" - -#define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) - -#define MAX_PAYLOAD_LEN 120 - -static struct uip_udp_conn *server_conn; - -PROCESS(udp_server_process, "UDP server process"); -AUTOSTART_PROCESSES(&resolv_process,&udp_server_process); -/*---------------------------------------------------------------------------*/ -static void -tcpip_handler(void) -{ - static int seq_id; - char buf[MAX_PAYLOAD_LEN]; - - if(uip_newdata()) { - ((char *)uip_appdata)[uip_datalen()] = 0; - PRINTF("Server received: '%s' from ", (char *)uip_appdata); - PRINT6ADDR(&UIP_IP_BUF->srcipaddr); - PRINTF("\n"); - - uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); - PRINTF("Responding with message: "); - sprintf(buf, "Hello from the server! (%d)", ++seq_id); - PRINTF("%s\n", buf); - - uip_udp_packet_send(server_conn, buf, strlen(buf)); - /* Restore server connection to allow data from any node */ - memset(&server_conn->ripaddr, 0, sizeof(server_conn->ripaddr)); - } -} -/*---------------------------------------------------------------------------*/ -static void -print_local_addresses(void) -{ - int i; - uint8_t state; - - PRINTF("Server IPv6 addresses: "); - for(i = 0; i < UIP_DS6_ADDR_NB; i++) { - state = uip_ds6_if.addr_list[i].state; - if(uip_ds6_if.addr_list[i].isused && - (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { - PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); - PRINTF("\n"); - } - } -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(udp_server_process, ev, data) -{ -#if UIP_CONF_ROUTER - uip_ipaddr_t ipaddr; -#endif /* UIP_CONF_ROUTER */ - - PROCESS_BEGIN(); - PRINTF("UDP server started\n"); - -#if RESOLV_CONF_SUPPORTS_MDNS - resolv_set_hostname("contiki-udp-server"); -#endif - -#if UIP_CONF_ROUTER - uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); - uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); - uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); -#endif /* UIP_CONF_ROUTER */ - - print_local_addresses(); - - server_conn = udp_new(NULL, UIP_HTONS(3001), NULL); - udp_bind(server_conn, UIP_HTONS(3000)); - - while(1) { - PROCESS_YIELD(); - if(ev == tcpip_event) { - tcpip_handler(); - } - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ diff --git a/tests/08-ipv6/01-cooja-ipv6-udp.csc b/tests/08-ipv6/01-cooja-ipv6-udp.csc deleted file mode 100644 index f1103317c..000000000 --- a/tests/08-ipv6/01-cooja-ipv6-udp.csc +++ /dev/null @@ -1,183 +0,0 @@ - - - [APPS_DIR]/mrm - [APPS_DIR]/mspsim - [APPS_DIR]/avrora - [APPS_DIR]/serial_socket - [APPS_DIR]/collect-view - [APPS_DIR]/powertracker - - My simulation - generated - 1000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 100.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.contikimote.ContikiMoteType - mtype350 - Receiver - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-server.c - make TARGET=cooja clean -make udp-server.cooja TARGET=cooja - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.Battery - org.contikios.cooja.contikimote.interfaces.ContikiVib - org.contikios.cooja.contikimote.interfaces.ContikiMoteID - org.contikios.cooja.contikimote.interfaces.ContikiRS232 - org.contikios.cooja.contikimote.interfaces.ContikiBeeper - org.contikios.cooja.contikimote.interfaces.ContikiIPAddress - org.contikios.cooja.contikimote.interfaces.ContikiRadio - org.contikios.cooja.contikimote.interfaces.ContikiButton - org.contikios.cooja.contikimote.interfaces.ContikiPIR - org.contikios.cooja.contikimote.interfaces.ContikiClock - org.contikios.cooja.contikimote.interfaces.ContikiLED - org.contikios.cooja.contikimote.interfaces.ContikiCFS - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.MoteAttributes - false - - - org.contikios.cooja.contikimote.ContikiMoteType - mtype981 - Sender - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-client.c - make udp-client.cooja TARGET=cooja - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.Battery - org.contikios.cooja.contikimote.interfaces.ContikiVib - org.contikios.cooja.contikimote.interfaces.ContikiMoteID - org.contikios.cooja.contikimote.interfaces.ContikiRS232 - org.contikios.cooja.contikimote.interfaces.ContikiBeeper - org.contikios.cooja.contikimote.interfaces.ContikiIPAddress - org.contikios.cooja.contikimote.interfaces.ContikiRadio - org.contikios.cooja.contikimote.interfaces.ContikiButton - org.contikios.cooja.contikimote.interfaces.ContikiPIR - org.contikios.cooja.contikimote.interfaces.ContikiClock - org.contikios.cooja.contikimote.interfaces.ContikiLED - org.contikios.cooja.contikimote.interfaces.ContikiCFS - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.MoteAttributes - false - - - - org.contikios.cooja.interfaces.Position - 98.76075470611741 - 30.469519951198897 - 0.0 - - - org.contikios.cooja.contikimote.interfaces.ContikiMoteID - 1 - - - org.contikios.cooja.contikimote.interfaces.ContikiRadio - 250.0 - - mtype350 - - - - org.contikios.cooja.interfaces.Position - 58.59043340181549 - 22.264557758786697 - 0.0 - - - org.contikios.cooja.contikimote.interfaces.ContikiMoteID - 2 - - - org.contikios.cooja.contikimote.interfaces.ContikiRadio - 250.0 - - mtype981 - - - - org.contikios.cooja.plugins.SimControl - 248 - 2 - 200 - 0 - 0 - - - org.contikios.cooja.plugins.LogListener - - ID:1 - - - - 851 - 1 - 187 - 1 - 521 - - - org.contikios.cooja.plugins.Visualizer - - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.TrafficVisualizerSkin - 2.565713585691764 0.0 0.0 2.565713585691764 -91.30090099174814 -28.413835696190525 - - 246 - 3 - 121 - 1 - 201 - - - org.contikios.cooja.plugins.RadioLogger - - 133 - - false - false - - 246 - 4 - 198 - 0 - 323 - - - org.contikios.cooja.plugins.ScriptRunner - - - true - - 600 - 0 - 520 - 250 - -1 - - - diff --git a/tests/08-ipv6/x03-sky-ipv6-udp-fragmentation.csc b/tests/08-ipv6/x03-sky-ipv6-udp-fragmentation.csc deleted file mode 100644 index a8afc751a..000000000 --- a/tests/08-ipv6/x03-sky-ipv6-udp-fragmentation.csc +++ /dev/null @@ -1,179 +0,0 @@ - - - [APPS_DIR]/mrm - [APPS_DIR]/mspsim - [APPS_DIR]/avrora - [APPS_DIR]/serial_socket - [APPS_DIR]/collect-view - [APPS_DIR]/powertracker - - My simulation - generated - 1000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 100.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.mspmote.SkyMoteType - sky1 - UDP client - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-client.c - make clean TARGET=sky -make udp-client.sky TARGET=sky DEFINES=UDP_CONNECTION_ADDR=fe80::212:7402:2:202,SICSLOWPAN_CONF_FRAG=1,SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION=1 - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-client.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - org.contikios.cooja.mspmote.SkyMoteType - sky2 - UDP server - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-server.c - make udp-server.sky TARGET=sky DEFINES=SICSLOWPAN_CONF_FRAG=1 - [CONTIKI_DIR]/examples/ipv6/udp-ipv6/udp-server.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - - - org.contikios.cooja.interfaces.Position - 56.49442624080769 - 69.16564756567392 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 1 - - sky1 - - - - - org.contikios.cooja.interfaces.Position - 70.13661699393737 - 61.114518596613784 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 2 - - sky2 - - - - org.contikios.cooja.plugins.SimControl - 248 - 0 - 200 - 0 - 0 - - - org.contikios.cooja.plugins.LogListener - - - - - - 683 - 2 - 550 - 12 - 417 - - - org.contikios.cooja.plugins.Visualizer - - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.AddressVisualizerSkin - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - org.contikios.cooja.plugins.skins.GridVisualizerSkin - org.contikios.cooja.plugins.skins.MoteTypeVisualizerSkin - 6.1185311939665725 0.0 0.0 6.1185311939665725 -264.82328143448046 -341.0405575126179 - - 250 - 3 - 183 - 6 - 214 - - - org.contikios.cooja.plugins.ScriptRunner - - - true - - 572 - 1 - 552 - 704 - 417 - - - org.contikios.cooja.plugins.RadioLogger - - 183 - - false - false - - - 1008 - 4 - 406 - 261 - 7 - - - From 1f46933a7b6dc0142d4efd446487d496a131076a Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 29 Oct 2017 00:15:03 +0100 Subject: [PATCH 15/34] Move example to the top-level dir (rpl-udp) --- examples/ipv6/rpl-udp/Makefile.target | 1 - examples/packet-processing/packet-processing.csc | 4 ++-- examples/{ipv6 => }/rpl-udp/Makefile | 2 +- examples/{ipv6 => }/rpl-udp/rpl-udp-powertrace.csc | 8 ++++---- examples/{ipv6 => }/rpl-udp/rpl-udp-scale.csc | 8 ++++---- examples/{ipv6 => }/rpl-udp/rpl-udp.csc | 8 ++++---- examples/{ipv6 => }/rpl-udp/udp-client.c | 0 examples/{ipv6 => }/rpl-udp/udp-server.c | 0 tests/01-compile-base/Makefile | 2 +- tests/02-compile-arm-ports/Makefile | 2 +- 10 files changed, 17 insertions(+), 18 deletions(-) delete mode 100644 examples/ipv6/rpl-udp/Makefile.target rename examples/{ipv6 => }/rpl-udp/Makefile (91%) rename examples/{ipv6 => }/rpl-udp/rpl-udp-powertrace.csc (98%) rename examples/{ipv6 => }/rpl-udp/rpl-udp-scale.csc (98%) rename examples/{ipv6 => }/rpl-udp/rpl-udp.csc (98%) rename examples/{ipv6 => }/rpl-udp/udp-client.c (100%) rename examples/{ipv6 => }/rpl-udp/udp-server.c (100%) diff --git a/examples/ipv6/rpl-udp/Makefile.target b/examples/ipv6/rpl-udp/Makefile.target deleted file mode 100644 index d56a50bcc..000000000 --- a/examples/ipv6/rpl-udp/Makefile.target +++ /dev/null @@ -1 +0,0 @@ -TARGET = sky diff --git a/examples/packet-processing/packet-processing.csc b/examples/packet-processing/packet-processing.csc index df3890ed5..11c5803dd 100644 --- a/examples/packet-processing/packet-processing.csc +++ b/examples/packet-processing/packet-processing.csc @@ -24,9 +24,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.c + [CONTIKI_DIR]/examples/rpl-udp/udp-server.c make clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-udp/Makefile b/examples/rpl-udp/Makefile similarity index 91% rename from examples/ipv6/rpl-udp/Makefile rename to examples/rpl-udp/Makefile index e871e6c8e..ec7a9819b 100644 --- a/examples/ipv6/rpl-udp/Makefile +++ b/examples/rpl-udp/Makefile @@ -1,5 +1,5 @@ all: udp-client udp-server -CONTIKI=../../.. +CONTIKI=../.. ifdef SERVER_REPLY CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY) diff --git a/examples/ipv6/rpl-udp/rpl-udp-powertrace.csc b/examples/rpl-udp/rpl-udp-powertrace.csc similarity index 98% rename from examples/ipv6/rpl-udp/rpl-udp-powertrace.csc rename to examples/rpl-udp/rpl-udp-powertrace.csc index c92dc0800..78abdbd8d 100644 --- a/examples/ipv6/rpl-udp/rpl-udp-powertrace.csc +++ b/examples/rpl-udp/rpl-udp-powertrace.csc @@ -23,9 +23,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.c + [CONTIKI_DIR]/examples/rpl-udp/udp-server.c make udp-server.sky TARGET=sky WITH_COMPOWER=1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -46,9 +46,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.c + [CONTIKI_DIR]/examples/rpl-udp/udp-client.c make udp-client.sky TARGET=sky WITH_COMPOWER=1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-udp/rpl-udp-scale.csc b/examples/rpl-udp/rpl-udp-scale.csc similarity index 98% rename from examples/ipv6/rpl-udp/rpl-udp-scale.csc rename to examples/rpl-udp/rpl-udp-scale.csc index 292e442c1..469bcca05 100644 --- a/examples/ipv6/rpl-udp/rpl-udp-scale.csc +++ b/examples/rpl-udp/rpl-udp-scale.csc @@ -24,9 +24,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.c + [CONTIKI_DIR]/examples/rpl-udp/udp-server.c make SERVER_REPLY=1 clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -47,9 +47,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.c + [CONTIKI_DIR]/examples/rpl-udp/udp-client.c make SERVER_REPLY=1 clean udp-client.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-udp/rpl-udp.csc b/examples/rpl-udp/rpl-udp.csc similarity index 98% rename from examples/ipv6/rpl-udp/rpl-udp.csc rename to examples/rpl-udp/rpl-udp.csc index 3aa9b270e..6aa1730b9 100644 --- a/examples/ipv6/rpl-udp/rpl-udp.csc +++ b/examples/rpl-udp/rpl-udp.csc @@ -24,9 +24,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.c + [CONTIKI_DIR]/examples/rpl-udp/udp-server.c make clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress @@ -47,9 +47,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.c + [CONTIKI_DIR]/examples/rpl-udp/udp-client.c make clean udp-client.sky TARGET=sky - [CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-client.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/ipv6/rpl-udp/udp-client.c b/examples/rpl-udp/udp-client.c similarity index 100% rename from examples/ipv6/rpl-udp/udp-client.c rename to examples/rpl-udp/udp-client.c diff --git a/examples/ipv6/rpl-udp/udp-server.c b/examples/rpl-udp/udp-server.c similarity index 100% rename from examples/ipv6/rpl-udp/udp-server.c rename to examples/rpl-udp/udp-server.c diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index 322412b4e..e8e165621 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -7,7 +7,7 @@ hello-world/sky \ eeprom-test/native \ multicast/sky \ logging/native \ -ipv6/rpl-udp/sky \ +rpl-udp/sky \ TOOLS= diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 35021b65c..11878ed03 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -13,7 +13,7 @@ platform-specific/cc26xx/cc26xx-web-demo/srf06-cc26xx:BOARD=launchpad/cc1350 \ platform-specific/cc26xx/very-sleepy-demo/srf06-cc26xx \ hello-world/cc2538dk \ rpl-border-router/cc2538dk \ -ipv6/rpl-udp/cc2538dk \ +rpl-udp/cc2538dk \ coap-example/cc2538dk \ ipso-objects/cc2538dk \ udp-echo-server/cc2538dk \ From 44fe7fa37bea32fd3dc65257bee02236c2c77830 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 29 Oct 2017 00:23:32 +0100 Subject: [PATCH 16/34] Add Makefile.target for platform-specific examples --- examples/platform-specific/nrf52dk/blink-hello/Makefile.target | 1 + examples/platform-specific/nrf52dk/coap-demo/Makefile.target | 1 + examples/platform-specific/nrf52dk/mqtt-demo/Makefile.target | 1 + examples/platform-specific/nrf52dk/timer-test/Makefile.target | 1 + examples/platform-specific/zoul/at-test/Makefile.target | 1 + examples/platform-specific/zoul/orion/client/Makefile.target | 1 + 6 files changed, 6 insertions(+) create mode 100644 examples/platform-specific/nrf52dk/blink-hello/Makefile.target create mode 100644 examples/platform-specific/nrf52dk/coap-demo/Makefile.target create mode 100644 examples/platform-specific/nrf52dk/mqtt-demo/Makefile.target create mode 100644 examples/platform-specific/nrf52dk/timer-test/Makefile.target create mode 100644 examples/platform-specific/zoul/at-test/Makefile.target create mode 100644 examples/platform-specific/zoul/orion/client/Makefile.target diff --git a/examples/platform-specific/nrf52dk/blink-hello/Makefile.target b/examples/platform-specific/nrf52dk/blink-hello/Makefile.target new file mode 100644 index 000000000..3853b313a --- /dev/null +++ b/examples/platform-specific/nrf52dk/blink-hello/Makefile.target @@ -0,0 +1 @@ +TARGET = nrf52dk diff --git a/examples/platform-specific/nrf52dk/coap-demo/Makefile.target b/examples/platform-specific/nrf52dk/coap-demo/Makefile.target new file mode 100644 index 000000000..3853b313a --- /dev/null +++ b/examples/platform-specific/nrf52dk/coap-demo/Makefile.target @@ -0,0 +1 @@ +TARGET = nrf52dk diff --git a/examples/platform-specific/nrf52dk/mqtt-demo/Makefile.target b/examples/platform-specific/nrf52dk/mqtt-demo/Makefile.target new file mode 100644 index 000000000..3853b313a --- /dev/null +++ b/examples/platform-specific/nrf52dk/mqtt-demo/Makefile.target @@ -0,0 +1 @@ +TARGET = nrf52dk diff --git a/examples/platform-specific/nrf52dk/timer-test/Makefile.target b/examples/platform-specific/nrf52dk/timer-test/Makefile.target new file mode 100644 index 000000000..3853b313a --- /dev/null +++ b/examples/platform-specific/nrf52dk/timer-test/Makefile.target @@ -0,0 +1 @@ +TARGET = nrf52dk diff --git a/examples/platform-specific/zoul/at-test/Makefile.target b/examples/platform-specific/zoul/at-test/Makefile.target new file mode 100644 index 000000000..75430a6e4 --- /dev/null +++ b/examples/platform-specific/zoul/at-test/Makefile.target @@ -0,0 +1 @@ +TARGET = zoul diff --git a/examples/platform-specific/zoul/orion/client/Makefile.target b/examples/platform-specific/zoul/orion/client/Makefile.target new file mode 100644 index 000000000..75430a6e4 --- /dev/null +++ b/examples/platform-specific/zoul/orion/client/Makefile.target @@ -0,0 +1 @@ +TARGET = zoul From a42c8570e8597694ad501938f67ecf353fde3198 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 29 Oct 2017 02:47:49 +0000 Subject: [PATCH 17/34] Remove code references to unsupported platform --- examples/ipso-objects/example-server.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/examples/ipso-objects/example-server.c b/examples/ipso-objects/example-server.c index 3a78dc7fc..acec7ee25 100644 --- a/examples/ipso-objects/example-server.c +++ b/examples/ipso-objects/example-server.c @@ -48,10 +48,6 @@ #include "dev/serial-line.h" #include "serial-protocol.h" -#if CONTIKI_TARGET_WISMOTE -#include "dev/uart1.h" -#endif - #define DEBUG DEBUG_PRINT #include "net/ipv6/uip-debug.h" @@ -219,11 +215,6 @@ setup_network(void) int i; uint8_t state; -#if CONTIKI_TARGET_WISMOTE - uart1_set_input(serial_line_input_byte); - serial_line_init(); -#endif - #if UIP_CONF_ROUTER /** * The choice of server address determines its 6LoWPAN header compression. From bcf9f9c7caad7126050d1b1ed5682976c26f192c Mon Sep 17 00:00:00 2001 From: Yasuyuki Tanaka Date: Tue, 31 Oct 2017 01:32:33 +0900 Subject: [PATCH 18/34] sixtop: rewrite rpl-tsch-sixtop example with cooja mote - create rpl-tsch-sixtop-cooja.csc - remove rpl-tsch-sixtop-z1.csc - update node-sixtop.c, which is based on examples/ipv6/rpl-tsch/node.c - update sf-simple.c with the latest 6top APIs --- examples/rpl-tsch-sixtop/node-sixtop.c | 75 +++----- .../rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc | 157 +++++++++++++++++ .../rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc | 160 ------------------ examples/rpl-tsch-sixtop/sf-simple.c | 10 +- 4 files changed, 181 insertions(+), 221 deletions(-) create mode 100644 examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc delete mode 100644 examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc diff --git a/examples/rpl-tsch-sixtop/node-sixtop.c b/examples/rpl-tsch-sixtop/node-sixtop.c index f3a6b3b13..1e0ffcb98 100755 --- a/examples/rpl-tsch-sixtop/node-sixtop.c +++ b/examples/rpl-tsch-sixtop/node-sixtop.c @@ -39,86 +39,50 @@ #include "contiki.h" #include "node-id.h" -#include "net/rpl/rpl.h" +#include "rpl.h" +#include "rpl-dag-root.h" +#include "sys/log.h" #include "net/ipv6/uip-ds6-route.h" #include "net/mac/tsch/tsch.h" +#include "net/mac/tsch/tsch-log.h" #include "net/mac/tsch/tsch-schedule.h" #include "net/mac/tsch/sixtop/sixtop.h" -#include "net/rpl/rpl-private.h" -#include "net/ipv6/uip-debug.h" +#if UIP_CONF_IPV6_RPL_LITE == 0 +#include "rpl-private.h" +#endif /* UIP_CONF_IPV6_RPL_LITE == 0 */ #include "sf-simple.h" +#define DEBUG DEBUG_PRINT +#include "net/ipv6/uip-debug.h" + /*---------------------------------------------------------------------------*/ PROCESS(node_process, "RPL Node"); AUTOSTART_PROCESSES(&node_process); -/*---------------------------------------------------------------------------*/ -static void -net_init(uip_ipaddr_t *br_prefix) -{ - uip_ipaddr_t global_ipaddr; - - if(br_prefix) { /* We are RPL root. Will be set automatically - as TSCH pan coordinator via the tsch-rpl module */ - memcpy(&global_ipaddr, br_prefix, 16); - uip_ds6_set_addr_iid(&global_ipaddr, &uip_lladdr); - uip_ds6_addr_add(&global_ipaddr, 0, ADDR_AUTOCONF); - rpl_set_root(RPL_DEFAULT_INSTANCE, &global_ipaddr); - rpl_set_prefix(rpl_get_any_dag(), br_prefix, 64); - rpl_repair_root(RPL_DEFAULT_INSTANCE); - } - - NETSTACK_MAC.on(); -} /*---------------------------------------------------------------------------*/ PROCESS_THREAD(node_process, ev, data) { + int is_coordinator; + static int added_num_of_links = 0; static struct etimer et; struct tsch_neighbor *n; PROCESS_BEGIN(); - /* 3 possible roles: - * - role_6ln: simple node, will join any network, secured or not - * - role_6dr: DAG root, will advertise (unsecured) beacons - * - role_6dr_sec: DAG root, will advertise secured beacons - * */ - static int is_coordinator = 0, added_num_of_links = 0; - static enum { role_6ln, role_6dr, role_6dr_sec } node_role; - node_role = role_6ln; + is_coordinator = 0; - /* Set node with MAC address c1:0c:00:00:00:00:01 as coordinator, - * convenient in cooja for regression tests using z1 nodes - * */ - -#ifdef CONTIKI_TARGET_Z1 - extern unsigned char node_mac[8]; - unsigned char coordinator_mac[8] = { 0xc1, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; - - if(memcmp(node_mac, coordinator_mac, 8) == 0) { - if(LLSEC802154_ENABLED) { - node_role = role_6dr_sec; - } else { - node_role = role_6dr; - } - } else { - node_role = role_6ln; - } +#if CONTIKI_TARGET_COOJA + is_coordinator = (node_id == 1); #endif - tsch_set_pan_secured(LLSEC802154_ENABLED && (node_role == role_6dr_sec)); - is_coordinator = node_role > role_6ln; - sixtop_add_sf(&sf_simple_driver); - if(is_coordinator) { - uip_ipaddr_t prefix; - uip_ip6addr(&prefix, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); - net_init(&prefix); - } else { - net_init(NULL); + rpl_dag_root_init_dag_immediately(); } + NETSTACK_MAC.on(); + sixtop_add_sf(&sf_simple_driver); + etimer_set(&et, CLOCK_SECOND * 30); while(1) { PROCESS_YIELD_UNTIL(etimer_expired(&et)); @@ -128,7 +92,6 @@ PROCESS_THREAD(node_process, ev, data) n = tsch_queue_get_time_source(); if(node_id != 1) { - clock_delay(1000); if((added_num_of_links == 1) || (added_num_of_links == 3)) { printf("App : Add a link\n"); sf_simple_add_links(&n->addr, 1); diff --git a/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc b/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc new file mode 100644 index 000000000..e787aa82b --- /dev/null +++ b/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc @@ -0,0 +1,157 @@ + + + [APPS_DIR]/mrm + [APPS_DIR]/mspsim + [APPS_DIR]/avrora + [APPS_DIR]/serial_socket + [APPS_DIR]/collect-view + [APPS_DIR]/powertracker + + rpl-tsch-sixtop example + 123456 + 1000000 + + org.contikios.cooja.radiomediums.UDGM + 50.0 + 100.0 + 1.0 + 1.0 + + + 40000 + + + org.contikios.cooja.contikimote.ContikiMoteType + mtype204 + node + [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.c + make node-sixtop.cooja TARGET=cooja + org.contikios.cooja.interfaces.Position + org.contikios.cooja.interfaces.Battery + org.contikios.cooja.contikimote.interfaces.ContikiVib + org.contikios.cooja.contikimote.interfaces.ContikiMoteID + org.contikios.cooja.contikimote.interfaces.ContikiRS232 + org.contikios.cooja.contikimote.interfaces.ContikiBeeper + org.contikios.cooja.interfaces.RimeAddress + org.contikios.cooja.contikimote.interfaces.ContikiIPAddress + org.contikios.cooja.contikimote.interfaces.ContikiRadio + org.contikios.cooja.contikimote.interfaces.ContikiButton + org.contikios.cooja.contikimote.interfaces.ContikiPIR + org.contikios.cooja.contikimote.interfaces.ContikiClock + org.contikios.cooja.contikimote.interfaces.ContikiLED + org.contikios.cooja.contikimote.interfaces.ContikiCFS + org.contikios.cooja.contikimote.interfaces.ContikiEEPROM + org.contikios.cooja.interfaces.Mote2MoteRelations + org.contikios.cooja.interfaces.MoteAttributes + false + + + + org.contikios.cooja.interfaces.Position + 11.419305725331853 + 88.17983927138442 + 0.0 + + + org.contikios.cooja.contikimote.interfaces.ContikiMoteID + 1 + + + org.contikios.cooja.contikimote.interfaces.ContikiRadio + 250.0 + + + org.contikios.cooja.contikimote.interfaces.ContikiEEPROM + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + mtype204 + + + + org.contikios.cooja.interfaces.Position + 36.65377213719183 + 57.06132448464071 + 0.0 + + + org.contikios.cooja.contikimote.interfaces.ContikiMoteID + 2 + + + org.contikios.cooja.contikimote.interfaces.ContikiRadio + 250.0 + + + org.contikios.cooja.contikimote.interfaces.ContikiEEPROM + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + mtype204 + + + + org.contikios.cooja.plugins.SimControl + 280 + 2 + 160 + 400 + 0 + + + org.contikios.cooja.plugins.Visualizer + + true + org.contikios.cooja.plugins.skins.IDVisualizerSkin + org.contikios.cooja.plugins.skins.GridVisualizerSkin + org.contikios.cooja.plugins.skins.TrafficVisualizerSkin + org.contikios.cooja.plugins.skins.UDGMVisualizerSkin + 4.580728081732807 0.0 0.0 4.580728081732807 74.39515112990499 -140.65513872038872 + + 401 + 0 + 400 + 0 + 1 + + + org.contikios.cooja.plugins.LogListener + + sf-simple + + + + 766 + 1 + 240 + 400 + 160 + + + org.contikios.cooja.plugins.TimeLine + + 0 + 1 + + + + 500.0 + + 1166 + 4 + 166 + 0 + 525 + + + org.contikios.cooja.plugins.Notes + + Enter notes here + true + + 486 + 3 + 160 + 680 + 0 + + + diff --git a/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc b/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc deleted file mode 100644 index 413ad64f9..000000000 --- a/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-z1.csc +++ /dev/null @@ -1,160 +0,0 @@ - - - [APPS_DIR]/mrm - [APPS_DIR]/mspsim - [APPS_DIR]/avrora - [APPS_DIR]/serial_socket - [APPS_DIR]/collect-view - [APPS_DIR]/powertracker - - My simulation - 123456 - 1000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 100.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.mspmote.Z1MoteType - z11 - Z1 Mote Type #z11 - [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.c - make node-sixtop.z1 TARGET=z1 - [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.z1 - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.MspButton - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspDefaultSerial - org.contikios.cooja.mspmote.interfaces.MspLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - - - - - org.contikios.cooja.interfaces.Position - 3.827476552301217 - 2.167129170680247 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 1 - - z11 - - - - - org.contikios.cooja.interfaces.Position - 30.278379737463556 - 17.799585117738026 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 2 - - z11 - - - - org.contikios.cooja.plugins.SimControl - 280 - 0 - 160 - 400 - 0 - - - org.contikios.cooja.plugins.Visualizer - - true - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.GridVisualizerSkin - org.contikios.cooja.plugins.skins.TrafficVisualizerSkin - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - 4.027583163598053 0.0 0.0 4.027583163598053 133.5292942712438 14.03198741893021 - - 400 - 3 - 160 - 1 - 1 - - - org.contikios.cooja.plugins.LogListener - - TSCH-sch - - - - 854 - 1 - 342 - 0 - 161 - - - org.contikios.cooja.plugins.TimeLine - - 0 - 1 - - - - 500.0 - - 1366 - 5 - 166 - 0 - 503 - - - org.contikios.cooja.plugins.Notes - - Enter notes here - true - - 686 - 4 - 160 - 680 - 0 - - - org.contikios.cooja.plugins.RadioLogger - - 150 - - false - false - - 508 - 2 - 343 - 854 - 160 - - - diff --git a/examples/rpl-tsch-sixtop/sf-simple.c b/examples/rpl-tsch-sixtop/sf-simple.c index fac94ee03..e0ba44f21 100644 --- a/examples/rpl-tsch-sixtop/sf-simple.c +++ b/examples/rpl-tsch-sixtop/sf-simple.c @@ -198,7 +198,7 @@ add_response_sent_callback(void *arg, uint16_t arg_len, (nbr = sixp_nbr_find(dest_addr)) != NULL) { add_links_to_schedule(dest_addr, LINK_OPTION_RX, cell_list, cell_list_len); - sixp_nbr_advance_grx(nbr); + sixp_nbr_advance_gen(nbr); } } @@ -222,7 +222,7 @@ delete_response_sent_callback(void *arg, uint16_t arg_len, body, body_len) == 0 && (nbr = sixp_nbr_find(dest_addr)) != NULL) { remove_links_to_schedule(cell_list, cell_list_len); - sixp_nbr_advance_grx(nbr); + sixp_nbr_advance_gen(nbr); } } @@ -429,7 +429,7 @@ response_input(sixp_pkt_rc_t rc, PRINTF("\n"); add_links_to_schedule(peer_addr, LINK_OPTION_TX, cell_list, cell_list_len); - sixp_nbr_advance_gtx(nbr); + sixp_nbr_advance_gen(nbr); break; case SIXP_PKT_CMD_DELETE: if(sixp_pkt_get_cell_list(SIXP_PKT_TYPE_RESPONSE, @@ -443,9 +443,9 @@ response_input(sixp_pkt_rc_t rc, print_cell_list(cell_list, cell_list_len); PRINTF("\n"); remove_links_to_schedule(cell_list, cell_list_len); - sixp_nbr_advance_gtx(nbr); + sixp_nbr_advance_gen(nbr); break; - case SIXP_PKT_CMD_STATUS: + case SIXP_PKT_CMD_COUNT: case SIXP_PKT_CMD_LIST: case SIXP_PKT_CMD_CLEAR: default: From 97b9766fbbd8f06304a945cf6bb96b1bd8bca2b3 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:23:17 +0100 Subject: [PATCH 19/34] Logging example: added missing module 6top --- examples/logging/project-conf.h | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/logging/project-conf.h b/examples/logging/project-conf.h index ee8d3c00f..f42f08723 100644 --- a/examples/logging/project-conf.h +++ b/examples/logging/project-conf.h @@ -45,6 +45,7 @@ #define LOG_CONF_LEVEL_TCPIP LOG_LEVEL_DBG #define LOG_CONF_LEVEL_MAC LOG_LEVEL_DBG #define LOG_CONF_LEVEL_FRAMER LOG_LEVEL_DBG +#define LOG_CONF_LEVEL_6TOP LOG_LEVEL_DBG /* Enable cooja annotations */ #define LOG_CONF_WITH_ANNOTATE 1 From 2dd240184cdfbbc82c5fb8ef1438e8d77e340754 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:30:28 +0100 Subject: [PATCH 20/34] Removing example udp-echo-server --- examples/udp-echo-server/Makefile | 7 -- examples/udp-echo-server/README.md | 14 ---- examples/udp-echo-server/udp-echo-server.c | 98 ---------------------- 3 files changed, 119 deletions(-) delete mode 100644 examples/udp-echo-server/Makefile delete mode 100644 examples/udp-echo-server/README.md delete mode 100644 examples/udp-echo-server/udp-echo-server.c diff --git a/examples/udp-echo-server/Makefile b/examples/udp-echo-server/Makefile deleted file mode 100644 index 31c7af5b8..000000000 --- a/examples/udp-echo-server/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -CONTIKI_PROJECT = udp-echo-server - -all: $(CONTIKI_PROJECT) - -CONTIKI = ../.. - -include $(CONTIKI)/Makefile.include diff --git a/examples/udp-echo-server/README.md b/examples/udp-echo-server/README.md deleted file mode 100644 index 0fb5d70e1..000000000 --- a/examples/udp-echo-server/README.md +++ /dev/null @@ -1,14 +0,0 @@ -UDP echo server example -======================= -This example demonstrates how to implement a simple UDP-server by -using the original UDP API (as opposed to using the simple-udp module). - -It is anticipated that this example will run on all supported platforms. - -To test, compile and programme your device (or execute on the native -platform). Then you can use netcat, like so: - - $ nc -6u 3000 - -Type something in your console and you should see it echoed back by the -UDP server running on your device. diff --git a/examples/udp-echo-server/udp-echo-server.c b/examples/udp-echo-server/udp-echo-server.c deleted file mode 100644 index 7da3ba036..000000000 --- a/examples/udp-echo-server/udp-echo-server.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2012, Texas Instruments Incorporated - http://www.ti.com/ - * 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 copyright holder 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 COPYRIGHT HOLDERS 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 - * COPYRIGHT HOLDER 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. - */ -/*---------------------------------------------------------------------------*/ -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" - -#include - -#define DEBUG DEBUG_PRINT -#include "net/ipv6/uip-debug.h" -#include "dev/watchdog.h" -#include "dev/leds.h" -#include "rpl.h" -/*---------------------------------------------------------------------------*/ -#define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) -#define UIP_UDP_BUF ((struct uip_udp_hdr *)&uip_buf[uip_l2_l3_hdr_len]) - -#define MAX_PAYLOAD_LEN 120 -/*---------------------------------------------------------------------------*/ -static struct uip_udp_conn *server_conn; -static char buf[MAX_PAYLOAD_LEN]; -static uint16_t len; -/*---------------------------------------------------------------------------*/ -PROCESS(udp_echo_server_process, "UDP echo server process"); -AUTOSTART_PROCESSES(&udp_echo_server_process); -/*---------------------------------------------------------------------------*/ -static void -tcpip_handler(void) -{ - memset(buf, 0, MAX_PAYLOAD_LEN); - if(uip_newdata()) { - leds_on(LEDS_RED); - len = uip_datalen(); - memcpy(buf, uip_appdata, len); - PRINTF("%u bytes from [", len); - PRINT6ADDR(&UIP_IP_BUF->srcipaddr); - PRINTF("]:%u\n", UIP_HTONS(UIP_UDP_BUF->srcport)); - uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); - server_conn->rport = UIP_UDP_BUF->srcport; - - uip_udp_packet_send(server_conn, buf, len); - uip_create_unspecified(&server_conn->ripaddr); - server_conn->rport = 0; - } - leds_off(LEDS_RED); - return; -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(udp_echo_server_process, ev, data) -{ - - PROCESS_BEGIN(); - PRINTF("Starting UDP echo server\n"); - - server_conn = udp_new(NULL, UIP_HTONS(0), NULL); - udp_bind(server_conn, UIP_HTONS(3000)); - - PRINTF("Listen port: 3000, TTL=%u\n", server_conn->ttl); - - while(1) { - PROCESS_YIELD(); - if(ev == tcpip_event) { - tcpip_handler(); - } - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ From a473de7e1fc6fa9d1fe727eb886a76088b831eca Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:35:12 +0100 Subject: [PATCH 21/34] Packet-processing example: remove old make flag --- examples/packet-processing/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/packet-processing/Makefile b/examples/packet-processing/Makefile index f99991abc..32fbbd309 100644 --- a/examples/packet-processing/Makefile +++ b/examples/packet-processing/Makefile @@ -8,5 +8,4 @@ ifdef PERIOD CFLAGS+=-DPERIOD=$(PERIOD) endif -CONTIKI_WITH_IPV6 = 1 include $(CONTIKI)/Makefile.include From 564398b44fd0e96b001706bcfd9d65e6cf3c3c01 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:42:18 +0100 Subject: [PATCH 22/34] Move packet-processing inside rpl-udp, an example which it already relied on --- examples/packet-processing/Makefile | 11 ----------- examples/rpl-udp/Makefile | 2 +- .../packet-processing.csc | 4 ++-- .../udp-client-packet-debug.c} | 0 4 files changed, 3 insertions(+), 14 deletions(-) delete mode 100644 examples/packet-processing/Makefile rename examples/{packet-processing => rpl-udp}/packet-processing.csc (99%) rename examples/{packet-processing/packet-debug.c => rpl-udp/udp-client-packet-debug.c} (100%) diff --git a/examples/packet-processing/Makefile b/examples/packet-processing/Makefile deleted file mode 100644 index 32fbbd309..000000000 --- a/examples/packet-processing/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: packet-debug ../rpl-udp/udp-server -CONTIKI=../.. - -ifdef SERVER_REPLY -CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY) -endif -ifdef PERIOD -CFLAGS+=-DPERIOD=$(PERIOD) -endif - -include $(CONTIKI)/Makefile.include diff --git a/examples/rpl-udp/Makefile b/examples/rpl-udp/Makefile index ec7a9819b..ecca51ed1 100644 --- a/examples/rpl-udp/Makefile +++ b/examples/rpl-udp/Makefile @@ -1,4 +1,4 @@ -all: udp-client udp-server +all: udp-client udp-server udp-client-packet-debug CONTIKI=../.. ifdef SERVER_REPLY diff --git a/examples/packet-processing/packet-processing.csc b/examples/rpl-udp/packet-processing.csc similarity index 99% rename from examples/packet-processing/packet-processing.csc rename to examples/rpl-udp/packet-processing.csc index 11c5803dd..187c6cded 100644 --- a/examples/packet-processing/packet-processing.csc +++ b/examples/rpl-udp/packet-processing.csc @@ -47,9 +47,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky2 Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/packet-processing/packet-debug.c + [CONTIKI_DIR]/examples/rpl-udp/udp-client-packet-debug.c make clean packet-debug.sky TARGET=sky - [CONTIKI_DIR]/examples/packet-processing/packet-debug.sky + [CONTIKI_DIR]/examples/rpl-udp/udp-client-packet-debug.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/examples/packet-processing/packet-debug.c b/examples/rpl-udp/udp-client-packet-debug.c similarity index 100% rename from examples/packet-processing/packet-debug.c rename to examples/rpl-udp/udp-client-packet-debug.c From 7b901b90b08d2ed4af3ce0c2288e6518fd0b44dd Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:53:50 +0100 Subject: [PATCH 23/34] Fix websockets example --- examples/websockets/Makefile | 3 +-- examples/websockets/project-conf.h | 37 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 examples/websockets/project-conf.h diff --git a/examples/websockets/Makefile b/examples/websockets/Makefile index 49d706070..6fd93eea5 100644 --- a/examples/websockets/Makefile +++ b/examples/websockets/Makefile @@ -1,6 +1,5 @@ all: websocket-example CONTIKI=../.. +MODULES += os/net/app-layer/http-socket include $(CONTIKI)/Makefile.include - - diff --git a/examples/websockets/project-conf.h b/examples/websockets/project-conf.h new file mode 100644 index 000000000..38f34be86 --- /dev/null +++ b/examples/websockets/project-conf.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2017, George Oikonomou - http://www.spd.gr + * 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 copyright holder 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 COPYRIGHT HOLDERS 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 + * COPYRIGHT HOLDER 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_CONF_H_ +#define PROJECT_CONF_H_ +/*---------------------------------------------------------------------------*/ +#define UIP_CONF_TCP 1 +/*---------------------------------------------------------------------------*/ +#endif /* PROJECT_CONF_H_ */ From 46b56c818a1a6fc1ade1af1c2c224a2708b9d37f Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 16:58:02 +0100 Subject: [PATCH 24/34] http-socket: run on rpl-lite --- examples/http-socket/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/http-socket/Makefile b/examples/http-socket/Makefile index 6498ddacf..19fa386f8 100644 --- a/examples/http-socket/Makefile +++ b/examples/http-socket/Makefile @@ -2,5 +2,4 @@ all: http-example CONTIKI=../.. MODULES += os/net/app-layer/http-socket -MAKE_ROUTING = MAKE_ROUTING_RPL_CLASSIC include $(CONTIKI)/Makefile.include From 1472a078436fe7dc562e49a0807118c34f18ca9d Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 17:02:21 +0100 Subject: [PATCH 25/34] Move websocket example to http-socket --- examples/http-socket/Makefile | 2 +- .../websocket-example.c | 0 .../websocket-node}/Makefile | 0 .../websocket-node}/example-server.js | 0 examples/websockets/Makefile | 5 --- examples/websockets/project-conf.h | 37 ------------------- 6 files changed, 1 insertion(+), 43 deletions(-) rename examples/{websockets => http-socket}/websocket-example.c (100%) rename examples/{websockets/node => http-socket/websocket-node}/Makefile (100%) rename examples/{websockets/node => http-socket/websocket-node}/example-server.js (100%) delete mode 100644 examples/websockets/Makefile delete mode 100644 examples/websockets/project-conf.h diff --git a/examples/http-socket/Makefile b/examples/http-socket/Makefile index 19fa386f8..e1904d3ab 100644 --- a/examples/http-socket/Makefile +++ b/examples/http-socket/Makefile @@ -1,4 +1,4 @@ -all: http-example +all: http-example websocket-example CONTIKI=../.. MODULES += os/net/app-layer/http-socket diff --git a/examples/websockets/websocket-example.c b/examples/http-socket/websocket-example.c similarity index 100% rename from examples/websockets/websocket-example.c rename to examples/http-socket/websocket-example.c diff --git a/examples/websockets/node/Makefile b/examples/http-socket/websocket-node/Makefile similarity index 100% rename from examples/websockets/node/Makefile rename to examples/http-socket/websocket-node/Makefile diff --git a/examples/websockets/node/example-server.js b/examples/http-socket/websocket-node/example-server.js similarity index 100% rename from examples/websockets/node/example-server.js rename to examples/http-socket/websocket-node/example-server.js diff --git a/examples/websockets/Makefile b/examples/websockets/Makefile deleted file mode 100644 index 6fd93eea5..000000000 --- a/examples/websockets/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: websocket-example -CONTIKI=../.. - -MODULES += os/net/app-layer/http-socket -include $(CONTIKI)/Makefile.include diff --git a/examples/websockets/project-conf.h b/examples/websockets/project-conf.h deleted file mode 100644 index 38f34be86..000000000 --- a/examples/websockets/project-conf.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2017, George Oikonomou - http://www.spd.gr - * 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 copyright holder 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 COPYRIGHT HOLDERS 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 - * COPYRIGHT HOLDER 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_CONF_H_ -#define PROJECT_CONF_H_ -/*---------------------------------------------------------------------------*/ -#define UIP_CONF_TCP 1 -/*---------------------------------------------------------------------------*/ -#endif /* PROJECT_CONF_H_ */ From 898a6a0cb7b51995e7bd9e5bab25e5da9c6423de Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 17:06:05 +0100 Subject: [PATCH 26/34] Moving storage-related examples to new directory: examples/storage --- .../{antelope/shell => storage/antelope-shell}/Makefile | 0 .../{antelope/shell => storage/antelope-shell}/shell-db.c | 0 examples/{ => storage}/cfs-coffee/Makefile | 2 +- examples/{ => storage}/cfs-coffee/README.md | 0 examples/{ => storage}/cfs-coffee/example-coffee.c | 0 examples/{ => storage}/cfs-coffee/project-conf.h | 0 examples/{ => storage}/cfs-coffee/test-cfs.c | 0 examples/{ => storage}/cfs-coffee/test-coffee.c | 0 examples/{ => storage}/eeprom-test/Makefile | 3 +-- examples/{ => storage}/eeprom-test/eeprom-test.c | 0 tests/01-compile-base/Makefile | 2 +- tests/02-compile-arm-ports/Makefile | 6 +++--- tests/scan_build/Makefile | 2 +- 13 files changed, 7 insertions(+), 8 deletions(-) rename examples/{antelope/shell => storage/antelope-shell}/Makefile (100%) rename examples/{antelope/shell => storage/antelope-shell}/shell-db.c (100%) rename examples/{ => storage}/cfs-coffee/Makefile (85%) rename examples/{ => storage}/cfs-coffee/README.md (100%) rename examples/{ => storage}/cfs-coffee/example-coffee.c (100%) rename examples/{ => storage}/cfs-coffee/project-conf.h (100%) rename examples/{ => storage}/cfs-coffee/test-cfs.c (100%) rename examples/{ => storage}/cfs-coffee/test-coffee.c (100%) rename examples/{ => storage}/eeprom-test/Makefile (75%) rename examples/{ => storage}/eeprom-test/eeprom-test.c (100%) diff --git a/examples/antelope/shell/Makefile b/examples/storage/antelope-shell/Makefile similarity index 100% rename from examples/antelope/shell/Makefile rename to examples/storage/antelope-shell/Makefile diff --git a/examples/antelope/shell/shell-db.c b/examples/storage/antelope-shell/shell-db.c similarity index 100% rename from examples/antelope/shell/shell-db.c rename to examples/storage/antelope-shell/shell-db.c diff --git a/examples/cfs-coffee/Makefile b/examples/storage/cfs-coffee/Makefile similarity index 85% rename from examples/cfs-coffee/Makefile rename to examples/storage/cfs-coffee/Makefile index a042a1150..4d27d6f8f 100644 --- a/examples/cfs-coffee/Makefile +++ b/examples/storage/cfs-coffee/Makefile @@ -1,4 +1,4 @@ -CONTIKI = ../.. +CONTIKI = ../../.. MODULES += os/services/unit-test diff --git a/examples/cfs-coffee/README.md b/examples/storage/cfs-coffee/README.md similarity index 100% rename from examples/cfs-coffee/README.md rename to examples/storage/cfs-coffee/README.md diff --git a/examples/cfs-coffee/example-coffee.c b/examples/storage/cfs-coffee/example-coffee.c similarity index 100% rename from examples/cfs-coffee/example-coffee.c rename to examples/storage/cfs-coffee/example-coffee.c diff --git a/examples/cfs-coffee/project-conf.h b/examples/storage/cfs-coffee/project-conf.h similarity index 100% rename from examples/cfs-coffee/project-conf.h rename to examples/storage/cfs-coffee/project-conf.h diff --git a/examples/cfs-coffee/test-cfs.c b/examples/storage/cfs-coffee/test-cfs.c similarity index 100% rename from examples/cfs-coffee/test-cfs.c rename to examples/storage/cfs-coffee/test-cfs.c diff --git a/examples/cfs-coffee/test-coffee.c b/examples/storage/cfs-coffee/test-coffee.c similarity index 100% rename from examples/cfs-coffee/test-coffee.c rename to examples/storage/cfs-coffee/test-coffee.c diff --git a/examples/eeprom-test/Makefile b/examples/storage/eeprom-test/Makefile similarity index 75% rename from examples/eeprom-test/Makefile rename to examples/storage/eeprom-test/Makefile index 46c909138..343a62165 100644 --- a/examples/eeprom-test/Makefile +++ b/examples/storage/eeprom-test/Makefile @@ -1,6 +1,5 @@ CONTIKI_PROJECT = eeprom-test +CONTIKI = ../../.. all: $(CONTIKI_PROJECT) -TARGET=mbxxx -CONTIKI = ../.. include $(CONTIKI)/Makefile.include diff --git a/examples/eeprom-test/eeprom-test.c b/examples/storage/eeprom-test/eeprom-test.c similarity index 100% rename from examples/eeprom-test/eeprom-test.c rename to examples/storage/eeprom-test/eeprom-test.c diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index e8e165621..a8d04531e 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -4,7 +4,7 @@ TOOLSDIR=../../tools EXAMPLES = \ hello-world/native \ hello-world/sky \ -eeprom-test/native \ +storage/eeprom-test/native \ multicast/sky \ logging/native \ rpl-udp/sky \ diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 11878ed03..460ced48f 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -36,9 +36,9 @@ sensniff/zoul \ sensniff/zoul:ZOUL_CONF_SUB_GHZ_SNIFFER=1 \ sensniff/srf06-cc26xx \ sensniff/srf06-cc26xx:BOARD=launchpad/cc1310 \ -cfs-coffee/cc2538dk \ -cfs-coffee/openmote-cc2538 \ -cfs-coffee/zoul \ +storage/cfs-coffee/cc2538dk \ +storage/cfs-coffee/openmote-cc2538 \ +storage/cfs-coffee/zoul \ rpl-tsch/zoul \ rpl-tsch/zoul:MAKE_WITH_ORCHESTRA=1 \ rpl-tsch/zoul:MAKE_WITH_SECURITY=1 \ diff --git a/tests/scan_build/Makefile b/tests/scan_build/Makefile index 807bf387c..4add781f1 100644 --- a/tests/scan_build/Makefile +++ b/tests/scan_build/Makefile @@ -3,7 +3,7 @@ TOOLSDIR=../../tools EXAMPLES = \ hello-world/native \ -eeprom-test/native \ +storage/eeprom-test/native \ TOOLS= From 34c0ddb38a89199a68313e66479a8ed860847416 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 17:08:27 +0100 Subject: [PATCH 27/34] Moving timer, trickle and logging examples to new directory: examples/libs --- examples/{ => libs}/logging/Makefile | 2 +- examples/{ => libs}/logging/README.md | 0 examples/{ => libs}/logging/logging.c | 0 examples/{ => libs}/logging/project-conf.h | 0 examples/{ => libs}/timers/Makefile | 2 +- examples/{ => libs}/timers/all-timers.c | 0 examples/{ => libs}/trickle-library/Makefile | 2 +- examples/{ => libs}/trickle-library/trickle-library.c | 0 examples/{ => libs}/trickle-library/trickle-library.csc | 4 ++-- tests/01-compile-base/Makefile | 2 +- tests/02-compile-arm-ports/Makefile | 2 +- tests/03-compile-nxp-ports/Makefile | 2 +- tests/04-compile-nrf52-ports/Makefile | 2 +- 13 files changed, 9 insertions(+), 9 deletions(-) rename examples/{ => libs}/logging/Makefile (82%) rename examples/{ => libs}/logging/README.md (100%) rename examples/{ => libs}/logging/logging.c (100%) rename examples/{ => libs}/logging/project-conf.h (100%) rename examples/{ => libs}/timers/Makefile (82%) rename examples/{ => libs}/timers/all-timers.c (100%) rename examples/{ => libs}/trickle-library/Makefile (83%) rename examples/{ => libs}/trickle-library/trickle-library.c (100%) rename examples/{ => libs}/trickle-library/trickle-library.csc (96%) diff --git a/examples/logging/Makefile b/examples/libs/logging/Makefile similarity index 82% rename from examples/logging/Makefile rename to examples/libs/logging/Makefile index 6f8cecf83..d394c0bc4 100644 --- a/examples/logging/Makefile +++ b/examples/libs/logging/Makefile @@ -1,5 +1,5 @@ CONTIKI_PROJECT = logging all: $(CONTIKI_PROJECT) -CONTIKI = ../.. +CONTIKI = ../../.. include $(CONTIKI)/Makefile.include diff --git a/examples/logging/README.md b/examples/libs/logging/README.md similarity index 100% rename from examples/logging/README.md rename to examples/libs/logging/README.md diff --git a/examples/logging/logging.c b/examples/libs/logging/logging.c similarity index 100% rename from examples/logging/logging.c rename to examples/libs/logging/logging.c diff --git a/examples/logging/project-conf.h b/examples/libs/logging/project-conf.h similarity index 100% rename from examples/logging/project-conf.h rename to examples/libs/logging/project-conf.h diff --git a/examples/timers/Makefile b/examples/libs/timers/Makefile similarity index 82% rename from examples/timers/Makefile rename to examples/libs/timers/Makefile index d5b2a2846..60b9c2531 100644 --- a/examples/timers/Makefile +++ b/examples/libs/timers/Makefile @@ -1,5 +1,5 @@ CONTIKI_PROJECT = all-timers all: $(CONTIKI_PROJECT) -CONTIKI = ../.. +CONTIKI = ../../.. include $(CONTIKI)/Makefile.include diff --git a/examples/timers/all-timers.c b/examples/libs/timers/all-timers.c similarity index 100% rename from examples/timers/all-timers.c rename to examples/libs/timers/all-timers.c diff --git a/examples/trickle-library/Makefile b/examples/libs/trickle-library/Makefile similarity index 83% rename from examples/trickle-library/Makefile rename to examples/libs/trickle-library/Makefile index bf7303166..aa3b25f9a 100644 --- a/examples/trickle-library/Makefile +++ b/examples/libs/trickle-library/Makefile @@ -2,6 +2,6 @@ CONTIKI_PROJECT = trickle-library all: $(CONTIKI_PROJECT) -CONTIKI = ../.. +CONTIKI = ../../.. include $(CONTIKI)/Makefile.include diff --git a/examples/trickle-library/trickle-library.c b/examples/libs/trickle-library/trickle-library.c similarity index 100% rename from examples/trickle-library/trickle-library.c rename to examples/libs/trickle-library/trickle-library.c diff --git a/examples/trickle-library/trickle-library.csc b/examples/libs/trickle-library/trickle-library.csc similarity index 96% rename from examples/trickle-library/trickle-library.csc rename to examples/libs/trickle-library/trickle-library.csc index 7a6d74ca2..bea3f6c3e 100644 --- a/examples/trickle-library/trickle-library.csc +++ b/examples/libs/trickle-library/trickle-library.csc @@ -25,9 +25,9 @@ org.contikios.cooja.mspmote.SkyMoteType sky1 trickle-tester - [CONTIKI_DIR]/examples/trickle-library/trickle-library.c + [CONTIKI_DIR]/examples/libs/trickle-library/trickle-library.c make trickle-library.sky TARGET=sky - [CONTIKI_DIR]/examples/trickle-library/trickle-library.sky + [CONTIKI_DIR]/examples/libs/trickle-library/trickle-library.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress org.contikios.cooja.interfaces.IPAddress diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index a8d04531e..46c56ceeb 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -6,7 +6,7 @@ hello-world/native \ hello-world/sky \ storage/eeprom-test/native \ multicast/sky \ -logging/native \ +libs/logging/native \ rpl-udp/sky \ TOOLS= diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 460ced48f..49401ab6d 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -42,7 +42,7 @@ storage/cfs-coffee/zoul \ rpl-tsch/zoul \ rpl-tsch/zoul:MAKE_WITH_ORCHESTRA=1 \ rpl-tsch/zoul:MAKE_WITH_SECURITY=1 \ -logging/zoul \ +libs/logging/zoul \ 6tisch/etsi-plugtest-2017/zoul:BOARD=remote \ 6tisch/etsi-plugtest-2017/srf06-cc26xx:BOARD=launchpad/cc2650 diff --git a/tests/03-compile-nxp-ports/Makefile b/tests/03-compile-nxp-ports/Makefile index 87f7b0f1d..559717b4b 100644 --- a/tests/03-compile-nxp-ports/Makefile +++ b/tests/03-compile-nxp-ports/Makefile @@ -19,7 +19,7 @@ sensniff/jn516x \ rpl-tsch/jn516x \ rpl-tsch/jn516x:MAKE_WITH_ORCHESTRA=1 \ rpl-tsch/jn516x:MAKE_WITH_SECURITY=1 \ -logging/jn516x \ +libs/logging/jn516x \ 6tisch/etsi-plugtest-2017/jn516x TOOLS= diff --git a/tests/04-compile-nrf52-ports/Makefile b/tests/04-compile-nrf52-ports/Makefile index f3448450c..7f4ad4f2d 100644 --- a/tests/04-compile-nrf52-ports/Makefile +++ b/tests/04-compile-nrf52-ports/Makefile @@ -13,7 +13,7 @@ platform-specific/nrf52dk/coap-demo/nrf52dk:coap-client:SERVER_IPV6_ADDR=ffff \ platform-specific/nrf52dk/mqtt-demo/nrf52dk \ platform-specific/nrf52dk/blink-hello/nrf52dk \ platform-specific/nrf52dk/timer-test/nrf52dk \ -logging/nrf52dk +libs/logging/nrf52dk TOOLS= From eafd90f014300c28060adc22866c5749c47bf572 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 18:16:23 +0100 Subject: [PATCH 28/34] Moving rpl-tsch examples into folder 6tisch --- examples/{rpl-tsch => 6tisch/simple-node}/Makefile | 2 +- examples/{rpl-tsch => 6tisch/simple-node}/README.md | 0 examples/{rpl-tsch => 6tisch/simple-node}/node.c | 0 examples/{rpl-tsch => 6tisch/simple-node}/project-conf.h | 0 .../{rpl-tsch => 6tisch/simple-node}/rpl-tsch-cooja.csc | 2 +- examples/{rpl-tsch-sixtop => 6tisch/sixtop}/Makefile | 2 +- examples/{rpl-tsch-sixtop => 6tisch/sixtop}/README.md | 2 +- examples/{rpl-tsch-sixtop => 6tisch/sixtop}/node-sixtop.c | 0 examples/{rpl-tsch-sixtop => 6tisch/sixtop}/project-conf.h | 0 .../sixtop}/rpl-tsch-sixtop-cooja.csc | 4 ++-- examples/{rpl-tsch-sixtop => 6tisch/sixtop}/sf-simple.c | 0 examples/{rpl-tsch-sixtop => 6tisch/sixtop}/sf-simple.h | 0 tests/02-compile-arm-ports/Makefile | 6 +++--- tests/03-compile-nxp-ports/Makefile | 6 +++--- tests/08-ipv6/19-cooja-rpl-tsch.csc | 2 +- tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc | 4 ++-- tests/08-ipv6/21-cooja-rpl-tsch-security.csc | 2 +- 17 files changed, 16 insertions(+), 16 deletions(-) rename examples/{rpl-tsch => 6tisch/simple-node}/Makefile (97%) rename examples/{rpl-tsch => 6tisch/simple-node}/README.md (100%) rename examples/{rpl-tsch => 6tisch/simple-node}/node.c (100%) rename examples/{rpl-tsch => 6tisch/simple-node}/project-conf.h (100%) rename examples/{rpl-tsch => 6tisch/simple-node}/rpl-tsch-cooja.csc (99%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/Makefile (94%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/README.md (94%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/node-sixtop.c (100%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/project-conf.h (100%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/rpl-tsch-sixtop-cooja.csc (98%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/sf-simple.c (100%) rename examples/{rpl-tsch-sixtop => 6tisch/sixtop}/sf-simple.h (100%) diff --git a/examples/rpl-tsch/Makefile b/examples/6tisch/simple-node/Makefile similarity index 97% rename from examples/rpl-tsch/Makefile rename to examples/6tisch/simple-node/Makefile index ddd2360f8..e6cb76944 100644 --- a/examples/rpl-tsch/Makefile +++ b/examples/6tisch/simple-node/Makefile @@ -1,7 +1,7 @@ CONTIKI_PROJECT = node all: $(CONTIKI_PROJECT) -CONTIKI=../.. +CONTIKI=../../.. MAKE_WITH_ORCHESTRA ?= 0 # force Orchestra from command line MAKE_WITH_SECURITY ?= 0 # force Security from command line diff --git a/examples/rpl-tsch/README.md b/examples/6tisch/simple-node/README.md similarity index 100% rename from examples/rpl-tsch/README.md rename to examples/6tisch/simple-node/README.md diff --git a/examples/rpl-tsch/node.c b/examples/6tisch/simple-node/node.c similarity index 100% rename from examples/rpl-tsch/node.c rename to examples/6tisch/simple-node/node.c diff --git a/examples/rpl-tsch/project-conf.h b/examples/6tisch/simple-node/project-conf.h similarity index 100% rename from examples/rpl-tsch/project-conf.h rename to examples/6tisch/simple-node/project-conf.h diff --git a/examples/rpl-tsch/rpl-tsch-cooja.csc b/examples/6tisch/simple-node/rpl-tsch-cooja.csc similarity index 99% rename from examples/rpl-tsch/rpl-tsch-cooja.csc rename to examples/6tisch/simple-node/rpl-tsch-cooja.csc index 64dca6559..276192cdd 100644 --- a/examples/rpl-tsch/rpl-tsch-cooja.csc +++ b/examples/6tisch/simple-node/rpl-tsch-cooja.csc @@ -25,7 +25,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype660 RPL/TSCH Node - [CONTIKI_DIR]/examples/rpl-tsch/node.c + [CONTIKI_DIR]/examples/6tisch/simple-node/node.c make TARGET=cooja clean make TARGET=cooja node.cooja org.contikios.cooja.interfaces.Position diff --git a/examples/rpl-tsch-sixtop/Makefile b/examples/6tisch/sixtop/Makefile similarity index 94% rename from examples/rpl-tsch-sixtop/Makefile rename to examples/6tisch/sixtop/Makefile index 0cce1fe1b..42360f170 100644 --- a/examples/rpl-tsch-sixtop/Makefile +++ b/examples/6tisch/sixtop/Makefile @@ -2,7 +2,7 @@ CONTIKI_PROJECT = node-sixtop all: $(CONTIKI_PROJECT) PROJECT_SOURCEFILES += sf-simple.c -CONTIKI=../.. +CONTIKI=../../.. MAKE_WITH_SECURITY ?= 0 # force Security from command line diff --git a/examples/rpl-tsch-sixtop/README.md b/examples/6tisch/sixtop/README.md similarity index 94% rename from examples/rpl-tsch-sixtop/README.md rename to examples/6tisch/sixtop/README.md index 9aacff864..fa390ff19 100644 --- a/examples/rpl-tsch-sixtop/README.md +++ b/examples/6tisch/sixtop/README.md @@ -25,7 +25,7 @@ If the mode is 6ln (node) * Following this the application triggers another 6P Add Request to 6dr * After an interval, the application triggers a 6P Delete Request to 6dr -For the Cooja simulation, you may use the rpl-tsch-sixtop-z1.csc file in this folder. +For the Cooja simulation, you may use the rpl-tsch-sixtop-cooja.csc file in this folder. Once you run the simulation, "Mote output" window of Cooja simulator displays the following messages. diff --git a/examples/rpl-tsch-sixtop/node-sixtop.c b/examples/6tisch/sixtop/node-sixtop.c similarity index 100% rename from examples/rpl-tsch-sixtop/node-sixtop.c rename to examples/6tisch/sixtop/node-sixtop.c diff --git a/examples/rpl-tsch-sixtop/project-conf.h b/examples/6tisch/sixtop/project-conf.h similarity index 100% rename from examples/rpl-tsch-sixtop/project-conf.h rename to examples/6tisch/sixtop/project-conf.h diff --git a/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc b/examples/6tisch/sixtop/rpl-tsch-sixtop-cooja.csc similarity index 98% rename from examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc rename to examples/6tisch/sixtop/rpl-tsch-sixtop-cooja.csc index e787aa82b..c0646919d 100644 --- a/examples/rpl-tsch-sixtop/rpl-tsch-sixtop-cooja.csc +++ b/examples/6tisch/sixtop/rpl-tsch-sixtop-cooja.csc @@ -7,7 +7,7 @@ [APPS_DIR]/collect-view [APPS_DIR]/powertracker - rpl-tsch-sixtop example + sixtop example 123456 1000000 @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype204 node - [CONTIKI_DIR]/examples/rpl-tsch-sixtop/node-sixtop.c + [CONTIKI_DIR]/examples/6tisch/sixtop/node-sixtop.c make node-sixtop.cooja TARGET=cooja org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery diff --git a/examples/rpl-tsch-sixtop/sf-simple.c b/examples/6tisch/sixtop/sf-simple.c similarity index 100% rename from examples/rpl-tsch-sixtop/sf-simple.c rename to examples/6tisch/sixtop/sf-simple.c diff --git a/examples/rpl-tsch-sixtop/sf-simple.h b/examples/6tisch/sixtop/sf-simple.h similarity index 100% rename from examples/rpl-tsch-sixtop/sf-simple.h rename to examples/6tisch/sixtop/sf-simple.h diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 49401ab6d..88842b65b 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -39,9 +39,9 @@ sensniff/srf06-cc26xx:BOARD=launchpad/cc1310 \ storage/cfs-coffee/cc2538dk \ storage/cfs-coffee/openmote-cc2538 \ storage/cfs-coffee/zoul \ -rpl-tsch/zoul \ -rpl-tsch/zoul:MAKE_WITH_ORCHESTRA=1 \ -rpl-tsch/zoul:MAKE_WITH_SECURITY=1 \ +6tisch/simple-node/zoul \ +6tisch/simple-node/zoul:MAKE_WITH_ORCHESTRA=1 \ +6tisch/simple-node/zoul:MAKE_WITH_SECURITY=1 \ libs/logging/zoul \ 6tisch/etsi-plugtest-2017/zoul:BOARD=remote \ 6tisch/etsi-plugtest-2017/srf06-cc26xx:BOARD=launchpad/cc2650 diff --git a/tests/03-compile-nxp-ports/Makefile b/tests/03-compile-nxp-ports/Makefile index 559717b4b..782ca92d2 100644 --- a/tests/03-compile-nxp-ports/Makefile +++ b/tests/03-compile-nxp-ports/Makefile @@ -16,9 +16,9 @@ platform-specific/jn516x/tsch/simple-sensor-network/rpl-border-router/jn516x \ platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/jn516x \ platform-specific/jn516x/tsch/uart1-test-node/jn516x \ sensniff/jn516x \ -rpl-tsch/jn516x \ -rpl-tsch/jn516x:MAKE_WITH_ORCHESTRA=1 \ -rpl-tsch/jn516x:MAKE_WITH_SECURITY=1 \ +6tisch/simple-node/jn516x \ +6tisch/simple-node/jn516x:MAKE_WITH_ORCHESTRA=1 \ +6tisch/simple-node/jn516x:MAKE_WITH_SECURITY=1 \ libs/logging/jn516x \ 6tisch/etsi-plugtest-2017/jn516x diff --git a/tests/08-ipv6/19-cooja-rpl-tsch.csc b/tests/08-ipv6/19-cooja-rpl-tsch.csc index e2e3737bf..694d9a0c1 100644 --- a/tests/08-ipv6/19-cooja-rpl-tsch.csc +++ b/tests/08-ipv6/19-cooja-rpl-tsch.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype1 Cooja Mote Type #mtype1 - [CONTIKI_DIR]/examples/rpl-tsch/node.c + [CONTIKI_DIR]/examples/6tisch/simple-node/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=0 MAKE_WITH_SECURITY=0 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 org.contikios.cooja.interfaces.Position diff --git a/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc b/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc index 7a529c880..7593ae9b2 100644 --- a/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc +++ b/tests/08-ipv6/20-cooja-rpl-tsch-orchestra.csc @@ -24,11 +24,11 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype11 Cooja Mote Type #mtype11 - [CONTIKI_DIR]/examples/rpl-tsch/node.c + [CONTIKI_DIR]/examples/6tisch/simple-node/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=1 MAKE_WITH_SECURITY=0 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 [CONTIKI_DIR]/examples/rpl-tsch/node.mtype1 + EXPORT="copy">[CONTIKI_DIR]/examples/6tisch/simple-node/node.mtype1 org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.Battery org.contikios.cooja.contikimote.interfaces.ContikiVib diff --git a/tests/08-ipv6/21-cooja-rpl-tsch-security.csc b/tests/08-ipv6/21-cooja-rpl-tsch-security.csc index d2ff6b9c3..5da4a0f32 100644 --- a/tests/08-ipv6/21-cooja-rpl-tsch-security.csc +++ b/tests/08-ipv6/21-cooja-rpl-tsch-security.csc @@ -24,7 +24,7 @@ org.contikios.cooja.contikimote.ContikiMoteType mtype11 Cooja Mote Type #mtype11 - [CONTIKI_DIR]/examples/rpl-tsch/node.c + [CONTIKI_DIR]/examples/6tisch/simple-node/node.c make TARGET=cooja clean make node.cooja TARGET=cooja MAKE_WITH_ORCHESTRA=0 MAKE_WITH_SECURITY=1 MAKE_WITH_PERIODIC_ROUTES_PRINT=1 org.contikios.cooja.interfaces.Position From 3bb8123038f505ea2843a87888e928ea74d834d1 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 21:13:34 +0100 Subject: [PATCH 29/34] Fix RPL log message --- ...rocessing.csc => rpl-udp-packet-debug.csc} | 0 examples/rpl-udp/rpl-udp-powertrace.csc | 584 -------------- examples/rpl-udp/rpl-udp-scale.csc | 729 ------------------ os/net/rpl-lite/rpl-dag.c | 2 +- 4 files changed, 1 insertion(+), 1314 deletions(-) rename examples/rpl-udp/{packet-processing.csc => rpl-udp-packet-debug.csc} (100%) delete mode 100644 examples/rpl-udp/rpl-udp-powertrace.csc delete mode 100644 examples/rpl-udp/rpl-udp-scale.csc diff --git a/examples/rpl-udp/packet-processing.csc b/examples/rpl-udp/rpl-udp-packet-debug.csc similarity index 100% rename from examples/rpl-udp/packet-processing.csc rename to examples/rpl-udp/rpl-udp-packet-debug.csc diff --git a/examples/rpl-udp/rpl-udp-powertrace.csc b/examples/rpl-udp/rpl-udp-powertrace.csc deleted file mode 100644 index 78abdbd8d..000000000 --- a/examples/rpl-udp/rpl-udp-powertrace.csc +++ /dev/null @@ -1,584 +0,0 @@ - - - [CONTIKI_DIR]/tools/cooja/apps/mrm - [CONTIKI_DIR]/tools/cooja/apps/mspsim - [CONTIKI_DIR]/tools/cooja/apps/avrora - [CONTIKI_DIR]/tools/cooja/apps/mobility - - Data collection network using IPv6 and RPL - 0 - generated - 5000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 50.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.mspmote.SkyMoteType - sky1 - Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/rpl-udp/udp-server.c - make udp-server.sky TARGET=sky WITH_COMPOWER=1 - [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - org.contikios.cooja.mspmote.SkyMoteType - sky2 - Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/rpl-udp/udp-client.c - make udp-client.sky TARGET=sky WITH_COMPOWER=1 - [CONTIKI_DIR]/examples/rpl-udp/udp-client.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - - - org.contikios.cooja.interfaces.Position - 48.435974731198804 - -66.16503914182063 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 1 - - sky1 - - - - - org.contikios.cooja.interfaces.Position - 4.049356309774755 - 98.28771308774003 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 2 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 127.9689727848476 - 91.71883780610729 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 3 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 57.897299848739024 - 92.47229665488265 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 4 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 47.34887596588397 - -30.341495695501195 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 5 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 47.13486576528276 - 32.944481932122315 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 6 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -11.42091423859419 - 17.879870626121914 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 7 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 118.92746659954325 - 57.05973076244069 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 8 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 53.68872892015448 - 59.887319605093715 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 9 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 16.45706316609417 - 23.9075414163248 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 10 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -18.9555027263478 - 75.14274313304935 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 11 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 29.265863595275306 - 85.6911670159044 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 12 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -39.298891643282545 - -3.9704359883635574 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 13 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 66.93880603404335 - -42.39683727590697 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 14 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.81678343873172 - 26.921376811426246 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 15 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -43.06618588715935 - 30.68867105530305 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 16 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -34.02467970185502 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 17 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -28.750467760427494 - 48.01822457713635 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 18 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 124.95513738974614 - 20.140247172447996 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 19 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 15.703604317318808 - -47.6710492173345 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 20 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -40.05235049205791 - 92.47229665488265 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 21 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 121.18784314586934 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 22 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 88.03565379975346 - -44.657213822233054 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 23 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 24.745110502623138 - -1.7100594420374744 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 24 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.06332458995635 - -2.4635182908128352 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 25 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -4.639784599615941 - -9.998106778566445 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 26 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -13.681290784920272 - -50.684884612435944 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 27 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 103.10483077526068 - 96.99304974753483 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 28 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 8.922474678340558 - 59.320107308766765 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 29 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 58.650758697514384 - 2.8106936506146916 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 30 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 90.59867707439 - 67.97632874312737 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 31 - - sky2 - - - - org.contikios.cooja.plugins.SimControl - 259 - 1 - 184 - 0 - 0 - - - org.contikios.cooja.plugins.Visualizer - - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - org.contikios.cooja.plugins.skins.AttributeVisualizerSkin - 2.349818846983307 0.0 0.0 2.349818846983307 150.19773526533348 176.95275613586946 - - 520 - 3 - 523 - 269 - 14 - - - org.contikios.cooja.plugins.LogListener - - - - 937 - 0 - 213 - 21 - 464 - - - org.contikios.cooja.plugins.ScriptRunner - - - true - - 600 - 2 - 700 - 665 - 6 - - - diff --git a/examples/rpl-udp/rpl-udp-scale.csc b/examples/rpl-udp/rpl-udp-scale.csc deleted file mode 100644 index 469bcca05..000000000 --- a/examples/rpl-udp/rpl-udp-scale.csc +++ /dev/null @@ -1,729 +0,0 @@ - - - [APPS_DIR]/mrm - [APPS_DIR]/mspsim - [APPS_DIR]/avrora - [APPS_DIR]/serial_socket - [APPS_DIR]/collect-view - [APPS_DIR]/powertracker - - RPL up and downstream scaleability test network using IPv6 and RPL - generated - 5000000 - - org.contikios.cooja.radiomediums.UDGM - 50.0 - 50.0 - 1.0 - 1.0 - - - 40000 - - - org.contikios.cooja.mspmote.SkyMoteType - sky1 - Sky Mote Type #sky1 - [CONTIKI_DIR]/examples/rpl-udp/udp-server.c - make SERVER_REPLY=1 clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 - [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - org.contikios.cooja.mspmote.SkyMoteType - sky2 - Sky Mote Type #sky2 - [CONTIKI_DIR]/examples/rpl-udp/udp-client.c - make SERVER_REPLY=1 clean udp-client.sky TARGET=sky - [CONTIKI_DIR]/examples/rpl-udp/udp-client.sky - org.contikios.cooja.interfaces.Position - org.contikios.cooja.interfaces.RimeAddress - org.contikios.cooja.interfaces.IPAddress - org.contikios.cooja.interfaces.Mote2MoteRelations - org.contikios.cooja.interfaces.MoteAttributes - org.contikios.cooja.mspmote.interfaces.MspClock - org.contikios.cooja.mspmote.interfaces.MspMoteID - org.contikios.cooja.mspmote.interfaces.SkyButton - org.contikios.cooja.mspmote.interfaces.SkyFlash - org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem - org.contikios.cooja.mspmote.interfaces.Msp802154Radio - org.contikios.cooja.mspmote.interfaces.MspSerial - org.contikios.cooja.mspmote.interfaces.SkyLED - org.contikios.cooja.mspmote.interfaces.MspDebugOutput - org.contikios.cooja.mspmote.interfaces.SkyTemperature - - - - - org.contikios.cooja.interfaces.Position - 48.435974731198804 - -66.16503914182063 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 1 - - sky1 - - - - - org.contikios.cooja.interfaces.Position - -39.78380986481406 - -48.10655064098382 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 2 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 127.9689727848476 - 91.71883780610729 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 3 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 154.92605604103275 - 40.97896551774433 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 4 - - - org.contikios.cooja.mspmote.interfaces.MspSerial - r~; - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 47.34887596588397 - -30.341495695501195 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 5 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 47.13486576528276 - 32.944481932122315 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 6 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -11.42091423859419 - 17.879870626121914 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 7 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 118.92746659954325 - 57.05973076244069 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 8 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 53.68872892015448 - 59.887319605093715 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 9 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 16.45706316609417 - 23.9075414163248 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 10 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -13.423161364506493 - -38.483037144768275 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 11 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -9.034961217472201 - 44.411389162165406 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 12 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -39.298891643282545 - -3.9704359883635574 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 13 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 66.93880603404335 - -42.39683727590697 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 14 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.81678343873172 - 26.921376811426246 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 15 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -43.06618588715935 - 30.68867105530305 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 16 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -34.02467970185502 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 17 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -28.750467760427494 - 48.01822457713635 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 18 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 124.95513738974614 - 20.140247172447996 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 19 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 15.703604317318808 - -47.6710492173345 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 20 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 154.43072661267115 - -3.279765376986134 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 21 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 121.18784314586934 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 22 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 88.4612185198951 - -49.763990463932714 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 23 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 24.745110502623138 - -1.7100594420374744 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 24 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.06332458995635 - -2.4635182908128352 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 25 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -4.639784599615941 - -9.998106778566445 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 26 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 2.4901685804620115 - -60.89843789583528 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 27 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 103.10483077526068 - 96.99304974753483 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 28 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 8.922474678340558 - 59.320107308766765 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 29 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 58.650758697514384 - 2.8106936506146916 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 30 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 90.59867707439 - 67.97632874312737 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 31 - - sky2 - - - - org.contikios.cooja.plugins.SimControl - 289 - 1 - 184 - 31 - 41 - - - org.contikios.cooja.plugins.Visualizer - - org.contikios.cooja.plugins.skins.IDVisualizerSkin - org.contikios.cooja.plugins.skins.UDGMVisualizerSkin - org.contikios.cooja.plugins.skins.AttributeVisualizerSkin - 2.349818846983307 0.0 0.0 2.349818846983307 187.19773526533345 190.95275613586946 - - 659 - 3 - 523 - 296 - 11 - - - org.contikios.cooja.plugins.LogListener - - - - - - 937 - 4 - 349 - 21 - 464 - - - org.contikios.cooja.plugins.ScriptRunner - - - true - - 600 - 0 - 700 - 946 - 6 - - - org.contikios.cooja.plugins.MoteInterfaceViewer - 3 - - Serial port - 0,0 - - 350 - 2 - 300 - 976 - 36 - - diff --git a/os/net/rpl-lite/rpl-dag.c b/os/net/rpl-lite/rpl-dag.c index 6db878844..36373dfb1 100644 --- a/os/net/rpl-lite/rpl-dag.c +++ b/os/net/rpl-lite/rpl-dag.c @@ -536,7 +536,7 @@ process_dio_init_dag(uip_ipaddr_t *from, rpl_dio_t *dio) LOG_ANNOTATE("#A init=%u\n", curr_instance.dag.dag_id.u8[sizeof(curr_instance.dag.dag_id) - 1]); - LOG_WARN_("just joined, no parent yet, setting timer for leaving\n"); + LOG_WARN("just joined, no parent yet, setting timer for leaving\n"); rpl_timers_schedule_leaving(); return 1; From 653e43e7de5b8eff9ee990e4a5f39821904e3589 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 21:46:45 +0100 Subject: [PATCH 30/34] Rework rpl-udp example. Now using simple-udp. Simplified and easier to configure. --- examples/rpl-udp/Makefile | 9 +- examples/rpl-udp/project-conf.h | 37 ++ examples/rpl-udp/rpl-udp-packet-debug.csc | 548 +++------------------ examples/rpl-udp/rpl-udp.csc | 545 +++----------------- examples/rpl-udp/udp-client-packet-debug.c | 183 +++---- examples/rpl-udp/udp-client.c | 264 ++-------- examples/rpl-udp/udp-server.c | 133 ++--- 7 files changed, 310 insertions(+), 1409 deletions(-) create mode 100644 examples/rpl-udp/project-conf.h diff --git a/examples/rpl-udp/Makefile b/examples/rpl-udp/Makefile index ecca51ed1..0a4d4d4e5 100644 --- a/examples/rpl-udp/Makefile +++ b/examples/rpl-udp/Makefile @@ -1,11 +1,4 @@ all: udp-client udp-server udp-client-packet-debug + CONTIKI=../.. - -ifdef SERVER_REPLY -CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY) -endif -ifdef PERIOD -CFLAGS+=-DPERIOD=$(PERIOD) -endif - include $(CONTIKI)/Makefile.include diff --git a/examples/rpl-udp/project-conf.h b/examples/rpl-udp/project-conf.h new file mode 100644 index 000000000..4575084e9 --- /dev/null +++ b/examples/rpl-udp/project-conf.h @@ -0,0 +1,37 @@ +/* + * 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. + */ + +#ifndef PROJECT_CONF_H_ +#define PROJECT_CONF_H_ + +/* Hardcoded global IPv6 address of the server. + * Must match link-local */ +#define INIT_SERVER_IPADDR(ipaddr) \ + uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0x0212, 0x7401, 0x0001, 0x0101) + +#endif /* PROJECT_CONF_H_ */ diff --git a/examples/rpl-udp/rpl-udp-packet-debug.csc b/examples/rpl-udp/rpl-udp-packet-debug.csc index 187c6cded..2349934e6 100644 --- a/examples/rpl-udp/rpl-udp-packet-debug.csc +++ b/examples/rpl-udp/rpl-udp-packet-debug.csc @@ -7,7 +7,7 @@ [APPS_DIR]/collect-view [APPS_DIR]/powertracker - Data collection network using IPv6 and RPL + RPL-UDP Example -- Packet Debug generated 5000000 @@ -25,7 +25,7 @@ sky1 Sky Mote Type #sky1 [CONTIKI_DIR]/examples/rpl-udp/udp-server.c - make clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 + make clean udp-server.sky TARGET=sky [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress @@ -48,7 +48,7 @@ sky2 Sky Mote Type #sky2 [CONTIKI_DIR]/examples/rpl-udp/udp-client-packet-debug.c - make clean packet-debug.sky TARGET=sky + make clean udp-client-packet-debug.sky TARGET=sky [CONTIKI_DIR]/examples/rpl-udp/udp-client-packet-debug.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress @@ -70,8 +70,8 @@ org.contikios.cooja.interfaces.Position - 48.435974731198804 - -66.16503914182063 + 30.051578821079996 + -64.69428746901113 0.0 @@ -88,8 +88,8 @@ org.contikios.cooja.interfaces.Position - 4.049356309774755 - 98.28771308774003 + 21.31366587648077 + -34.91404431659299 0.0 @@ -106,8 +106,8 @@ org.contikios.cooja.interfaces.Position - 127.9689727848476 - 91.71883780610729 + 57.165216906562264 + -34.02362118358309 0.0 @@ -124,8 +124,8 @@ org.contikios.cooja.interfaces.Position - 57.897299848739024 - 92.47229665488265 + 75.1786320042507 + -60.441618586411096 0.0 @@ -142,8 +142,8 @@ org.contikios.cooja.interfaces.Position - 47.34887596588397 - -30.341495695501195 + 59.11488934836 + -7.544844766953879 0.0 @@ -160,8 +160,8 @@ org.contikios.cooja.interfaces.Position - 47.13486576528276 - 32.944481932122315 + 91.720430365082 + -22.736406051209734 0.0 @@ -178,8 +178,8 @@ org.contikios.cooja.interfaces.Position - -11.42091423859419 - 17.879870626121914 + 92.90372351580778 + 2.532304558933846 0.0 @@ -196,8 +196,8 @@ org.contikios.cooja.interfaces.Position - 118.92746659954325 - 57.05973076244069 + 120.28246466847423 + 19.133402903417824 0.0 @@ -210,425 +210,11 @@ sky2 - - - - org.contikios.cooja.interfaces.Position - 53.68872892015448 - 59.887319605093715 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 9 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 16.45706316609417 - 23.9075414163248 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 10 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -18.9555027263478 - 75.14274313304935 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 11 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 29.265863595275306 - 85.6911670159044 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 12 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -39.298891643282545 - -3.9704359883635574 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 13 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 66.93880603404335 - -42.39683727590697 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 14 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.81678343873172 - 26.921376811426246 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 15 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -43.06618588715935 - 30.68867105530305 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 16 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -34.02467970185502 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 17 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -28.750467760427494 - 48.01822457713635 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 18 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 124.95513738974614 - 20.140247172447996 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 19 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 15.703604317318808 - -47.6710492173345 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 20 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -40.05235049205791 - 92.47229665488265 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 21 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 121.18784314586934 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 22 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 88.03565379975346 - -44.657213822233054 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 23 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 24.745110502623138 - -1.7100594420374744 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 24 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.06332458995635 - -2.4635182908128352 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 25 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -4.639784599615941 - -9.998106778566445 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 26 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -13.681290784920272 - -50.684884612435944 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 27 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 103.10483077526068 - 96.99304974753483 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 28 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 8.922474678340558 - 59.320107308766765 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 29 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 58.650758697514384 - 2.8106936506146916 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 30 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 90.59867707439 - 67.97632874312737 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 31 - - sky2 - org.contikios.cooja.plugins.SimControl - 259 - 3 + 249 + 4 184 3 15 @@ -639,11 +225,11 @@ org.contikios.cooja.plugins.skins.IDVisualizerSkin org.contikios.cooja.plugins.skins.UDGMVisualizerSkin org.contikios.cooja.plugins.skins.AttributeVisualizerSkin - 2.349818846983307 0.0 0.0 2.349818846983307 150.19773526533348 176.95275613586946 + 1.3598488697820064 0.0 0.0 1.3598488697820064 6.142207908179105 118.20877091196155 - 520 - 2 - 523 + 234 + 1 + 227 14 210 @@ -654,58 +240,46 @@ - 937 + 1011 0 - 213 - 265 - 16 + 556 + 759 + 7 - org.contikios.cooja.plugins.ScriptRunner + org.contikios.cooja.plugins.TimeLine - - true + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + 681.712557066089 - 651 - 1 - 550 - 547 - 181 + 1804 + 3 + 352 + 0 + 567 + + + org.contikios.cooja.plugins.RadioLogger + + 150 + + false + false + + 500 + 2 + 546 + 259 + 12 - diff --git a/examples/rpl-udp/rpl-udp.csc b/examples/rpl-udp/rpl-udp.csc index 6aa1730b9..f2a217a7b 100644 --- a/examples/rpl-udp/rpl-udp.csc +++ b/examples/rpl-udp/rpl-udp.csc @@ -7,7 +7,7 @@ [APPS_DIR]/collect-view [APPS_DIR]/powertracker - Data collection network using IPv6 and RPL + RPL-UDP Example generated 5000000 @@ -25,7 +25,7 @@ sky1 Sky Mote Type #sky1 [CONTIKI_DIR]/examples/rpl-udp/udp-server.c - make clean udp-server.sky TARGET=sky DEFINES=TEST_MORE_ROUTES=1 + make clean udp-server.sky TARGET=sky [CONTIKI_DIR]/examples/rpl-udp/udp-server.sky org.contikios.cooja.interfaces.Position org.contikios.cooja.interfaces.RimeAddress @@ -70,8 +70,8 @@ org.contikios.cooja.interfaces.Position - 48.435974731198804 - -66.16503914182063 + 30.051578821079996 + -64.69428746901113 0.0 @@ -88,8 +88,8 @@ org.contikios.cooja.interfaces.Position - 4.049356309774755 - 98.28771308774003 + 21.31366587648077 + -34.91404431659299 0.0 @@ -106,8 +106,8 @@ org.contikios.cooja.interfaces.Position - 127.9689727848476 - 91.71883780610729 + 57.165216906562264 + -34.02362118358309 0.0 @@ -124,8 +124,8 @@ org.contikios.cooja.interfaces.Position - 57.897299848739024 - 92.47229665488265 + 75.1786320042507 + -60.441618586411096 0.0 @@ -142,8 +142,8 @@ org.contikios.cooja.interfaces.Position - 47.34887596588397 - -30.341495695501195 + 59.11488934836 + -7.544844766953879 0.0 @@ -160,8 +160,8 @@ org.contikios.cooja.interfaces.Position - 47.13486576528276 - 32.944481932122315 + 91.720430365082 + -22.736406051209734 0.0 @@ -178,8 +178,8 @@ org.contikios.cooja.interfaces.Position - -11.42091423859419 - 17.879870626121914 + 92.90372351580778 + 2.532304558933846 0.0 @@ -196,8 +196,8 @@ org.contikios.cooja.interfaces.Position - 118.92746659954325 - 57.05973076244069 + 120.28246466847423 + 19.133402903417824 0.0 @@ -210,425 +210,11 @@ sky2 - - - - org.contikios.cooja.interfaces.Position - 53.68872892015448 - 59.887319605093715 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 9 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 16.45706316609417 - 23.9075414163248 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 10 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -18.9555027263478 - 75.14274313304935 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 11 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 29.265863595275306 - 85.6911670159044 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 12 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -39.298891643282545 - -3.9704359883635574 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 13 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 66.93880603404335 - -42.39683727590697 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 14 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.81678343873172 - 26.921376811426246 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 15 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -43.06618588715935 - 30.68867105530305 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 16 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -34.02467970185502 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 17 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -28.750467760427494 - 48.01822457713635 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 18 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 124.95513738974614 - 20.140247172447996 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 19 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 15.703604317318808 - -47.6710492173345 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 20 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -40.05235049205791 - 92.47229665488265 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 21 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 121.18784314586934 - -24.313824905298304 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 22 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 88.03565379975346 - -44.657213822233054 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 23 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 24.745110502623138 - -1.7100594420374744 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 24 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 94.06332458995635 - -2.4635182908128352 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 25 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -4.639784599615941 - -9.998106778566445 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 26 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - -13.681290784920272 - -50.684884612435944 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 27 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 103.10483077526068 - 96.99304974753483 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 28 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 8.922474678340558 - 59.320107308766765 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 29 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 58.650758697514384 - 2.8106936506146916 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 30 - - sky2 - - - - - org.contikios.cooja.interfaces.Position - 90.59867707439 - 67.97632874312737 - 0.0 - - - org.contikios.cooja.mspmote.interfaces.MspClock - 1.0 - - - org.contikios.cooja.mspmote.interfaces.MspMoteID - 31 - - sky2 - org.contikios.cooja.plugins.SimControl - 259 - 3 + 249 + 4 184 3 15 @@ -639,11 +225,11 @@ org.contikios.cooja.plugins.skins.IDVisualizerSkin org.contikios.cooja.plugins.skins.UDGMVisualizerSkin org.contikios.cooja.plugins.skins.AttributeVisualizerSkin - 2.349818846983307 0.0 0.0 2.349818846983307 150.19773526533348 176.95275613586946 + 1.3598488697820064 0.0 0.0 1.3598488697820064 6.142207908179105 118.20877091196155 - 520 - 2 - 523 + 234 + 1 + 227 14 210 @@ -654,58 +240,47 @@ - 937 + 1011 0 - 213 - 265 - 16 + 556 + 759 + 7 - org.contikios.cooja.plugins.ScriptRunner + org.contikios.cooja.plugins.TimeLine - - true + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + 681.712557066089 - 651 - 1 - 550 - 547 - 181 + 1804 + 3 + 352 + 0 + 567 + + + org.contikios.cooja.plugins.RadioLogger + + 150 + + false + false + + 500 + 2 + 546 + 259 + 12 diff --git a/examples/rpl-udp/udp-client-packet-debug.c b/examples/rpl-udp/udp-client-packet-debug.c index 305ceb8ae..032075060 100644 --- a/examples/rpl-udp/udp-client-packet-debug.c +++ b/examples/rpl-udp/udp-client-packet-debug.c @@ -1,109 +1,43 @@ -/* - * 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. - * - * - */ - #include "contiki.h" -#include "lib/random.h" -#include "sys/ctimer.h" -#include "net/ipv6/uip.h" -#include "net/ipv6/uip-ds6.h" -#include "net/ipv6/uip-udp-packet.h" -#include "sys/ctimer.h" #include "rpl.h" +#include "random.h" +#include "net/netstack.h" +#include "net/ipv6/simple-udp.h" #include "net/ipv6/uipbuf.h" -#include -#include -#include "dev/serial-line.h" -#include "net/ipv6/uip-ds6-route.h" +#include "sys/log.h" +#define LOG_MODULE "App" +#define LOG_LEVEL LOG_LEVEL_INFO -#define UDP_CLIENT_PORT 8765 -#define UDP_SERVER_PORT 5678 +#define WITH_SERVER_REPLY 1 +#define UDP_CLIENT_PORT 8765 +#define UDP_SERVER_PORT 5678 + +static struct simple_udp_connection udp_conn; + +#define START_INTERVAL (15 * CLOCK_SECOND) +#define SEND_INTERVAL (60 * CLOCK_SECOND) #define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) -#define DEBUG DEBUG_FULL -#include "net/ipv6/uip-debug.h" - -#ifndef PERIOD -#define PERIOD 60 -#endif - -#define START_INTERVAL (15 * CLOCK_SECOND) -#define SEND_INTERVAL (PERIOD * CLOCK_SECOND) -#define SEND_TIME (random_rand() % (SEND_INTERVAL)) -#define MAX_PAYLOAD_LEN 30 - -static struct uip_udp_conn *client_conn; +static struct simple_udp_connection udp_conn; +static uip_ipaddr_t server_ipaddr; /*---------------------------------------------------------------------------*/ -PROCESS(udp_client_process, "UDP client process"); +PROCESS(udp_client_process, "UDP client -- packet debug"); AUTOSTART_PROCESSES(&udp_client_process); /*---------------------------------------------------------------------------*/ -static int seq_id; -static int reply; - -static void -tcpip_handler(void) -{ - if(uip_newdata()) { - reply++; - } -} -/*---------------------------------------------------------------------------*/ -static void -send_packet(void *ptr) -{ - char buf[MAX_PAYLOAD_LEN]; - rpl_dag_t *dag; - seq_id++; - sprintf(buf, "Hello %d from the client", seq_id); - - dag = rpl_get_any_dag(); - - if(dag != NULL) { - uip_udp_packet_sendto(client_conn, buf, strlen(buf), - &dag->dag_id, UIP_HTONS(UDP_SERVER_PORT)); - } else { - PRINTF("Have not joined any DAG yet - could not send\n"); - } -} -/*---------------------------------------------------------------------------*/ static enum netstack_ip_action ip_input(void) { uint8_t proto = 0; uipbuf_get_last_header(uip_buf, uip_len, &proto); - PRINTF("Incoming packet proto: %d from ", proto); - PRINT6ADDR(&UIP_IP_BUF->srcipaddr); - PRINTF("\n"); + LOG_INFO("Incoming packet proto: %d from ", proto); + LOG_INFO_6ADDR(&UIP_IP_BUF->srcipaddr); + LOG_INFO_("\n"); return NETSTACK_IP_PROCESS; } - +/*---------------------------------------------------------------------------*/ static enum netstack_ip_action ip_output(const linkaddr_t *localdest) { @@ -111,61 +45,64 @@ ip_output(const linkaddr_t *localdest) uint8_t is_me = 0; uipbuf_get_last_header(uip_buf, uip_len, &proto); is_me = uip_ds6_is_my_addr(&UIP_IP_BUF->srcipaddr); - PRINTF("%s packet proto: %d to ", is_me ? "Send" : "Fwd ", proto); - PRINT6ADDR(&UIP_IP_BUF->destipaddr); - PRINTF("\n"); - if(is_me && proto == UIP_PROTO_UDP) { - /* fake server-ip address here - just to emulate the UDP-example */ - PRINTF("DATA send to %d 'Hello %d'\n", 1, seq_id); - } + LOG_INFO("Outgoing packet (%s) proto: %d to ", is_me ? "send" : "fwd ", proto); + LOG_INFO_6ADDR(&UIP_IP_BUF->destipaddr); + LOG_INFO_("\n"); return NETSTACK_IP_PROCESS; } - +/*---------------------------------------------------------------------------*/ struct netstack_ip_packet_processor packet_processor = { .process_input = ip_input, .process_output = ip_output }; - +/*---------------------------------------------------------------------------*/ +static void +udp_rx_callback(struct simple_udp_connection *c, + const uip_ipaddr_t *sender_addr, + uint16_t sender_port, + const uip_ipaddr_t *receiver_addr, + uint16_t receiver_port, + const uint8_t *data, + uint16_t datalen) +{ + unsigned count = *(unsigned *)data; + LOG_INFO("Received response %u from ", count); + LOG_INFO_6ADDR(sender_addr); + LOG_INFO_("\n"); +} /*---------------------------------------------------------------------------*/ PROCESS_THREAD(udp_client_process, ev, data) { - static struct etimer periodic; - static struct ctimer backoff_timer; + static struct etimer periodic_timer; + static unsigned count; PROCESS_BEGIN(); - PROCESS_PAUSE(); - - PRINTF("UDP client process started nbr:%d routes:%d\n", - NBR_TABLE_CONF_MAX_NEIGHBORS, NETSTACK_MAX_ROUTE_ENTRIES); - - /* new connection with remote host */ - client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL); - if(client_conn == NULL) { - PRINTF("No UDP connection available, exiting the process!\n"); - PROCESS_EXIT(); - } - udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT)); - - PRINTF("Created a connection with the server "); - PRINT6ADDR(&client_conn->ripaddr); - PRINTF(" local/remote port %u/%u\n", - UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport)); + INIT_SERVER_IPADDR(server_ipaddr); + /* Initialize UDP connection */ + simple_udp_register(&udp_conn, UDP_CLIENT_PORT, NULL, + UDP_SERVER_PORT, udp_rx_callback); /* register packet processor */ netstack_ip_packet_processor_add(&packet_processor); - etimer_set(&periodic, SEND_INTERVAL); + etimer_set(&periodic_timer, random_rand() % SEND_INTERVAL); + PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic_timer)); + etimer_set(&periodic_timer, SEND_INTERVAL); while(1) { - PROCESS_YIELD(); - if(ev == tcpip_event) { - tcpip_handler(); + PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic_timer)); + + if(rpl_is_reachable()) { + LOG_INFO("Sending request %u to ", count); + LOG_INFO_6ADDR(&server_ipaddr); + LOG_INFO_("\n"); + simple_udp_sendto(&udp_conn, &count, sizeof(count), &server_ipaddr); + count++; + } else { + LOG_INFO("Not reachable yet %p\n", rpl_get_any_dag()); } - if(etimer_expired(&periodic)) { - etimer_reset(&periodic); - ctimer_set(&backoff_timer, SEND_TIME, send_packet, NULL); - } + etimer_reset(&periodic_timer); } PROCESS_END(); diff --git a/examples/rpl-udp/udp-client.c b/examples/rpl-udp/udp-client.c index 95612b7f8..c3dd7ba7e 100644 --- a/examples/rpl-udp/udp-client.c +++ b/examples/rpl-udp/udp-client.c @@ -1,247 +1,73 @@ -/* - * 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. - * - */ - #include "contiki.h" -#include "lib/random.h" -#include "sys/ctimer.h" -#include "net/ipv6/uip.h" -#include "net/ipv6/uip-ds6.h" -#include "net/ipv6/uip-udp-packet.h" -#include "sys/ctimer.h" -#include -#include +#include "rpl.h" +#include "random.h" +#include "net/netstack.h" +#include "net/ipv6/simple-udp.h" -#include "dev/serial-line.h" -#include "net/ipv6/uip-ds6-route.h" -#include "rpl-dag-root.h" +#include "sys/log.h" +#define LOG_MODULE "App" +#define LOG_LEVEL LOG_LEVEL_INFO -#define UDP_CLIENT_PORT 8765 -#define UDP_SERVER_PORT 5678 +#define WITH_SERVER_REPLY 1 +#define UDP_CLIENT_PORT 8765 +#define UDP_SERVER_PORT 5678 -#define UDP_EXAMPLE_ID 190 - -#define DEBUG DEBUG_FULL -#include "net/ipv6/uip-debug.h" - -#ifndef PERIOD -#define PERIOD 60 -#endif +static struct simple_udp_connection udp_conn; #define START_INTERVAL (15 * CLOCK_SECOND) -#define SEND_INTERVAL (PERIOD * CLOCK_SECOND) -#define SEND_TIME (random_rand() % (SEND_INTERVAL)) -#define MAX_PAYLOAD_LEN 30 +#define SEND_INTERVAL (60 * CLOCK_SECOND) -static struct uip_udp_conn *client_conn; +static struct simple_udp_connection udp_conn; static uip_ipaddr_t server_ipaddr; /*---------------------------------------------------------------------------*/ -PROCESS(udp_client_process, "UDP client process"); +PROCESS(udp_client_process, "UDP client"); AUTOSTART_PROCESSES(&udp_client_process); /*---------------------------------------------------------------------------*/ -static int seq_id; -static int reply; - static void -tcpip_handler(void) +udp_rx_callback(struct simple_udp_connection *c, + const uip_ipaddr_t *sender_addr, + uint16_t sender_port, + const uip_ipaddr_t *receiver_addr, + uint16_t receiver_port, + const uint8_t *data, + uint16_t datalen) { - char *str; - - if(uip_newdata()) { - str = uip_appdata; - str[uip_datalen()] = '\0'; - reply++; - printf("DATA recv '%s' (s:%d, r:%d)\n", str, seq_id, reply); - } -} -/*---------------------------------------------------------------------------*/ -static void -send_packet(void *ptr) -{ - char buf[MAX_PAYLOAD_LEN]; - -#ifdef SERVER_REPLY - uint8_t num_used = 0; - uip_ds6_nbr_t *nbr; - - nbr = nbr_table_head(ds6_neighbors); - while(nbr != NULL) { - nbr = nbr_table_next(ds6_neighbors, nbr); - num_used++; - } - - if(seq_id > 0) { - ANNOTATE("#A r=%d/%d,color=%s,n=%d %d\n", reply, seq_id, - reply == seq_id ? "GREEN" : "RED", uip_ds6_route_num_routes(), num_used); - } -#endif /* SERVER_REPLY */ - - seq_id++; - PRINTF("DATA send to %d 'Hello %d'\n", - server_ipaddr.u8[sizeof(server_ipaddr.u8) - 1], seq_id); - sprintf(buf, "Hello %d from the client", seq_id); - uip_udp_packet_sendto(client_conn, buf, strlen(buf), - &server_ipaddr, UIP_HTONS(UDP_SERVER_PORT)); -} -/*---------------------------------------------------------------------------*/ -static void -print_local_addresses(void) -{ - int i; - uint8_t state; - - PRINTF("Client IPv6 addresses: "); - for(i = 0; i < UIP_DS6_ADDR_NB; i++) { - state = uip_ds6_if.addr_list[i].state; - if(uip_ds6_if.addr_list[i].isused && - (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { - PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); - PRINTF("\n"); - /* hack to make address "final" */ - if (state == ADDR_TENTATIVE) { - uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; - } - } - } -} -/*---------------------------------------------------------------------------*/ -static void -set_global_address(void) -{ - uip_ipaddr_t ipaddr; - - uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); - uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); - uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); - -/* The choice of server address determines its 6LoWPAN header compression. - * (Our address will be compressed Mode 3 since it is derived from our - * link-local address) - * Obviously the choice made here must also be selected in udp-server.c. - * - * For correct Wireshark decoding using a sniffer, add the /64 prefix to the - * 6LowPAN protocol preferences, - * e.g. set Context 0 to fd00::. At present Wireshark copies Context/128 and - * then overwrites it. - * (Setting Context 0 to fd00::1111:2222:3333:4444 will report a 16 bit - * compressed address of fd00::1111:22ff:fe33:xxxx) - * - * Note the IPCMV6 checksum verification depends on the correct uncompressed - * addresses. - */ - -#if 0 -/* Mode 1 - 64 bits inline */ - uip_ip6addr(&server_ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 1); -#elif 1 -/* Mode 2 - 16 bits inline */ - uip_ip6addr(&server_ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0x00ff, 0xfe00, 1); -#else -/* Mode 3 - derived from server link-local (MAC) address */ - uip_ip6addr(&server_ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0x0250, 0xc2ff, 0xfea8, 0xcd1a); //redbee-econotag -#endif + unsigned count = *(unsigned *)data; + LOG_INFO("Received response %u from ", count); + LOG_INFO_6ADDR(sender_addr); + LOG_INFO_("\n"); } /*---------------------------------------------------------------------------*/ PROCESS_THREAD(udp_client_process, ev, data) { - static struct etimer periodic; - static struct ctimer backoff_timer; + static struct etimer periodic_timer; + static unsigned count; PROCESS_BEGIN(); - PROCESS_PAUSE(); + INIT_SERVER_IPADDR(server_ipaddr); + /* Initialize UDP connection */ + simple_udp_register(&udp_conn, UDP_CLIENT_PORT, NULL, + UDP_SERVER_PORT, udp_rx_callback); - set_global_address(); - - PRINTF("UDP client process started nbr:%d routes:%d\n", - NBR_TABLE_CONF_MAX_NEIGHBORS, NETSTACK_MAX_ROUTE_ENTRIES); - - print_local_addresses(); - - /* new connection with remote host */ - client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL); - if(client_conn == NULL) { - PRINTF("No UDP connection available, exiting the process!\n"); - PROCESS_EXIT(); - } - udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT)); - - PRINTF("Created a connection with the server "); - PRINT6ADDR(&client_conn->ripaddr); - PRINTF(" local/remote port %u/%u\n", - UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport)); - - etimer_set(&periodic, SEND_INTERVAL); + etimer_set(&periodic_timer, random_rand() % SEND_INTERVAL); + PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic_timer)); + etimer_set(&periodic_timer, SEND_INTERVAL); while(1) { - PROCESS_YIELD(); - if(ev == tcpip_event) { - tcpip_handler(); + PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic_timer)); + + if(rpl_is_reachable()) { + LOG_INFO("Sending request %u to ", count); + LOG_INFO_6ADDR(&server_ipaddr); + LOG_INFO_("\n"); + simple_udp_sendto(&udp_conn, &count, sizeof(count), &server_ipaddr); + count++; + } else { + LOG_INFO("Not reachable yet %p\n", rpl_get_any_dag()); } - if(ev == serial_line_event_message && data != NULL) { - char *str; - str = data; - if(str[0] == 'r') { - uip_ds6_route_t *r; - uip_ipaddr_t *nexthop; - uip_ds6_defrt_t *defrt; - uip_ipaddr_t *ipaddr; - defrt = NULL; - if((ipaddr = uip_ds6_defrt_choose()) != NULL) { - defrt = uip_ds6_defrt_lookup(ipaddr); - } - if(defrt != NULL) { - PRINTF("DefRT: :: -> %02d", defrt->ipaddr.u8[15]); - PRINTF(" lt:%lu inf:%d\n", stimer_remaining(&defrt->lifetime), - defrt->isinfinite); - } else { - PRINTF("DefRT: :: -> NULL\n"); - } - - for(r = uip_ds6_route_head(); - r != NULL; - r = uip_ds6_route_next(r)) { - nexthop = uip_ds6_route_nexthop(r); - PRINTF("Route: %02d -> %02d", r->ipaddr.u8[15], nexthop->u8[15]); - /* PRINT6ADDR(&r->ipaddr); */ - /* PRINTF(" -> "); */ - /* PRINT6ADDR(nexthop); */ - PRINTF(" lt:%lu\n", r->state.lifetime); - - } - } - } - - if(etimer_expired(&periodic)) { - etimer_reset(&periodic); - ctimer_set(&backoff_timer, SEND_TIME, send_packet, NULL); - } + etimer_reset(&periodic_timer); } PROCESS_END(); diff --git a/examples/rpl-udp/udp-server.c b/examples/rpl-udp/udp-server.c index 1ae29377d..95bf29f37 100644 --- a/examples/rpl-udp/udp-server.c +++ b/examples/rpl-udp/udp-server.c @@ -28,119 +28,78 @@ */ #include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" -#include "net/ipv6/uip.h" #include "rpl.h" #include "rpl-dag-root.h" - #include "net/netstack.h" -#include "dev/button-sensor.h" -#include -#include -#include -#include +#include "net/ipv6/simple-udp.h" -#define DEBUG DEBUG_PRINT -#include "net/ipv6/uip-debug.h" - -#define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) +#include "sys/log.h" +#define LOG_MODULE "App" +#define LOG_LEVEL LOG_LEVEL_INFO +#define WITH_SERVER_REPLY 1 #define UDP_CLIENT_PORT 8765 #define UDP_SERVER_PORT 5678 -#define UDP_EXAMPLE_ID 190 +static struct simple_udp_connection udp_conn; -static struct uip_udp_conn *server_conn; - -PROCESS(udp_server_process, "UDP server process"); +PROCESS(udp_server_process, "UDP server"); AUTOSTART_PROCESSES(&udp_server_process); /*---------------------------------------------------------------------------*/ static void -tcpip_handler(void) +udp_rx_callback(struct simple_udp_connection *c, + const uip_ipaddr_t *sender_addr, + uint16_t sender_port, + const uip_ipaddr_t *receiver_addr, + uint16_t receiver_port, + const uint8_t *data, + uint16_t datalen) { - char *appdata; - - if(uip_newdata()) { - appdata = (char *)uip_appdata; - appdata[uip_datalen()] = 0; - PRINTF("DATA recv '%s' from ", appdata); - PRINTF("%d", - UIP_IP_BUF->srcipaddr.u8[sizeof(UIP_IP_BUF->srcipaddr.u8) - 1]); - PRINTF("\n"); -#if SERVER_REPLY - PRINTF("DATA sending reply\n"); - uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); - uip_udp_packet_send(server_conn, "Reply", sizeof("Reply")); - uip_create_unspecified(&server_conn->ripaddr); -#endif - } -} -/*---------------------------------------------------------------------------*/ -static void -print_local_addresses(void) -{ - int i; - uint8_t state; - - PRINTF("Server IPv6 addresses: "); - for(i = 0; i < UIP_DS6_ADDR_NB; i++) { - state = uip_ds6_if.addr_list[i].state; - if(state == ADDR_TENTATIVE || state == ADDR_PREFERRED) { - PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); - PRINTF("\n"); - /* hack to make address "final" */ - if (state == ADDR_TENTATIVE) { - uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; - } - } - } + unsigned count = *(unsigned *)data; + LOG_INFO("Received request %u from ", count); + LOG_INFO_6ADDR(sender_addr); + LOG_INFO_("\n"); +#if WITH_SERVER_REPLY + LOG_INFO("Sending reply %u to ", count); + LOG_INFO_6ADDR(sender_addr); + LOG_INFO_("\n"); + simple_udp_sendto(&udp_conn, &count, sizeof(count), sender_addr); +#endif /* WITH_SERVER_REPLY */ } /*---------------------------------------------------------------------------*/ PROCESS_THREAD(udp_server_process, ev, data) { uip_ipaddr_t ipaddr; + uip_ds6_addr_t *link_local_addr; PROCESS_BEGIN(); - PROCESS_PAUSE(); + /* Initialize Global address */ + INIT_SERVER_IPADDR(ipaddr); + LOG_INFO("Global IPv6 address: "); + LOG_INFO_6ADDR(&ipaddr); + LOG_INFO_("\n"); - SENSORS_ACTIVATE(button_sensor); - - PRINTF("UDP server started. nbr:%d routes:%d\n", - NBR_TABLE_CONF_MAX_NEIGHBORS, NETSTACK_MAX_ROUTE_ENTRIES); - - uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0x00ff, 0xfe00, 1); - rpl_dag_root_init_dag_immediately(); - - print_local_addresses(); - - server_conn = udp_new(NULL, UIP_HTONS(UDP_CLIENT_PORT), NULL); - if(server_conn == NULL) { - PRINTF("No UDP connection available, exiting the process!\n"); + /* Get link-local address */ + link_local_addr = uip_ds6_get_link_local(-1); + if(link_local_addr == NULL) { + LOG_ERR("No link-local address\n"); PROCESS_EXIT(); } - udp_bind(server_conn, UIP_HTONS(UDP_SERVER_PORT)); - - PRINTF("Created a server connection with remote address "); - PRINT6ADDR(&server_conn->ripaddr); - PRINTF(" local/remote port %u/%u\n", UIP_HTONS(server_conn->lport), - UIP_HTONS(server_conn->rport)); - - while(1) { - PROCESS_YIELD(); - if(ev == tcpip_event) { - tcpip_handler(); - } else if (ev == sensors_event && data == &button_sensor) { - PRINTF("Initiaing global repair\n"); -#if UIP_CONF_IPV6_RPL_LITE - rpl_global_repair(); -#else - rpl_repair_root(RPL_DEFAULT_INSTANCE); -#endif - } + if(memcmp(((uint8_t*)&link_local_addr->ipaddr + 8), + ((uint8_t*)&ipaddr + 8), 8)) { + LOG_ERR("Global IPv6 address does not match link-local IPv6 address\n"); + PROCESS_EXIT(); } + /* Initialize DAG root */ + rpl_dag_root_init(&ipaddr, &ipaddr); + rpl_dag_root_init_dag_immediately(); + + /* Initialize UDP connection */ + simple_udp_register(&udp_conn, UDP_SERVER_PORT, NULL, + UDP_CLIENT_PORT, udp_rx_callback); + PROCESS_END(); } /*---------------------------------------------------------------------------*/ From cb7848f7044e56802439ce353de9975b50fd3d11 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Mon, 30 Oct 2017 22:33:30 +0100 Subject: [PATCH 31/34] Add more compile tests, making sure all examples are covered --- tests/01-compile-base/Makefile | 1 + tests/02-compile-arm-ports/Makefile | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/01-compile-base/Makefile b/tests/01-compile-base/Makefile index 46c56ceeb..9054a3560 100644 --- a/tests/01-compile-base/Makefile +++ b/tests/01-compile-base/Makefile @@ -8,6 +8,7 @@ storage/eeprom-test/native \ multicast/sky \ libs/logging/native \ rpl-udp/sky \ +native-border-router/native \ TOOLS= diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 88842b65b..656ceb56f 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -39,12 +39,21 @@ sensniff/srf06-cc26xx:BOARD=launchpad/cc1310 \ storage/cfs-coffee/cc2538dk \ storage/cfs-coffee/openmote-cc2538 \ storage/cfs-coffee/zoul \ +storage/antelope-shell/zoul \ 6tisch/simple-node/zoul \ 6tisch/simple-node/zoul:MAKE_WITH_ORCHESTRA=1 \ 6tisch/simple-node/zoul:MAKE_WITH_SECURITY=1 \ libs/logging/zoul \ 6tisch/etsi-plugtest-2017/zoul:BOARD=remote \ -6tisch/etsi-plugtest-2017/srf06-cc26xx:BOARD=launchpad/cc2650 +6tisch/etsi-plugtest-2017/srf06-cc26xx:BOARD=launchpad/cc2650 \ +6tisch/6p-packet/zoul \ +6tisch/sixtop/zoul \ +http-socket/zoul \ +libs/timers/zoul \ +libs/trickle-library/zoul \ +nullnet/zoul \ +slip-radio/zoul \ + TOOLS= From 0795c57963d28d92ee34be1952d0441ca4f0dd1b Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Tue, 31 Oct 2017 12:59:33 +0000 Subject: [PATCH 32/34] Remove udp-echo-server travis test --- tests/02-compile-arm-ports/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/02-compile-arm-ports/Makefile b/tests/02-compile-arm-ports/Makefile index 656ceb56f..ab20dbb57 100644 --- a/tests/02-compile-arm-ports/Makefile +++ b/tests/02-compile-arm-ports/Makefile @@ -16,7 +16,6 @@ rpl-border-router/cc2538dk \ rpl-udp/cc2538dk \ coap-example/cc2538dk \ ipso-objects/cc2538dk \ -udp-echo-server/cc2538dk \ multicast/cc2538dk \ platform-specific/cc2538-common/cc2538dk \ platform-specific/cc2538-common/mqtt-demo/cc2538dk \ From 809449ca82bca2cd2c635103647591737faabe98 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Tue, 31 Oct 2017 14:17:50 +0100 Subject: [PATCH 33/34] Fix sixtop example --- examples/6tisch/sixtop/node-sixtop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/6tisch/sixtop/node-sixtop.c b/examples/6tisch/sixtop/node-sixtop.c index 1e0ffcb98..84598d331 100755 --- a/examples/6tisch/sixtop/node-sixtop.c +++ b/examples/6tisch/sixtop/node-sixtop.c @@ -91,7 +91,7 @@ PROCESS_THREAD(node_process, ev, data) /* Get time-source neighbor */ n = tsch_queue_get_time_source(); - if(node_id != 1) { + if(!is_coordinator) { if((added_num_of_links == 1) || (added_num_of_links == 3)) { printf("App : Add a link\n"); sf_simple_add_links(&n->addr, 1); From 0dbfda557de0c1a52bf000ff5c1d0644b5d965a5 Mon Sep 17 00:00:00 2001 From: Joakim Eriksson Date: Tue, 31 Oct 2017 17:08:33 +0100 Subject: [PATCH 34/34] simplified the timer example --- examples/libs/timers/all-timers.c | 91 ++++++++++++------------------- 1 file changed, 34 insertions(+), 57 deletions(-) diff --git a/examples/libs/timers/all-timers.c b/examples/libs/timers/all-timers.c index 60eb56651..2a1f27b28 100644 --- a/examples/libs/timers/all-timers.c +++ b/examples/libs/timers/all-timers.c @@ -36,96 +36,73 @@ #include "sys/timer.h" #include "sys/rtimer.h" -PROCESS(process1, "ETimer x Timer x STimer Process"); -PROCESS(process2, "CTimer Process 2"); -PROCESS(process3, "RTimer Process 3"); -AUTOSTART_PROCESSES(&process1, &process2, &process3); +PROCESS(timer_process, "ETimer x Timer x STimer Process"); +AUTOSTART_PROCESSES(&timer_process); static int counter_etimer; static int counter_timer; static int counter_stimer; -static int counter_ctimer; -static int counter_rtimer; static struct timer timer_timer; static struct stimer timer_stimer; static struct ctimer timer_ctimer; static struct rtimer timer_rtimer; -static rtimer_clock_t timeout_rtimer = RTIMER_SECOND / 2; -void -do_timeout1() -{ - counter_etimer++; - if(timer_expired(&timer_timer)) { - counter_timer++; - } - - if(stimer_expired(&timer_stimer)) { - counter_stimer++; - } - - printf("\nProcess 1: %s", counter_timer == counter_etimer - && counter_timer == counter_stimer ? "SUCCESS" : "FAIL"); -} /*---------------------------------------------------------------------------*/ void -do_timeout2() +ctimer_callback(void *ptr) { + /* rearm the ctimer */ ctimer_reset(&timer_ctimer); - printf("\nProcess 2: CTimer callback called"); - counter_ctimer++; + printf("CTimer callback called\n"); } /*---------------------------------------------------------------------------*/ void -do_timeout3(struct rtimer *timer, void *ptr) +rtimer_callback(struct rtimer *timer, void *ptr) { - counter_rtimer++; - - printf("\nProcess 3: RTimer callback called"); + /* Normally avoid printing from rtimer - rather do a process poll */ + printf("RTimer callback called\n"); /* Re-arm rtimer */ - rtimer_set(&timer_rtimer, RTIMER_NOW() + timeout_rtimer, 0, do_timeout3, - NULL); + rtimer_set(&timer_rtimer, RTIMER_NOW() + RTIMER_SECOND / 2, 0, + rtimer_callback, NULL); } /*---------------------------------------------------------------------------*/ -PROCESS_THREAD(process1, ev, data) +/* + * This Process will count timer expires on one e-timer (that drives the + * events to the process), one timer, and one stimer. + * + */ +PROCESS_THREAD(timer_process, ev, data) { static struct etimer timer_etimer; PROCESS_BEGIN(); + ctimer_set(&timer_ctimer, CLOCK_SECOND, ctimer_callback, NULL); + rtimer_set(&timer_rtimer, RTIMER_NOW() + CLOCK_SECOND / 2, 0, + rtimer_callback, NULL); + while(1) { + /* set all the timers */ timer_set(&timer_timer, 3 * CLOCK_SECOND); stimer_set(&timer_stimer, 3); etimer_set(&timer_etimer, 3 * CLOCK_SECOND); + PROCESS_WAIT_EVENT_UNTIL(ev == PROCESS_EVENT_TIMER); - do_timeout1(); + + counter_etimer++; + if(timer_expired(&timer_timer)) { + counter_timer++; + } + + if(stimer_expired(&timer_stimer)) { + counter_stimer++; + } + + printf("Timer process: %s\n", counter_timer == counter_etimer + && counter_timer == counter_stimer ? "SUCCESS" : "FAIL"); } PROCESS_END(); } /*---------------------------------------------------------------------------*/ -PROCESS_THREAD(process2, ev, data) -{ - PROCESS_BEGIN(); - - while(1) { - ctimer_set(&timer_ctimer, 5 * CLOCK_SECOND, do_timeout2, NULL); - PROCESS_YIELD(); - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(process3, ev, data) -{ - PROCESS_BEGIN(); - - while(1) { - rtimer_set(&timer_rtimer, RTIMER_NOW() + timeout_rtimer, 0, - do_timeout3, NULL); - PROCESS_YIELD(); - } - - PROCESS_END(); -}