Go to the documentation of this file.
35 #include "mikrosdk_version.h"
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_spi_master.h"
82 #define LRIOT_TEMP_INT_VREF 1.35
83 #define LRIOT_TEMP_VOLTAGE_AT_25C 0.7295
84 #define LRIOT_TEMP_RESOLUTION 2047.0
85 #define LRIOT_TEMP_NOMINAL 25
86 #define LRIOT_TEMP_SLOPE -1.7
87 #define LRIOT_TEMP_SLOPE_DIVIDEND 1000.0
93 #define LRIOT_TCXO_DELAY_2SEC 0xFFFA
99 #define LRIOT_GNSS_SCAN_MAX_SATELLITES 16
100 #define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN 256
101 #define LRIOT_GNSS_SCAN_DISPLAY_ALL 0
107 #define LRIOT_WIFI_SCAN_MAX_RESULTS 12
108 #define LRIOT_WIFI_SCAN_DISPLAY_ALL 0
114 #define LRIOT_LORA_PKT_PAYLOAD_LEN 64
115 #define LRIOT_LORA_DEFAULT_FREQ 868100000ul
124 #define LRIOT_UPDATE_FIRMWARE 0
130 #define LRIOT_TRANSCEIVER_FIRMWARE 0
131 #define LRIOT_MODEM_FIRMWARE 1
132 #define LRIOT_FIRMWARE_SELECTOR LRIOT_TRANSCEIVER_FIRMWARE
142 #define LRIOT_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
143 #define LRIOT_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
161 #define LRIOT_MAP_MIKROBUS( cfg, mikrobus ) \
162 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
163 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
164 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
165 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
166 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
167 cfg.bsy = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
168 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
179 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
202 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
220 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
237 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
414 #if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
int8_t snr_pkt_in_db
Definition: lriot.h:259
pin_name_t cs
Definition: lriot.h:298
uint8_t num_satellites
Definition: lriot.h:219
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:277
@ LRIOT_ERROR
Definition: lriot.h:319
int8_t rssi_pkt_in_dbm
Definition: lriot.h:258
Detected satellite structure.
Definition: lr1110_modem_gnss_types.h:226
spi_master_chip_select_polarity_t cs_polarity
Definition: lriot.h:308
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:191
LR IoT Click context object.
Definition: lriot.h:269
pin_name_t rst
Definition: lriot.h:301
LR IoT GNSS Scan results object.
Definition: lriot.h:218
Extended full result structure.
Definition: lr1110_wifi_types.h:340
lr1110_wifi_signal_type_scan_t signal_type
Definition: lriot.h:180
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:227
Modem lorawan types for LR1110.
This file contains SPI specific macros, functions, etc.
pin_name_t mosi
Definition: lriot.h:296
digital_in_t bsy
Definition: lriot.h:274
LR IoT WiFi Scan results object.
Definition: lriot.h:201
lr1110_system_version_t version
Definition: lriot.h:238
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:271
@ LRIOT_OK
Definition: lriot.h:318
uint8_t nb_scan_per_channel
Definition: lriot.h:190
LR IoT LoRa packet status object.
Definition: lriot.h:257
uint8_t lriot_get_busy_pin(lriot_t *ctx)
LR IoT get busy pin function.
LR IoT WiFi settings object.
Definition: lriot.h:178
pin_name_t bsy
Definition: lriot.h:302
uint8_t max_results
Definition: lriot.h:189
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:226
int8_t signal_rssi_pkt_in_dbm
Definition: lriot.h:260
LR IoT Click configuration object.
Definition: lriot.h:293
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:275
#define LRIOT_GNSS_SCAN_MAX_SATELLITES
LR IoT GNSS scan macros.
Definition: lriot.h:99
pin_name_t miso
Definition: lriot.h:295
lr1110_wifi_cumulative_timings_t timings
Definition: lriot.h:204
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:182
System driver types for LR1110 modem.
#define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN
Definition: lriot.h:100
uint32_t spi_speed
Definition: lriot.h:306
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:280
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:192
LR IoT chip info object.
Definition: lriot.h:236
uint8_t num_wifi_results
Definition: lriot.h:209
lr1110_system_join_eui_t join_eui
Definition: lriot.h:240
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:297
#define LRIOT_WIFI_SCAN_MAX_RESULTS
LR IoT WiFi scan macros.
Definition: lriot.h:107
pin_name_t chip_select
Definition: lriot.h:282
lr1110_system_uid_t uid
Definition: lriot.h:239
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:303
GNSS scan driver types for LR1110.
lriot_return_value_t
LR IoT Click return value data.
Definition: lriot.h:317
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:307
lr1110_wifi_channel_mask_t channels
Definition: lriot.h:181
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:284
lr1110_system_pin_t pin
Definition: lriot.h:241
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