diff --git a/arch/platform/jn516x/jn516x-def.h b/arch/platform/jn516x/jn516x-def.h index 596d55333..0c76a4332 100644 --- a/arch/platform/jn516x/jn516x-def.h +++ b/arch/platform/jn516x/jn516x-def.h @@ -269,16 +269,6 @@ typedef uint32_t clock_time_t; #endif #define ENABLE_ADVANCED_BAUD_SELECTION (UART_BAUD_RATE > UART_RATE_115200) -/* Set this to zero only if we are using SLIP */ -#ifndef SLIP_BRIDGE_CONF_NO_PUTCHAR -#if defined(UIP_FALLBACK_INTERFACE) || defined(CMD_CONF_OUTPUT) -#define SLIP_BRIDGE_CONF_NO_PUTCHAR 0 -#else -#define SLIP_BRIDGE_CONF_NO_PUTCHAR 1 -#endif -#endif /* SLIP_BRIDGE_CONF_NO_PUTCHAR */ - - /* Extension of LED definitions from leds.h for various JN516x dev boards JN516x Dongle: LEDS_RED Red LED on dongle diff --git a/arch/platform/jn516x/lib/slip.c b/arch/platform/jn516x/lib/slip.c index a5ce4c16d..bdf3c81b5 100644 --- a/arch/platform/jn516x/lib/slip.c +++ b/arch/platform/jn516x/lib/slip.c @@ -429,11 +429,9 @@ slip_input_byte(unsigned char c) return error_return_code; } /*---------------------------------------------------------------------------*/ -#if SLIP_BRIDGE_CONF_NO_PUTCHAR int putchar(int c) { uart0_writeb(c); return 1; } -#endif diff --git a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/Makefile b/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/Makefile deleted file mode 100644 index 27454bda2..000000000 --- a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -CONTIKI_PROJECT=rpl-border-router - -PLATFORMS_ONLY = jn516x - -TARGET ?= jn516x -JN516x_WITH_DONGLE = 1 - -CONTIKI=../../../../../.. - -PROJECT_SOURCEFILES += slip-bridge.c slip.c - -MODULES_REL += .. - -MAKE_MAC = MAKE_MAC_TSCH -MODULES += os/net/app-layer/coap -MODULES += os/services/orchestra os/lib/json - -all: $(CONTIKI_PROJECT) -include $(CONTIKI)/Makefile.include - -ifeq ($(PREFIX),) - PREFIX = aaaa::1/64 -endif - -#no flow control -connect-router: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -v1 -B 1000000 $(PREFIX) - -#using XON/XOFF flow control -connect-router-sw: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -v1 -X -B 1000000 $(PREFIX) - -#using hw flow control -connect-router-hw: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -v1 -H -B 1000000 $(PREFIX) - -#using no flow control -connect-router-no: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -v1 -B 1000000 $(PREFIX) - -connect-router-cooja: $(CONTIKI)/tools/tunslip6 - sudo $(CONTIKI)/tools/tunslip6 -a 127.0.0.1 $(PREFIX) diff --git a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/project-conf.h b/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/project-conf.h deleted file mode 100644 index c34c364e3..000000000 --- a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/project-conf.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2010, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#ifndef BR_PROJECT_ROUTER_CONF_H_ -#define BR_PROJECT_ROUTER_CONF_H_ - -#ifndef UIP_FALLBACK_INTERFACE -#define UIP_FALLBACK_INTERFACE rpl_interface -#endif - -/* Needed for slip-bridge */ -#define SLIP_BRIDGE_CONF_NO_PUTCHAR 0 - -#define UIP_CONF_TCP 0 -#define QUEUEBUF_CONF_NUM 16 - -#define TSCH_QUEUE_CONF_MAX_NEIGHBOR_QUEUES 8 - -#include "../../common-conf.h" - -#endif /* PROJECT_ROUTER_CONF_H_ */ diff --git a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/rpl-border-router.c b/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/rpl-border-router.c deleted file mode 100644 index cf88ea467..000000000 --- a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/rpl-border-router.c +++ /dev/null @@ -1,168 +0,0 @@ -/* -* Copyright (c) 2015 NXP B.V. -* 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 NXP B.V. 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 NXP B.V. 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 NXP B.V. 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. -* -* Author: Theo van Daele -* -*/ -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" -#include "net/ipv6/uip.h" -#include "net/ipv6/uip-ds6.h" -#include "net/routing/routing.h" -#include "simple-udp.h" -#include "net/mac/tsch/tsch.h" -#include "net/netstack.h" -#include "dev/slip.h" -#include "coap-engine.h" - -#include -#include -#include -#include - -#define DEBUG DEBUG_NONE -#include "net/ipv6/uip-debug.h" - -static uip_ipaddr_t prefix; -static uint8_t prefix_set; - -static void get_rssi_handler(coap_message_t *request, coap_message_t *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset); -static void get_last_rssi_handler(coap_message_t *request, coap_message_t *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset); - -static char content[COAP_MAX_CHUNK_SIZE]; -static int content_len = 0; - -#define CONTENT_PRINTF(...) { if(content_len < sizeof(content)) content_len += snprintf(content+content_len, sizeof(content)-content_len, __VA_ARGS__); } - -PROCESS(border_router_process, "Border router process"); -AUTOSTART_PROCESSES(&border_router_process); - -RESOURCE(resource_get_rssi, - "title=\"Get RSSI\"", - get_rssi_handler, - NULL, - NULL, - NULL); -static void -get_rssi_handler(coap_message_t *request, coap_message_t *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) -{ - int rssi_level; - unsigned int accept = -1; - coap_get_header_accept(request, &accept); - if(accept == -1 || accept == TEXT_PLAIN) { - content_len = 0; - NETSTACK_RADIO.get_value(RADIO_PARAM_RSSI, &rssi_level); - CONTENT_PRINTF("%d", rssi_level); - coap_set_header_content_format(response, TEXT_PLAIN); - coap_set_payload(response, (uint8_t *)content, content_len); - } -} - -RESOURCE(resource_get_last_rssi, - "title=\"Get last RSSI\"", - get_last_rssi_handler, - NULL, - NULL, - NULL); -static void -get_last_rssi_handler(coap_message_t *request, coap_message_t *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) -{ - int last_rssi_level; - unsigned int accept = -1; - coap_get_header_accept(request, &accept); - if(accept == -1 || accept == TEXT_PLAIN) { - content_len = 0; - NETSTACK_RADIO.get_value(RADIO_PARAM_LAST_RSSI, &last_rssi_level); - CONTENT_PRINTF("%d", last_rssi_level); - coap_set_header_content_format(response, TEXT_PLAIN); - coap_set_payload(response, (uint8_t *)content, content_len); - } -} - -/*---------------------------------------------------------------------------*/ -void -request_prefix(void) -{ - /* mess up uip_buf with a dirty request... */ - uip_buf[0] = '?'; - uip_buf[1] = 'P'; - uip_len = 2; - slip_send(); - uip_len = 0; -} -/*---------------------------------------------------------------------------*/ -void -set_prefix_64(uip_ipaddr_t *prefix_64) -{ - memcpy(&prefix, prefix_64, 16); - prefix_set = 1; -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(border_router_process, ev, data) -{ - static struct etimer et; - - PROCESS_BEGIN(); - -/* While waiting for the prefix to be sent through the SLIP connection, the future - * border router can join an existing DAG as a parent or child, or acquire a default - * router that will later take precedence over the SLIP fallback interface. - * Prevent that by turning the radio off until we are initialized as a DAG root. - */ - prefix_set = 0; - - PROCESS_PAUSE(); - - PRINTF("RPL-Border router started\n"); - - /* Request prefix until it has been received */ - while(!prefix_set) { - etimer_set(&et, CLOCK_SECOND); - request_prefix(); - PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); - PRINTF("Waiting for prefix\n"); - } - - PRINTF("Obtained prefix: "); - uip_debug_ipaddr_print(&prefix); - PRINTF("\n"); - - NETSTACK_ROUTING.root_set_prefix(&prefix, NULL); - NETSTACK_ROUTING.root_start(); - - coap_engine_init(); - coap_activate_resource(&resource_get_rssi, "Get-RSSI"); - coap_activate_resource(&resource_get_last_rssi, "Get-Last-RSSI"); - - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/slip-bridge.c b/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/slip-bridge.c deleted file mode 100644 index 8201bf0f7..000000000 --- a/examples/platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/slip-bridge.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) 2010, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -/** - * \file - * Slip fallback interface - * \author - * Niclas Finne - * Joakim Eriksson - * Joel Hoglund - * Nicolas Tsiftes - */ - -#include "net/ipv6/uip.h" -#include "net/ipv6/uip-ds6.h" -#include "dev/slip.h" -#if CONTIKI_TARGET_JN516X -#include "dev/uart0.h" -#else -#include "dev/uart1.h" -#endif -#include - -#define UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) - -#define DEBUG DEBUG_NONE -#include "net/ipv6/uip-debug.h" - -void set_prefix_64(uip_ipaddr_t *); - -static uip_ipaddr_t last_sender; -/*---------------------------------------------------------------------------*/ -static void -slip_input_callback(void) -{ - PRINTF("SIN: %u\n", uip_len); - if(uip_buf[0] == '!') { - PRINTF("Got configuration message of type %c\n", uip_buf[1]); - uip_len = 0; - if(uip_buf[1] == 'P') { - uip_ipaddr_t prefix; - /* Here we set a prefix !!! */ - memset(&prefix, 0, 16); - memcpy(&prefix, &uip_buf[2], 8); - PRINTF("Setting prefix "); - PRINT6ADDR(&prefix); - PRINTF("\n"); - set_prefix_64(&prefix); - } - } else if (uip_buf[0] == '?') { - PRINTF("Got request message of type %c\n", uip_buf[1]); - if(uip_buf[1] == 'M') { - char* hexchar = "0123456789abcdef"; - int j; - /* this is just a test so far... just to see if it works */ - uip_buf[0] = '!'; - for(j = 0; j < 8; j++) { - uip_buf[2 + j * 2] = hexchar[uip_lladdr.addr[j] >> 4]; - uip_buf[3 + j * 2] = hexchar[uip_lladdr.addr[j] & 15]; - } - uip_len = 18; - slip_send(); - - } - uip_len = 0; - } - /* Save the last sender received over SLIP to avoid bouncing the - packet back if no route is found */ - uip_ipaddr_copy(&last_sender, &UIP_IP_BUF->srcipaddr); -} -/*---------------------------------------------------------------------------*/ -static void -init(void) -{ - slip_arch_init(); - process_start(&slip_process, NULL); - slip_set_input_callback(slip_input_callback); -} -/*---------------------------------------------------------------------------*/ -static int -output(void) -{ - if(uip_ipaddr_cmp(&last_sender, &UIP_IP_BUF->srcipaddr)) { - /* Do not bounce packets back over SLIP if the packet was received - over SLIP */ - PRINTF("slip-bridge: Destination off-link but no route src="); - PRINT6ADDR(&UIP_IP_BUF->srcipaddr); - PRINTF(" dst="); - PRINT6ADDR(&UIP_IP_BUF->destipaddr); - PRINTF("\n"); - } else { - PRINTF("SUT: %u\n", uip_len); - slip_send(); - printf("\n"); - } - return 0; -} - -/*---------------------------------------------------------------------------*/ -#if !SLIP_BRIDGE_CONF_NO_PUTCHAR -#undef putchar -int -putchar(int c) -{ -#define SLIP_END 0300 - static char debug_frame = 0; - - if(!debug_frame) { /* Start of debug output */ - slip_arch_writeb(SLIP_END); - slip_arch_writeb('\r'); /* Type debug line == '\r' */ - debug_frame = 1; - } - - /* Need to also print '\n' because for example COOJA will not show - any output before line end */ - slip_arch_writeb((char)c); - - /* - * Line buffered output, a newline marks the end of debug output and - * implicitly flushes debug output. - */ - if(c == '\n') { - slip_arch_writeb(SLIP_END); - debug_frame = 0; - } - return c; -} -#endif -/*---------------------------------------------------------------------------*/ -const struct uip_fallback_interface rpl_interface = { - init, output -}; -/*---------------------------------------------------------------------------*/ diff --git a/tests/04-compile-nxp-ports/Makefile b/tests/04-compile-nxp-ports/Makefile index b1fdd9ea6..cec1f91af 100644 --- a/tests/04-compile-nxp-ports/Makefile +++ b/tests/04-compile-nxp-ports/Makefile @@ -11,7 +11,6 @@ platform-specific/jn516x/rpl/coap-dr1175-node/jn516x \ platform-specific/jn516x/rpl/coap-dr1199-node/jn516x \ platform-specific/jn516x/tsch/simple-sensor-network/node/jn516x \ platform-specific/jn516x/tsch/tx-power-verification/node/jn516x \ -platform-specific/jn516x/tsch/tx-power-verification/rpl-border-router/jn516x \ platform-specific/jn516x/tsch/uart1-test-node/jn516x \ sensniff/jn516x \ rpl-border-router/jn516x \