Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
board.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. Neither the name of the copyright holder nor the names of its
14
* contributors may be used to endorse or promote products derived
15
* from this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28
* OF THE POSSIBILITY OF SUCH DAMAGE.
29
*
30
* This file is part of the Contiki operating system.
31
*
32
*/
33
/*---------------------------------------------------------------------------*/
34
/**
35
* \addtogroup openmote-b
36
* @{
37
*
38
* \file
39
* Board-initialisation for the OpenMote-B platform
40
*/
41
/*---------------------------------------------------------------------------*/
42
#include "contiki.h"
43
#include "
antenna.h
"
44
#include "
dev/gpio.h
"
45
#include "
dev/ioc.h
"
46
#include <stdint.h>
47
#include <string.h>
48
/*---------------------------------------------------------------------------*/
49
/* Log configuration */
50
#include "
sys/log.h
"
51
#define LOG_MODULE "OpenMote-B"
52
#define LOG_LEVEL LOG_LEVEL_MAIN
53
/*---------------------------------------------------------------------------*/
54
static
void
55
configure_unused_pins(
void
)
56
{
57
/* FIXME */
58
}
59
/*---------------------------------------------------------------------------*/
60
void
61
board_init
()
62
{
63
antenna_init
();
64
65
#if OPENMOTEB_USE_ATMEL_RADIO
66
LOG_INFO(
"Atmel radio connected to the 2.4 GHz antenna connector\n"
);
67
antenna_select_at86rf215
();
68
#else
69
LOG_INFO(
"TI radio connected to the 2.4 GHz antenna connector\n"
);
70
antenna_select_cc2538
();
71
#endif
72
73
configure_unused_pins();
74
75
/* configure bootloader pin as input */
76
GPIO_SOFTWARE_CONTROL
(
GPIO_PORT_TO_BASE
(
GPIO_A_NUM
),
77
GPIO_PIN_MASK
(
FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
));
78
GPIO_SET_INPUT
(
GPIO_PORT_TO_BASE
(
GPIO_A_NUM
),
79
GPIO_PIN_MASK
(
FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
));
80
ioc_set_over
(
GPIO_A_NUM
,
81
FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
,
82
IOC_OVERRIDE_ANA
);
83
}
84
/*---------------------------------------------------------------------------*/
85
/**
86
* @}
87
*/
antenna.h
Header for the OpenMote-B antenna switch.
gpio.h
Header file with register and macro declarations for the cc2538 GPIO module.
GPIO_PIN_MASK
#define GPIO_PIN_MASK(PIN)
Converts a pin number to a pin mask.
Definition
gpio.h:320
GPIO_SOFTWARE_CONTROL
#define GPIO_SOFTWARE_CONTROL(PORT_BASE, PIN_MASK)
Configure the pin to be software controlled with PIN_MASK of port with PORT_BASE.
Definition
gpio.h:258
GPIO_A_NUM
#define GPIO_A_NUM
GPIO_A: 0.
Definition
gpio.h:64
GPIO_PORT_TO_BASE
#define GPIO_PORT_TO_BASE(PORT)
Converts a port number to the port base address.
Definition
gpio.h:328
GPIO_SET_INPUT
#define GPIO_SET_INPUT(PORT_BASE, PIN_MASK)
Set pins with PIN_MASK of port with PORT_BASE to input.
Definition
gpio.h:78
ioc_set_over
void ioc_set_over(uint8_t port, uint8_t pin, uint8_t over)
Set Port:Pin override function.
Definition
ioc.c:54
IOC_OVERRIDE_ANA
#define IOC_OVERRIDE_ANA
Analog Enable.
Definition
ioc.h:225
FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
#define FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN
Pin PA_3 (Select button) activates the boot loader.
Definition
contiki-conf.h:63
board_init
void board_init()
Board specific iniatialisation.
Definition
board.c:80
antenna_init
void antenna_init(void)
Initialize the antenna switch.
Definition
antenna.c:56
antenna_select_at86rf215
void antenna_select_at86rf215(void)
Connect the AT86RF215 radio to the 2.4 GHz SMA connector.
Definition
antenna.c:73
antenna_select_cc2538
void antenna_select_cc2538(void)
Connect the CC2538 radio to the 2.4 GHz SMA connector.
Definition
antenna.c:66
ioc.h
Header file with declarations for the I/O Control module.
log.h
Header file for the logging system.
arch
platform
openmote
openmote-b
board.c
Generated on
for Contiki-NG by
1.17.0