From 296ad6cdb7d75c5ecd0d6880e1a4f9fc6a19a271 Mon Sep 17 00:00:00 2001 From: nifi Date: Tue, 7 Aug 2007 11:20:11 +0000 Subject: [PATCH] Updated to new radio_driver API --- platform/esb/apps/radio-sniffer.c | 41 ++++++++++++++----------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/platform/esb/apps/radio-sniffer.c b/platform/esb/apps/radio-sniffer.c index 60c87d961..510709a0d 100644 --- a/platform/esb/apps/radio-sniffer.c +++ b/platform/esb/apps/radio-sniffer.c @@ -28,7 +28,7 @@ * * This file is part of the Contiki operating system. * - * $Id: radio-sniffer.c,v 1.2 2007/03/16 12:19:33 fros4943 Exp $ + * $Id: radio-sniffer.c,v 1.3 2007/08/07 11:20:11 nifi Exp $ */ /** @@ -49,43 +49,38 @@ PROCESS(radio_sniffer_process, "Radio sniffer"); AUTOSTART_PROCESSES(&radio_sniffer_process); /*---------------------------------------------------------------------------*/ -PROCESS_THREAD(radio_sniffer_process, ev, data) +static void +sniffer_callback(const struct radio_driver *driver) { static char buf[40]; static u8_t packet[UIP_BUFSIZE]; static int len; + len = driver->read(packet, sizeof(packet)); + if(len > 0) { + leds_blink(); + len = hc_inflate(packet, len); + tcpdump_format(packet, len, buf, sizeof(buf)); + printf("radio-sniffer %d: packet length %d, %s\n", node_id, len, buf); + } +} +/*---------------------------------------------------------------------------*/ +PROCESS_THREAD(radio_sniffer_process, ev, data) +{ PROCESS_BEGIN(); - tr1001_init(&radio_sniffer_process); + tr1001_init(); + tr1001_driver.set_receive_function(sniffer_callback); + + printf("Radio sniffer started.\n"); - printf("Radio sniffer started\n"); - while(1) { - PROCESS_WAIT_EVENT(); - - len = tr1001_poll(packet, sizeof(packet)); - - if(len > 0) { - leds_blink(); - len = hc_inflate(packet, len); - tcpdump_format(packet, sizeof(packet), buf, sizeof(buf)); - printf("radio-sniffer %d: packet length %d, %s\n", node_id, len, buf); - } } - PROCESS_END(); } /*---------------------------------------------------------------------------*/ void init_net(void) { - -} -/*---------------------------------------------------------------------------*/ -void -tr1001_drv_request_poll(void) -{ - process_poll(&radio_sniffer_process); } /*---------------------------------------------------------------------------*/