diff --git a/examples/7/Makefile b/examples/7/Makefile new file mode 100644 index 000000000..0cf7c6541 --- /dev/null +++ b/examples/7/Makefile @@ -0,0 +1,12 @@ +CONTIKI_PROJECT = networking +PLATFORMS_ONLY = cc26x0-cc13x0 +all: $(CONTIKI_PROJECT) + +CONTIKI = ../.. + +PLATFORMS_EXCLUDE = nrf52dk + +#use this to enable TSCH: MAKE_MAC = MAKE_MAC_TSCH +MAKE_MAC ?= MAKE_MAC_CSMA +MAKE_NET = MAKE_NET_NULLNET +include $(CONTIKI)/Makefile.include diff --git a/examples/7/networking.c b/examples/7/networking.c new file mode 100644 index 000000000..ed4ba859f --- /dev/null +++ b/examples/7/networking.c @@ -0,0 +1,65 @@ +#include "net/netstack.h" +#include "net/nullnet/nullnet.h" +#include +#include +#include "sys/log.h" +#define LOG_MODULE "App" +#define LOG_LEVEL LOG_LEVEL_INFO + +#include "os/dev/serial-line.h" +#include "os/net/linkaddr.h" +#include "arch/cpu/cc26x0-cc13x0/dev/cc26xx-uart.h" +//#include "os/dev/leds.h" +//#include "os/dev/button-hal.h" +#include "batmon-sensor.h" + +static linkaddr_t destination_address = {{ 0x00, 0x12, 0x4b, 0x00, 0x0f, 0x8f, 0x18, 0x11 }}; + +PROCESS(contiki_main_process, "Networking connectivity test"); +AUTOSTART_PROCESSES(&contiki_main_process); + +static void input_callback(const void* data, uint16_t len, const linkaddr_t* source_address, const linkaddr_t* destination_address) { + char received_data[strlen((char*)data) + 1]; + if (len == strlen((char*)data) + 1) { + memcpy(&received_data, data, strlen((char*)data) + 1); + LOG_INFO("Received \"%s\" from ", (char*)data); + LOG_INFO_LLADDR(source_address); + LOG_INFO("\n"); + } +} + +PROCESS_THREAD(contiki_main_process, ev, data) { + PROCESS_BEGIN(); + SENSORS_ACTIVATE(batmon_sensor); + + static int counter = 0; + static struct etimer my_timer; + static char message[128]; + + nullnet_buf = (uint8_t*)message; + nullnet_set_input_callback(input_callback); + + etimer_set(&my_timer, 5 * CLOCK_SECOND); + + cc26xx_uart_set_input(serial_line_input_byte); + serial_line_init(); + + printf("Hello world\n"); + + while (true) { + PROCESS_WAIT_EVENT(); + + if (ev == PROCESS_EVENT_TIMER) { + printf("Transmitting %d...\n", counter); + sprintf(message, "#%d Hello. It's me. -- by Adele", counter); + nullnet_len = strlen(message) + 1; + counter++; + NETSTACK_NETWORK.output(&destination_address); + etimer_reset(&my_timer); + } + } + + PROCESS_END(); +} + + diff --git a/examples/7/project-conf.h b/examples/7/project-conf.h new file mode 100644 index 000000000..3cbc0da86 --- /dev/null +++ b/examples/7/project-conf.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2014, 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. + */ +/*---------------------------------------------------------------------------*/ +#ifndef PROJECT_CONF_H_ +#define PROJECT_CONF_H_ +/*---------------------------------------------------------------------------*/ +/* Enable the ROM bootloader */ +#define CCXXWARE_CONF_ROM_BOOTLOADER_ENABLE 1 +/*---------------------------------------------------------------------------*/ +/* Change to match your configuration */ +#define IEEE802154_CONF_PANID 0xABCD +#define IEEE802154_CONF_DEFAULT_CHANNEL 25 +#define RF_BLE_CONF_ENABLED 1 +/*---------------------------------------------------------------------------*/ +#endif /* PROJECT_CONF_H_ */ +/*---------------------------------------------------------------------------*/