sx127x_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016 Unwired Devices <info@unwds.com>
3  * 2017 Inria Chile
4  * 2017 Inria
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser
7  * General Public License v2.1. See the file LICENSE in the top level
8  * directory for more details.
9  */
10 
22 #ifndef SX127X_INTERNAL_H
23 #define SX127X_INTERNAL_H
24 
25 #include <inttypes.h>
26 #include "sx127x.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
36 #if defined(MODULE_SX1272)
37 #define SX127X_RSSI_OFFSET (-139)
38 #else /* MODULE_SX1276 */
39 #define SX127X_RSSI_OFFSET_LF (-164)
40 #define SX127X_RSSI_OFFSET_HF (-157)
41 #endif
42 
48 #if defined(MODULE_SX1272)
49 #define SX127X_POR_ACTIVE_LOGIC_LEVEL (1)
50 #else /* MODULE_SX1276 */
51 #define SX127X_POR_ACTIVE_LOGIC_LEVEL (0)
52 #endif
53 
63 int sx127x_check_version(const sx127x_t *dev);
64 
72 void sx127x_reg_write(const sx127x_t *dev, uint8_t addr, uint8_t data);
73 
82 uint8_t sx127x_reg_read(const sx127x_t *dev, uint8_t addr);
83 
92 void sx127x_reg_write_burst(const sx127x_t *dev, uint8_t addr, uint8_t *buffer,
93  uint8_t size);
94 
103 void sx127x_reg_read_burst(const sx127x_t *dev, uint8_t addr, uint8_t *buffer,
104  uint8_t size);
105 
113 void sx127x_write_fifo(const sx127x_t *dev, uint8_t *buffer, uint8_t size);
114 
122 void sx127x_read_fifo(const sx127x_t *dev, uint8_t *buffer, uint8_t size);
123 
131 int16_t sx127x_read_rssi(const sx127x_t *dev);
132 
133 #if defined(MODULE_SX1276)
134 
142 void sx1276_rx_chain_calibration(sx127x_t *dev);
143 #endif
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif /* SX127X_INTERNAL_H */
150 
sx127x_read_fifo
void sx127x_read_fifo(const sx127x_t *dev, uint8_t *buffer, uint8_t size)
Reads the contents of the SX1276 FIFO.
sx127x_check_version
int sx127x_check_version(const sx127x_t *dev)
Check the transceiver version.
sx127x_reg_read
uint8_t sx127x_reg_read(const sx127x_t *dev, uint8_t addr)
Reads the radio register at specified address.
sx127x_write_fifo
void sx127x_write_fifo(const sx127x_t *dev, uint8_t *buffer, uint8_t size)
Writes the buffer contents to the SX1276 FIFO.
sx127x_read_rssi
int16_t sx127x_read_rssi(const sx127x_t *dev)
Reads the current RSSI value.
sx127x_t
SX127X device descriptor.
Definition: sx127x.h:241
sx127x_reg_write_burst
void sx127x_reg_write_burst(const sx127x_t *dev, uint8_t addr, uint8_t *buffer, uint8_t size)
Writes multiple radio registers starting at address (burst-mode).
sx127x.h
Public interface for SX127X driver.
sx127x_reg_read_burst
void sx127x_reg_read_burst(const sx127x_t *dev, uint8_t addr, uint8_t *buffer, uint8_t size)
Reads multiple radio registers starting at address.
sx127x_reg_write
void sx127x_reg_write(const sx127x_t *dev, uint8_t addr, uint8_t data)
Writes the radio register at specified address.
inttypes.h
Adds include for missing inttype definitions.