1 /*
2  * Author: Yevgeniy Kiveisha <yevgeniy.kiveisha@intel.com>
3  * Copyright (c) 2014 Intel Corporation.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
25 /**
26  * @brief NRF8001 Bluetooth Low Energy library
27  * @defgroup nrf8001 libupm-nrf8001
28  * @ingroup adafruit wifi analog gpio spi
29  */
30 /**
31  * @library nrf8001
32  * @sensor nrf8001
33  * @comname NRF8001 Bluetooth Low Energy
34  * @type wifi
35  * @man adafruit
36  * @web https://learn.adafruit.com/getting-started-with-the-nrf8001-bluefruit-le-breakout/introduction
37  * @con spi gpio analog
38  *
39  * @brief NRF8001 Bluetooth Low Energy library
40  *
41  * These files define the NRF8001 interface for lib-nrf8001. Interaction
42  * with this device is done through the ACI routines included with the library.
43  * You can use the nRF UART app in Apple* App Store and Google* Play* on
44  * Samsung* Galaxy S*4 running Android* 4.3 to interact with a microcontroller running
45  * the 'hello world' example.
46  *
47  * @image html nrf8001.jpg
48  * @snippet nrf8001-helloworld.cxx Interesting
49  * @snippet nrf8001-broadcast.cxx Interesting
50  */
51 #pragma once
52 
53 #include <string>
54 #include <mraa/aio.h>
55 #include <mraa/gpio.h>
56 #include <mraa/spi.h>
57 
58 #include <lib_aci.h>
59 #include <aci_setup.h>
60 
61 void init_local_interfaces (aci_state_t* aci, uint8_t reqn, uint8_t rdyn, uint8_t rst);
62 void close_local_interfaces (aci_state_t* aci);
63