Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
antenna.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Thingsquare, http://www.thingsquare.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-antenna
36
* @{
37
*
38
* Driver for the OpenMote-B RF switch. The 2.4 GHz SMA connector can be
39
* connected to either:
40
* - CC2538 radio, configured through antenna_select_cc2538()
41
* - AT86RF215 radio, configured through antenna_select_at86rf215()
42
*
43
* Note that the sub-GHz SMA connector on the board is always connected to
44
* the AT86RF215 radio.
45
* @{
46
*
47
* \file
48
* Driver implementation for the OpenMote-B antenna switch
49
*/
50
/*---------------------------------------------------------------------------*/
51
#include "contiki.h"
52
#include "
dev/gpio.h
"
53
#include "
antenna.h
"
54
/*---------------------------------------------------------------------------*/
55
void
56
antenna_init
(
void
)
57
{
58
/* Configure the GPIO pins as output */
59
GPIO_SOFTWARE_CONTROL
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_CC2538);
60
GPIO_SOFTWARE_CONTROL
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_AT86RF215);
61
GPIO_SET_OUTPUT
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_CC2538);
62
GPIO_SET_OUTPUT
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_AT86RF215);
63
}
64
/*---------------------------------------------------------------------------*/
65
void
66
antenna_select_cc2538
(
void
)
67
{
68
GPIO_SET_PIN
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_CC2538);
69
GPIO_CLR_PIN
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_AT86RF215);
70
}
71
/*---------------------------------------------------------------------------*/
72
void
73
antenna_select_at86rf215
(
void
)
74
{
75
GPIO_SET_PIN
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_AT86RF215);
76
GPIO_CLR_PIN
(ANTENNA_BSP_RADIO_BASE, ANTENNA_BSP_RADIO_24GHZ_CC2538);
77
}
78
/*---------------------------------------------------------------------------*/
79
/**
80
* @}
81
* @}
82
*/
antenna.h
Header for the OpenMote-B antenna switch.
gpio.h
Header file with register and macro declarations for the cc2538 GPIO module.
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_SET_PIN
#define GPIO_SET_PIN(PORT_BASE, PIN_MASK)
Set pins with PIN_MASK of port with PORT_BASE high.
Definition
gpio.h:106
GPIO_CLR_PIN
#define GPIO_CLR_PIN(PORT_BASE, PIN_MASK)
Set pins with PIN_MASK of port with PORT_BASE low.
Definition
gpio.h:113
GPIO_SET_OUTPUT
#define GPIO_SET_OUTPUT(PORT_BASE, PIN_MASK)
Set pins with PIN_MASK of port with PORT_BASE to output.
Definition
gpio.h:85
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
arch
platform
openmote
openmote-b
antenna.c
Generated on
for Contiki-NG by
1.17.0