leds setup for WiSMote

This commit is contained in:
Niclas Finne 2011-09-22 16:46:07 +02:00
parent cd4be4927a
commit d1b22d40fa
3 changed files with 92 additions and 33 deletions

View File

@ -397,12 +397,6 @@ main(int argc, char **argv)
print_processes(autostart_processes);
autostart_start(autostart_processes);
// LED Low Init
P2DIR |= BIT4;//TODO
P8DIR |= BIT6;
P2OUT |= BIT4;
P8OUT |= BIT6;
/*
* This is the scheduler loop.
*/
@ -454,9 +448,6 @@ main(int argc, char **argv)
watchdog_start();
ENERGEST_OFF(ENERGEST_TYPE_LPM);
ENERGEST_ON(ENERGEST_TYPE_CPU);
/* P8OUT |= BIT6; */
/* P2OUT |= BIT4; */
}
}

View File

@ -0,0 +1,83 @@
/*
* 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.
*
*/
/**
* \file
* Leds arch specific file for the WiSMote platform
* \author
* Niclas Finne <nfi@sics.se>
* Joakim Eriksson <joakime@sics.se>
*/
#include "contiki.h"
#include "dev/leds.h"
/*---------------------------------------------------------------------------*/
void
leds_arch_init(void)
{
P2DIR |= BIT4;
P2OUT |= BIT4;
P5OUT |= BIT2;
P5DIR |= BIT2;
P8DIR |= BIT6;
P8OUT |= BIT6;
}
/*---------------------------------------------------------------------------*/
unsigned char
leds_arch_get(void)
{
return ((P2OUT & BIT4) ? 0 : LEDS_GREEN)
| ((P5OUT & BIT2) ? 0 : LEDS_YELLOW)
| ((P8OUT & BIT6) ? 0 : LEDS_RED);
}
/*---------------------------------------------------------------------------*/
void
leds_arch_set(unsigned char leds)
{
if(leds & LEDS_GREEN) {
P2OUT &= ~BIT4;
} else {
P2OUT |= BIT4;
}
if(leds & LEDS_YELLOW) {
P5OUT &= ~BIT2;
} else {
P5OUT |= BIT2;
}
if(leds & LEDS_RED) {
P8OUT &= ~BIT6;
} else {
P8OUT |= BIT6;
}
}
/*---------------------------------------------------------------------------*/

View File

@ -68,21 +68,6 @@ typedef unsigned long off_t;
/* the low-level radio driver */
#define NETSTACK_CONF_RADIO cc2520_driver
/* LED ports */
#define LEDS_PxDIR P2DIR
#define LEDS_PxOUT P2OUT
#define LEDS_CONF_RED 0x10
#define LEDS_CONF_GREEN 0 //0x20
#define LEDS_CONF_YELLOW 0 //0x40
/* DCO speed resynchronization for more robust UART, etc. */
#ifndef DCOSYNCH_CONF_ENABLED
#define DCOSYNCH_CONF_ENABLED 0
#endif /* DCOSYNCH_CONF_ENABLED */
#ifndef DCOSYNCH_CONF_PERIOD
#define DCOSYNCH_CONF_PERIOD 30
#endif /* DCOSYNCH_CONF_PERIOD */
#define ROM_ERASE_UNIT_SIZE 512
#define XMEM_ERASE_UNIT_SIZE (64*1024L)
@ -143,25 +128,25 @@ typedef unsigned long off_t;
#define CC2520_CONF_SYMBOL_LOOP_COUNT 2604 /* 326us msp430X @ 16MHz */
/* P1.0 - Input: FIFOP from CC2520 */
/* P1.6 - Input: FIFOP from CC2520 */
#define CC2520_FIFOP_PORT(type) P1##type
#define CC2520_FIFOP_PIN 6
/* P1.3 - Input: FIFO from CC2520 */
/* P1.5 - Input: FIFO from CC2520 */
#define CC2520_FIFO_PORT(type) P1##type
#define CC2520_FIFO_PIN 5
/* P1.4 - Input: CCA from CC2520 */
/* P1.7 - Input: CCA from CC2520 */
#define CC2520_CCA_PORT(type) P1##type
#define CC2520_CCA_PIN 7
/* P4.1 - Input: SFD from CC2520 */
/* P2.0 - Input: SFD from CC2520 */
#define CC2520_SFD_PORT(type) P2##type
#define CC2520_SFD_PIN 0
/* P4.2 - Output: SPI Chip Select (CS_N) */
/* P3.0 - Output: SPI Chip Select (CS_N) */
#define CC2520_CSN_PORT(type) P3##type
#define CC2520_CSN_PIN 0
/* P4.5 - Output: VREG_EN to CC2520 */
/* P4.3 - Output: VREG_EN to CC2520 */
#define CC2520_VREG_PORT(type) P4##type
#define CC2520_VREG_PIN 3
/* P4.6 - Output: RESET_N to CC2520 */
/* P4.4 - Output: RESET_N to CC2520 */
#define CC2520_RESET_PORT(type) P4##type
#define CC2520_RESET_PIN 4