From 404b735cc47b6500f85520978ed778ec8d129505 Mon Sep 17 00:00:00 2001 From: "Enric M. Calvo" Date: Sun, 27 Feb 2011 12:35:19 +0100 Subject: [PATCH] Fixed radio and contiki conf to get RIME working cc2420 isr handled at cc2420-arch, disabled accel. interrupts and modified platform/z1/contiki-conf.h to use same mac as sky. Added example-broadcast-button, sends packets every second or when button pushed. Works with other Z1s and Sky --- examples/rime/example-broadcast-button.c | 91 +++++++++++++++++++++++ platform/z1/contiki-conf.h | 8 +- platform/z1/dev/cc2420-arch.c | 2 +- tools/sky/serial/__init__.pyc | Bin 535 -> 0 bytes tools/sky/serial/serialposix.pyc | Bin 16103 -> 0 bytes tools/sky/serial/serialutil.pyc | Bin 3216 -> 0 bytes 6 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 examples/rime/example-broadcast-button.c delete mode 100644 tools/sky/serial/__init__.pyc delete mode 100644 tools/sky/serial/serialposix.pyc delete mode 100644 tools/sky/serial/serialutil.pyc diff --git a/examples/rime/example-broadcast-button.c b/examples/rime/example-broadcast-button.c new file mode 100644 index 000000000..47224ad33 --- /dev/null +++ b/examples/rime/example-broadcast-button.c @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2007, 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. + * + * $Id: example-broadcast.c,v 1.3 2010/11/06 15:03:48 adamdunkels Exp $ + */ + +/** + * \file + * Testing the broadcast layer in Rime + * \author + * Adam Dunkels + */ + +#include "contiki.h" +#include "net/rime.h" +#include "random.h" + +#include "dev/button-sensor.h" + +#include "dev/leds.h" + +#include +/*---------------------------------------------------------------------------*/ +PROCESS(example_broadcast_process, "Broadcast example"); +AUTOSTART_PROCESSES(&example_broadcast_process); +/*---------------------------------------------------------------------------*/ +static void +broadcast_recv(struct broadcast_conn *c, const rimeaddr_t *from) +{ + printf("broadcast message received from %d.%d: '%s'\n", + from->u8[0], from->u8[1], (char *)packetbuf_dataptr()); +} +static const struct broadcast_callbacks broadcast_call = {broadcast_recv}; +static struct broadcast_conn broadcast; +/*---------------------------------------------------------------------------*/ +PROCESS_THREAD(example_broadcast_process, ev, data) +{ + static struct etimer et; + + PROCESS_EXITHANDLER(broadcast_close(&broadcast);) + + PROCESS_BEGIN(); + + SENSORS_ACTIVATE(button_sensor); + broadcast_open(&broadcast, 129, &broadcast_call); + + while(1) { + + /* Delay 2-4 seconds */ + //etimer_set(&et, CLOCK_SECOND * 4 + random_rand() % (CLOCK_SECOND * 4)); + etimer_set(&et, CLOCK_SECOND); + + PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et) || (ev == sensors_event && + data == &button_sensor)); + + packetbuf_copyfrom("Hello", 6); + broadcast_send(&broadcast); + printf("broadcast message sent\n"); + } + + PROCESS_END(); +} +/*---------------------------------------------------------------------------*/ + diff --git a/platform/z1/contiki-conf.h b/platform/z1/contiki-conf.h index c09b44635..65534cdf6 100644 --- a/platform/z1/contiki-conf.h +++ b/platform/z1/contiki-conf.h @@ -54,7 +54,9 @@ #define CXMAC_CONF_ANNOUNCEMENTS 0 #define XMAC_CONF_ANNOUNCEMENTS 0 -#define QUEUEBUF_CONF_NUM 4 +//Enric #define QUEUEBUF_CONF_NUM 4 +#define QUEUEBUF_CONF_NUM 8 //Enric like in SKY + #else /* WITH_UIP6 */ @@ -63,7 +65,9 @@ #define NETSTACK_CONF_NETWORK rime_driver #define NETSTACK_CONF_MAC csma_driver /* #define NETSTACK_CONF_RDC contikimac_driver */ -#define NETSTACK_CONF_RDC nullrdc_driver + #define NETSTACK_CONF_RDC contikimac_driver +//#define NETSTACK_CONF_RDC nullrdc_driver +#define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8 //Enric like in SKY #define NETSTACK_CONF_FRAMER framer_802154 #define CC2420_CONF_AUTOACK 0 diff --git a/platform/z1/dev/cc2420-arch.c b/platform/z1/dev/cc2420-arch.c index 1588131a1..ca72686b8 100644 --- a/platform/z1/dev/cc2420-arch.c +++ b/platform/z1/dev/cc2420-arch.c @@ -47,7 +47,7 @@ #endif /*---------------------------------------------------------------------------*/ -#if 0 +#if 1 // this is now handled in the ADXL345 accelerometer code as it uses irq on port1 too. interrupt(CC2420_IRQ_VECTOR) cc24240_port1_interrupt(void) diff --git a/tools/sky/serial/__init__.pyc b/tools/sky/serial/__init__.pyc deleted file mode 100644 index e81d9f74e94bff26b55a87c81180950338447f00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmY*V%SyvQ6up!55v#40g6M99E`nl8)s-7p3W8K<#YGl|)QmE1G7~bfnpHqQ#?SC0 z{0{%YJ5w8K$Q;hSb7s!DbNth8eSbY%Jpz6fF7=5};_pBNFbD9#5CT3i!~)-fas!wJ z+=ht22lg%4_iIpY0VBZc5ZN%ZKz4wXZHQ_xZ@`_n!K$+o)GNWZ5j0V7go5r$(5M7E zM&O{Jg@PVLO?Wp^Ca!~7N2-h1AF~BlT#9o#^oF$0iJnCdBy!hq4Tq|Zm`cUpR1MiI zT!iWj$wX#ZL4~9|Nn@5Uk%u{6MxSIx3;B}KG!Ant5{f5y98P2Axf^&;*%}IEtfW#6 zUFI1V&&EonG0#;KoA;OF$@T5X*orV=YEvs&#>4oPi_?>}dYP|P?dz1Tj$4_nU#MsN sXY67F45&S1-eAhbVCggn0xozS1YTMw{U8?(nCCknyLOLs$ltPl0qeVPF8}}l diff --git a/tools/sky/serial/serialposix.pyc b/tools/sky/serial/serialposix.pyc deleted file mode 100644 index ba8d505b04c722a7ecd119987a4218afaa870754..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16103 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