1 /*!
2  * \file      lr1110-board.h
3  *
4  * \brief     Target board LR1110 driver implementation
5  *
6  * \copyright Revised BSD License, see section \ref LICENSE.
7  *
8  * \code
9  *                ______                              _
10  *               / _____)             _              | |
11  *              ( (____  _____ ____ _| |_ _____  ____| |__
12  *               \____ \| ___ |    (_   _) ___ |/ ___)  _ \
13  *               _____) ) ____| | | || |_| ____( (___| | | |
14  *              (______/|_____)_|_|_| \__)_____)\____)_| |_|
15  *              (C)2013-2017 Semtech
16  *
17  * \endcode
18  *
19  * \author    Miguel Luis ( Semtech )
20  *
21  * \author    Gregory Cristian ( Semtech )
22  */
23 #ifndef __LR1110_BOARD_H__
24 #define __LR1110_BOARD_H__
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #include <stdint.h>
31 #include <stdbool.h>
32 #include "lr1110.h"
33 
34 /*!
35  * \brief Initializes the radio I/Os pins interface
36  */
37 void lr1110_board_init_io( const void* context );
38 
39 /*!
40  * \brief De-initializes the radio I/Os pins interface.
41  *
42  * \remark Useful when going in MCU low power modes
43  */
44 void lr1110_board_deinit_io( const void* context );
45 
46 /*!
47  * \brief Initializes the radio debug pins.
48  */
49 void lr1110_board_init_dbg_io( const void* context );
50 
51 /*!
52  * \brief Sets the radio output power.
53  *
54  * \param [IN] power Sets the RF output power
55  */
56 void lr1110_board_set_rf_tx_power( const void* context, int8_t power );
57 
58 /*!
59  * \brief Gets the Defines the time required for the TCXO to wakeup [ms].
60  *
61  * \retval time Board TCXO wakeup time in ms.
62  */
63 uint32_t lr1110_board_get_tcxo_wakeup_time( const void* context );
64 
65 /*!
66  * \brief Gets current state of DIO1 pin state.
67  *
68  * \retval state DIO1 pin current state.
69  */
70 uint32_t lr1110_get_dio_1_pin_state( const void* context );
71 
72 /*!
73  * \brief Initializes the radio driver
74  */
75 void lr1110_board_init( const void* context, lr1110_dio_irq_handler dio_irq );
76 
77 #ifdef __cplusplus
78 }
79 #endif
80 
81 #endif  // __LR1110_BOARD_H__
82