39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51#include "drv_spi_master.h"
86#define LRIOT_TEMP_INT_VREF 1.35
87#define LRIOT_TEMP_VOLTAGE_AT_25C 0.7295
88#define LRIOT_TEMP_RESOLUTION 2047.0
89#define LRIOT_TEMP_NOMINAL 25
90#define LRIOT_TEMP_SLOPE -1.7
91#define LRIOT_TEMP_SLOPE_DIVIDEND 1000.0
97#define LRIOT_TCXO_DELAY_2SEC 0xFFFA
103#define LRIOT_GNSS_SCAN_MAX_SATELLITES 16
104#define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN 256
105#define LRIOT_GNSS_SCAN_DISPLAY_ALL 0
111#define LRIOT_WIFI_SCAN_MAX_RESULTS 12
112#define LRIOT_WIFI_SCAN_DISPLAY_ALL 0
118#define LRIOT_LORA_PKT_PAYLOAD_LEN 64
119#define LRIOT_LORA_DEFAULT_FREQ 868100000ul
128#define LRIOT_UPDATE_FIRMWARE 0
134#define LRIOT_TRANSCEIVER_FIRMWARE 0
135#define LRIOT_MODEM_FIRMWARE 1
136#define LRIOT_FIRMWARE_SELECTOR LRIOT_TRANSCEIVER_FIRMWARE
146#define LRIOT_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
147#define LRIOT_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
165#define LRIOT_MAP_MIKROBUS( cfg, mikrobus ) \
166 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
167 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
168 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
169 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
170 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
171 cfg.bsy = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
172 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
165#define LRIOT_MAP_MIKROBUS( cfg, mikrobus ) \ …
183#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
206#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
224#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
241#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
418#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
#define LRIOT_GNSS_SCAN_RESULTS_BUF_LEN
Definition lriot.h:104
#define LRIOT_WIFI_SCAN_MAX_RESULTS
LR IoT WiFi scan macros.
Definition lriot.h:111
#define LRIOT_GNSS_SCAN_MAX_SATELLITES
LR IoT GNSS scan macros.
Definition lriot.h:103
err_t lriot_init(lriot_t *ctx, lriot_cfg_t *cfg)
LR IoT initialization function.
err_t lriot_default_cfg(lriot_t *ctx)
LR IoT default configuration function.
void lriot_cfg_setup(lriot_cfg_t *cfg)
LR IoT configuration object setup function.
err_t lriot_get_chip_info(lriot_t *ctx, lriot_chip_info_t *info)
LR IoT get chip info function.
void lriot_set_rst_pin(lriot_t *ctx, uint8_t state)
LR IoT set rst pin function.
err_t lriot_get_gnss_scan_results(lriot_t *ctx, lriot_gnss_scan_results_t *results)
LR IoT get gnss scan results function.
err_t lriot_update_firmware(lriot_t *ctx)
LR IoT update firmware function.
err_t lriot_get_wifi_scan_results(lriot_t *ctx, lriot_wifi_scan_results_t *results)
LR IoT get wifi scan results function.
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 lriot_get_int_pin(lriot_t *ctx)
LR IoT get int pin function.
uint8_t lriot_get_busy_pin(lriot_t *ctx)
LR IoT get busy pin function.
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.
Bootloader driver types for LR1110.
Cryptographic engine driver types for LR1110.
GNSS scan driver types for LR1110.
GNSS scan driver types definition for LR1110 modem.
helper functions types definition for LR1110 modem
Modem lorawan types for LR1110.
uint8_t lr1110_modem_chip_eui_t[LR1110_MODEM_CHIP_EUI_LENGTH]
Chip EUI type.
Definition lr1110_modem_lorawan_types.h:543
uint8_t lr1110_modem_dev_eui_t[LR1110_MODEM_DEV_EUI_LENGTH]
Device EUI type.
Definition lr1110_modem_lorawan_types.h:553
uint8_t lr1110_modem_join_eui_t[LR1110_MODEM_JOIN_EUI_LENGTH]
Join EUI type.
Definition lr1110_modem_lorawan_types.h:548
System driver types for LR1110 modem.
Wi-Fi passive scan driver types definition for LR1110 modem.
lr1110_modem_wifi_mode_t
Wi-Fi capture mode.
Definition lr1110_modem_wifi_types.h:186
lr1110_modem_wifi_signal_type_scan_t
Wi-Fi signal type for passive scanning configuration.
Definition lr1110_modem_wifi_types.h:144
lr1110_modem_wifi_result_format_t
Definition lr1110_modem_wifi_types.h:199
lr1110_modem_wifi_channel_t
Wi-Fi Channels index.
Definition lr1110_modem_wifi_types.h:115
Radio driver types for LR1110.
System driver types for LR1110.
uint8_t lr1110_system_pin_t[LR1110_SYSTEM_PIN_LENGTH]
Fixed-length array to store a PIN.
Definition lr1110_system_types.h:92
uint8_t lr1110_system_uid_t[LR1110_SYSTEM_UID_LENGTH]
Fixed-length array to store a UID.
Definition lr1110_system_types.h:82
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
Type definitions for LR1110.
Wi-Fi passive scan driver types for LR1110.
lr1110_wifi_mode_t
Wi-Fi capture mode.
Definition lr1110_wifi_types.h:271
uint16_t lr1110_wifi_channel_mask_t
Type to store a Wi-Fi channel mask.
Definition lr1110_wifi_types.h:103
lr1110_wifi_signal_type_scan_t
Wi-Fi signal type for passive scanning configuration.
Definition lr1110_wifi_types.h:227
lriot_return_value_t
LR IoT Click return value data.
Definition lriot.h:321
@ LRIOT_OK
Definition lriot.h:322
@ LRIOT_ERROR
Definition lriot.h:323
This file contains SPI specific macros, functions, etc.
Detected SV structure.
Definition lr1110_gnss_types.h:264
Detected satellite structure.
Definition lr1110_modem_gnss_types.h:226
LR1110 modem version structure.
Definition lr1110_modem_lorawan_types.h:487
Cumulative timings.
Definition lr1110_modem_wifi_types.h:236
Extended full result structure.
Definition lr1110_modem_wifi_types.h:288
Version structure definition.
Definition lr1110_system_types.h:301
Cumulative timings.
Definition lr1110_wifi_types.h:292
Extended full result structure.
Definition lr1110_wifi_types.h:340
LR IoT Click configuration object.
Definition lriot.h:297
pin_name_t bsy
Definition lriot.h:306
spi_master_chip_select_polarity_t cs_polarity
Definition lriot.h:312
pin_name_t sck
Definition lriot.h:301
spi_master_mode_t spi_mode
Definition lriot.h:311
pin_name_t mosi
Definition lriot.h:300
uint32_t spi_speed
Definition lriot.h:310
pin_name_t int_pin
Definition lriot.h:307
pin_name_t miso
Definition lriot.h:299
pin_name_t rst
Definition lriot.h:305
pin_name_t cs
Definition lriot.h:302
LR IoT chip info object.
Definition lriot.h:240
lr1110_system_join_eui_t join_eui
Definition lriot.h:244
lr1110_system_pin_t pin
Definition lriot.h:245
lr1110_system_version_t version
Definition lriot.h:242
lr1110_system_uid_t uid
Definition lriot.h:243
LR IoT GNSS Scan results object.
Definition lriot.h:222
uint16_t scan_results_len
Definition lriot.h:230
uint8_t destination_id
Definition lriot.h:231
uint8_t num_satellites
Definition lriot.h:223
LR IoT LoRa packet status object.
Definition lriot.h:261
int8_t signal_rssi_pkt_in_dbm
Definition lriot.h:264
int8_t rssi_pkt_in_dbm
Definition lriot.h:262
int8_t snr_pkt_in_db
Definition lriot.h:263
LR IoT Click context object.
Definition lriot.h:273
spi_master_t spi
Definition lriot.h:284
pin_name_t bsy_pin_name
Definition lriot.h:281
digital_in_t int_pin
Definition lriot.h:279
lriot_wifi_settings_t wifi_settings
Definition lriot.h:288
digital_in_t bsy
Definition lriot.h:278
digital_out_t rst
Definition lriot.h:275
pin_name_t chip_select
Definition lriot.h:286
LR IoT WiFi Scan results object.
Definition lriot.h:205
lr1110_wifi_cumulative_timings_t timings
Definition lriot.h:208
uint8_t num_wifi_results
Definition lriot.h:213
LR IoT WiFi settings object.
Definition lriot.h:182
lr1110_wifi_signal_type_scan_t signal_type
Definition lriot.h:184
uint8_t nb_scan_per_channel
Definition lriot.h:194
lr1110_wifi_mode_t scan_mode
Definition lriot.h:186
bool abort_on_timeout
Definition lriot.h:196
uint8_t max_results
Definition lriot.h:193
lr1110_wifi_channel_mask_t channels
Definition lriot.h:185
uint16_t timeout_in_ms
Definition lriot.h:195