diff --git a/examples/ipv6/slip-radio/Makefile b/examples/ipv6/slip-radio/Makefile index 79e40ef08..50fa4b6f0 100644 --- a/examples/ipv6/slip-radio/Makefile +++ b/examples/ipv6/slip-radio/Makefile @@ -19,5 +19,8 @@ endif ifeq ($(TARGET),nooliberry) PROJECT_SOURCEFILES += slip-radio-rf230.c endif +ifeq ($(TARGET),econotag) + PROJECT_SOURCEFILES += slip-radio-mc1322x.c +endif include $(CONTIKI)/Makefile.include diff --git a/examples/ipv6/slip-radio/project-conf.h b/examples/ipv6/slip-radio/project-conf.h index 7b85082b6..94b6e987e 100644 --- a/examples/ipv6/slip-radio/project-conf.h +++ b/examples/ipv6/slip-radio/project-conf.h @@ -51,6 +51,8 @@ /* add the cmd_handler_rf230 if TARGET_NOOLIBERRY. Other RF230 platforms can be added */ #elif CONTIKI_TARGET_NOOLIBERRY #define CMD_CONF_HANDLERS slip_radio_cmd_handler,cmd_handler_rf230 +#elif CONTIKI_TARGET_ECONOTAG +#define CMD_CONF_HANDLERS slip_radio_cmd_handler,cmd_handler_mc1322x #else #define CMD_CONF_HANDLERS slip_radio_cmd_handler #endif diff --git a/examples/ipv6/slip-radio/slip-radio-mc1322x.c b/examples/ipv6/slip-radio/slip-radio-mc1322x.c new file mode 100644 index 000000000..da518b11c --- /dev/null +++ b/examples/ipv6/slip-radio/slip-radio-mc1322x.c @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2011, 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. + * + * Sets up some commands for the MC1322x radio chip. + */ + +#include "contiki.h" +#include "mc1322x.h" +#include "cmd.h" +#include + +int +cmd_handler_mc1322x(const uint8_t *data, int len) +{ + if(data[0] == '!') { + if(data[1] == 'C') { + printf("mc1322x_cmd: setting channel: %d\n", data[2]); + set_channel(data[2]-11); + return 1; + } + } else if(data[0] == '?') { + if(data[1] == 'C') { + uint8_t buf[4]; + printf("mc1322x_cmd: getting channel: %d\n", data[2]); + buf[0] = '!'; + buf[1] = 'C'; + //Not implemented in MACA driver + buf[2] = 0; + cmd_send(buf, 3); + return 1; + } + } + return 0; +} diff --git a/examples/ipv6/slip-radio/slip-radio.c b/examples/ipv6/slip-radio/slip-radio.c index 879d1cfb5..d1b84a1ee 100644 --- a/examples/ipv6/slip-radio/slip-radio.c +++ b/examples/ipv6/slip-radio/slip-radio.c @@ -64,6 +64,8 @@ static int slip_radio_cmd_handler(const uint8_t *data, int len); int cmd_handler_cc2420(const uint8_t *data, int len); #elif CONTIKI_TARGET_NOOLIBERRY int cmd_handler_rf230(const uint8_t *data, int len); +#elif CONTIKI_TARGET_ECONOTAG +int cmd_handler_mc1322x(const uint8_t *data, int len); #endif /* CONTIKI_TARGET */ /*---------------------------------------------------------------------------*/