Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_spi_master.h"
72 #define LRIOT_TEMP_INT_VREF 1.35
73 #define LRIOT_TEMP_VOLTAGE_AT_25C 0.7295
74 #define LRIOT_TEMP_RESOLUTION 2047.0
75 #define LRIOT_TEMP_NOMINAL 25
76 #define LRIOT_TEMP_SLOPE -1.7
77 #define LRIOT_TEMP_SLOPE_DIVIDEND 1000.0
83 #define LRIOT_TCXO_DELAY_2SEC 0xFFFA
89 #define LRIOT_GNSS_SCAN_MAX_SATELLITES 16
90 #define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN 256
91 #define LRIOT_GNSS_SCAN_DISPLAY_ALL 0
97 #define LRIOT_WIFI_SCAN_MAX_RESULTS 12
98 #define LRIOT_WIFI_SCAN_DISPLAY_ALL 0
104 #define LRIOT_LORA_PKT_PAYLOAD_LEN 64
105 #define LRIOT_LORA_DEFAULT_FREQ 868100000ul
114 #define LRIOT_UPDATE_FIRMWARE 0
120 #define LRIOT_TRANSCEIVER_FIRMWARE 0
121 #define LRIOT_MODEM_FIRMWARE 1
122 #define LRIOT_FIRMWARE_SELECTOR LRIOT_TRANSCEIVER_FIRMWARE
132 #define LRIOT_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
133 #define LRIOT_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
151 #define LRIOT_MAP_MIKROBUS( cfg, mikrobus ) \
152 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
153 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
154 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
155 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
156 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
157 cfg.bsy = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
158 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
169 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
192 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
210 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
227 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
404 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
int8_t snr_pkt_in_db
Definition: lriot.h:249
pin_name_t cs
Definition: lriot.h:288
uint8_t num_satellites
Definition: lriot.h:209
GNSS scan driver types definition for LR1110 modem.
lr1110_wifi_signal_type_scan_t
Wi-Fi signal type for passive scanning configuration.
Definition: lr1110_wifi_types.h:227
pin_name_t bsy_pin_name
Definition: lriot.h:267
@ LRIOT_ERROR
Definition: lriot.h:309
int8_t rssi_pkt_in_dbm
Definition: lriot.h:248
Detected satellite structure.
Definition: lr1110_modem_gnss_types.h:226
spi_master_chip_select_polarity_t cs_polarity
Definition: lriot.h:298
Wi-Fi passive scan driver types definition for LR1110 modem.
Cumulative timings.
Definition: lr1110_modem_wifi_types.h:236
uint16_t timeout_in_ms
Definition: lriot.h:181
LR IoT Click context object.
Definition: lriot.h:259
pin_name_t rst
Definition: lriot.h:291
LR IoT GNSS Scan results object.
Definition: lriot.h:208
Extended full result structure.
Definition: lr1110_wifi_types.h:340
lr1110_wifi_signal_type_scan_t signal_type
Definition: lriot.h:170
err_t lriot_default_cfg(lriot_t *ctx)
LR IoT default configuration function.
Radio driver types for LR1110.
uint8_t destination_id
Definition: lriot.h:217
Modem lorawan types for LR1110.
This file contains SPI specific macros, functions, etc.
pin_name_t mosi
Definition: lriot.h:286
digital_in_t bsy
Definition: lriot.h:264
LR IoT WiFi Scan results object.
Definition: lriot.h:191
lr1110_system_version_t version
Definition: lriot.h:228
lr1110_modem_wifi_result_format_t
Definition: lr1110_modem_wifi_types.h:199
Bootloader driver types for LR1110.
LR1110 modem version structure.
Definition: lr1110_modem_lorawan_types.h:487
uint8_t lriot_get_int_pin(lriot_t *ctx)
LR IoT get int pin function.
uint8_t lr1110_system_join_eui_t[LR1110_SYSTEM_JOIN_EUI_LENGTH]
Fixed-length array to store a joinEUI.
Definition: lr1110_system_types.h:87
uint8_t lr1110_system_uid_t[LR1110_SYSTEM_UID_LENGTH]
Fixed-length array to store a UID.
Definition: lr1110_system_types.h:82
lr1110_wifi_mode_t
Wi-Fi capture mode.
Definition: lr1110_wifi_types.h:271
digital_out_t rst
Definition: lriot.h:261
@ LRIOT_OK
Definition: lriot.h:308
uint8_t nb_scan_per_channel
Definition: lriot.h:180
LR IoT LoRa packet status object.
Definition: lriot.h:247
uint8_t lriot_get_busy_pin(lriot_t *ctx)
LR IoT get busy pin function.
LR IoT WiFi settings object.
Definition: lriot.h:168
pin_name_t bsy
Definition: lriot.h:292
uint8_t max_results
Definition: lriot.h:179
lr1110_modem_wifi_mode_t
Wi-Fi capture mode.
Definition: lr1110_modem_wifi_types.h:186
err_t lriot_get_wifi_scan_results(lriot_t *ctx, lriot_wifi_scan_results_t *results)
LR IoT get wifi scan results function.
uint16_t scan_results_len
Definition: lriot.h:216
int8_t signal_rssi_pkt_in_dbm
Definition: lriot.h:250
LR IoT Click configuration object.
Definition: lriot.h:283
Detected SV structure.
Definition: lr1110_gnss_types.h:264
Extended full result structure.
Definition: lr1110_modem_wifi_types.h:288
digital_in_t int_pin
Definition: lriot.h:265
#define LRIOT_GNSS_SCAN_MAX_SATELLITES
LR IoT GNSS scan macros.
Definition: lriot.h:89
pin_name_t miso
Definition: lriot.h:285
lr1110_wifi_cumulative_timings_t timings
Definition: lriot.h:194
err_t lriot_send_lora_message(lriot_t *ctx, uint8_t *message)
LR IoT send lora message function.
err_t lriot_get_temperature(lriot_t *ctx, float *temperature)
LR IoT get temperature function.
uint8_t lr1110_modem_chip_eui_t[LR1110_MODEM_CHIP_EUI_LENGTH]
Chip EUI type.
Definition: lr1110_modem_lorawan_types.h:543
err_t lriot_init(lriot_t *ctx, lriot_cfg_t *cfg)
LR IoT initialization function.
lr1110_wifi_mode_t scan_mode
Definition: lriot.h:172
System driver types for LR1110 modem.
#define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN
Definition: lriot.h:90
uint32_t spi_speed
Definition: lriot.h:296
uint16_t lr1110_wifi_channel_mask_t
Type to store a Wi-Fi channel mask.
Definition: lr1110_wifi_types.h:103
spi_master_t spi
Definition: lriot.h:270
lr1110_modem_wifi_signal_type_scan_t
Wi-Fi signal type for passive scanning configuration.
Definition: lr1110_modem_wifi_types.h:144
bool abort_on_timeout
Definition: lriot.h:182
LR IoT chip info object.
Definition: lriot.h:226
uint8_t num_wifi_results
Definition: lriot.h:199
lr1110_system_join_eui_t join_eui
Definition: lriot.h:230
uint8_t lr1110_modem_dev_eui_t[LR1110_MODEM_DEV_EUI_LENGTH]
Device EUI type.
Definition: lr1110_modem_lorawan_types.h:553
Type definitions for LR1110.
err_t lriot_read_lora_message(lriot_t *ctx, lriot_lora_packet_status_t *pkt_status, uint8_t *message)
LR IoT read lora message function.
pin_name_t sck
Definition: lriot.h:287
#define LRIOT_WIFI_SCAN_MAX_RESULTS
LR IoT WiFi scan macros.
Definition: lriot.h:97
pin_name_t chip_select
Definition: lriot.h:272
lr1110_system_uid_t uid
Definition: lriot.h:229
err_t lriot_get_gnss_scan_results(lriot_t *ctx, lriot_gnss_scan_results_t *results)
LR IoT get gnss scan results function.
pin_name_t int_pin
Definition: lriot.h:293
GNSS scan driver types for LR1110.
lriot_return_value_t
LR IoT Click return value data.
Definition: lriot.h:307
Version structure definition.
Definition: lr1110_system_types.h:301
void lriot_set_rst_pin(lriot_t *ctx, uint8_t state)
LR IoT set rst pin function.
err_t lriot_update_firmware(lriot_t *ctx)
LR IoT update firmware function.
lr1110_modem_wifi_channel_t
Wi-Fi Channels index.
Definition: lr1110_modem_wifi_types.h:115
void lriot_cfg_setup(lriot_cfg_t *cfg)
LR IoT configuration object setup function.
spi_master_mode_t spi_mode
Definition: lriot.h:297
lr1110_wifi_channel_mask_t channels
Definition: lriot.h:171
err_t lriot_get_chip_info(lriot_t *ctx, lriot_chip_info_t *info)
LR IoT get chip info function.
uint8_t lr1110_system_pin_t[LR1110_SYSTEM_PIN_LENGTH]
Fixed-length array to store a PIN.
Definition: lr1110_system_types.h:92
Wi-Fi passive scan driver types for LR1110.
Cumulative timings.
Definition: lr1110_wifi_types.h:292
lriot_wifi_settings_t wifi_settings
Definition: lriot.h:274
lr1110_system_pin_t pin
Definition: lriot.h:231
helper functions types definition for LR1110 modem
Cryptographic engine driver types for LR1110.
System driver types for LR1110.
uint8_t lr1110_modem_join_eui_t[LR1110_MODEM_JOIN_EUI_LENGTH]
Join EUI type.
Definition: lr1110_modem_lorawan_types.h:548