lriot  2.1.0.0
lr1110_wifi.h
Go to the documentation of this file.
1 
35 #ifndef LR1110_WIFI_H
36 #define LR1110_WIFI_H
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /*
43  * -----------------------------------------------------------------------------
44  * --- DEPENDENCIES ------------------------------------------------------------
45  */
46 
49 #include "common/lr1110_types.h"
50 #include "common/lr1110_hal.h"
51 
52 /*
53  * -----------------------------------------------------------------------------
54  * --- PUBLIC MACROS -----------------------------------------------------------
55  */
56 
57 /*
58  * -----------------------------------------------------------------------------
59  * --- PUBLIC CONSTANTS --------------------------------------------------------
60  */
61 
62 #ifndef LR1110_WIFI_N_RESULTS_MAX_PER_CHUNK
63 
77 #define LR1110_WIFI_N_RESULTS_MAX_PER_CHUNK LR1110_WIFI_MAX_RESULTS
78 #endif // LR1110_WIFI_N_RESULTS_MAX_PER_CHUNK
79 
80 /*
81  * -----------------------------------------------------------------------------
82  * --- PUBLIC TYPES ------------------------------------------------------------
83  */
84 
85 /*
86  * -----------------------------------------------------------------------------
87  * --- PUBLIC FUNCTIONS PROTOTYPES ---------------------------------------------
88  */
89 
121  uint8_t max_results, uint8_t nb_scan_per_channel, uint16_t timeout_in_ms, bool abort_on_timeout );
122 
143  uint8_t nb_max_results, uint8_t nb_scan_per_channel,
144  uint16_t timeout_in_ms, bool abort_on_timeout );
145 
211  lr1110_wifi_channel_mask_t channels, lr1110_wifi_mode_t scan_mode, uint8_t max_results,
212  uint16_t timeout_per_channel_ms, uint16_t timeout_per_scan_ms );
213 
250  uint8_t nb_max_results, uint16_t timeout_per_channel_ms,
251  uint16_t timeout_per_scan_ms );
252 
266 err_t lr1110_wifi_get_nb_results( lriot_t *ctx, uint8_t* nb_results );
267 
305 err_t lr1110_wifi_read_basic_complete_results( lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results,
307 
345 err_t lr1110_wifi_read_basic_mac_type_channel_results( lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results,
347 
385 err_t lr1110_wifi_read_extended_full_results( lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results,
387 
396 
406 
415 err_t lr1110_wifi_get_nb_country_code_results( lriot_t *ctx, uint8_t* nb_country_code_results );
416 
433 err_t lr1110_wifi_read_country_code_results( lriot_t *ctx, uint8_t start_result_index, uint8_t nb_country_results,
434  lr1110_wifi_country_code_t* country_code_results );
435 
446 err_t lr1110_wifi_cfg_timestamp_ap_phone( lriot_t *ctx, uint32_t timestamp_in_s );
447 
457 
481  bool* rssi_validity, uint8_t* mac_origin_estimation );
482 
493 
517  lr1110_wifi_frame_sub_type_t* frame_sub_type, bool* to_ds, bool* from_ds );
518 
528 void lr1110_wifi_parse_data_rate_info( lr1110_wifi_datarate_info_byte_t data_rate_info, uint8_t* wifi_signal_type,
529  uint8_t* wifi_data_rate );
530 
545 
554 
563 bool lr1110_wifi_is_well_formed_utf8_byte_sequence( uint8_t* buffer, uint8_t length );
564 
565 #ifdef __cplusplus
566 }
567 #endif
568 
569 #endif // LR1110_WIFI_H
570 
571 /* --- EOF ------------------------------------------------------------------ */
lr1110_wifi_extract_channel_from_info_byte
uint8_t lr1110_wifi_extract_channel_from_info_byte(lr1110_wifi_channel_info_byte_t channel_info)
Helper method to retrieve channel from channel info byte.
lr1110_wifi_signal_type_scan_t
lr1110_wifi_signal_type_scan_t
Wi-Fi signal type for passive scanning configuration.
Definition: lr1110_wifi_types.h:227
lr1110_wifi_get_nb_results_max_per_chunk
uint8_t lr1110_wifi_get_nb_results_max_per_chunk(void)
Return the maximal number of results to read per SPI communication.
lr1110_wifi_channel_info_byte_t
uint8_t lr1110_wifi_channel_info_byte_t
Type to store a Wi-Fi channel info byte.
Definition: lr1110_wifi_types.h:108
lr1110_wifi_basic_mac_type_channel_result_s
Basic MAC, type, channel result structure.
Definition: lr1110_wifi_types.h:321
lr1110_wifi_scan
err_t lr1110_wifi_scan(lriot_t *ctx, lr1110_wifi_signal_type_scan_t signal_type, lr1110_wifi_channel_mask_t channels, lr1110_wifi_mode_t scan_mode, uint8_t max_results, uint8_t nb_scan_per_channel, uint16_t timeout_in_ms, bool abort_on_timeout)
Start a Wi-Fi passive scan operation.
lr1110_wifi_parse_data_rate_info
void lr1110_wifi_parse_data_rate_info(lr1110_wifi_datarate_info_byte_t data_rate_info, uint8_t *wifi_signal_type, uint8_t *wifi_data_rate)
Retrieve the data rate information from data rate info byte.
lriot_t
LR IoT Click context object.
Definition: lriot.h:273
lr1110_wifi_frame_sub_type_t
uint8_t lr1110_wifi_frame_sub_type_t
Type to store a Wi-Fi frame sub_type.
Definition: lr1110_wifi_types.h:123
lr1110_wifi_extended_full_result_t
Extended full result structure.
Definition: lr1110_wifi_types.h:340
lr1110_wifi_cfg_timestamp_ap_phone
err_t lr1110_wifi_cfg_timestamp_ap_phone(lriot_t *ctx, uint32_t timestamp_in_s)
Configure the timestamp used to discriminate mobile access points from gateways.
lr1110_wifi_extract_signal_type_from_data_rate_info
uint8_t lr1110_wifi_extract_signal_type_from_data_rate_info(lr1110_wifi_datarate_info_byte_t data_rate_info)
Helper method to retrieve the signal type from data rate info byte.
lr1110_wifi_search_country_code_time_limit
err_t lr1110_wifi_search_country_code_time_limit(lriot_t *ctx, lr1110_wifi_channel_mask_t channels_mask, uint8_t nb_max_results, uint16_t timeout_per_channel_ms, uint16_t timeout_per_scan_ms)
Start a Wi-Fi passive scan for country codes extraction with duration stop conditions.
lr1110_wifi_mode_t
lr1110_wifi_mode_t
Wi-Fi capture mode.
Definition: lr1110_wifi_types.h:271
lr1110_wifi_read_version
err_t lr1110_wifi_read_version(lriot_t *ctx, lr1110_wifi_version_t *wifi_version)
Get the internal wifi firmware version.
lr1110_hal.h
Hardware Abstraction Layer (HAL) interface for LR1110.
lr1110_wifi_scan_time_limit
err_t lr1110_wifi_scan_time_limit(lriot_t *ctx, lr1110_wifi_signal_type_scan_t signal_type, lr1110_wifi_channel_mask_t channels, lr1110_wifi_mode_t scan_mode, uint8_t max_results, uint16_t timeout_per_channel_ms, uint16_t timeout_per_scan_ms)
Start a Wi-Fi passive scan operation with duration stop conditions.
lr1110_wifi_country_code_s
Wi-Fi country code structure.
Definition: lr1110_wifi_types.h:380
lr1110_wifi_basic_complete_result_s
Basic complete result structure.
Definition: lr1110_wifi_types.h:305
lr1110_wifi_read_basic_complete_results
err_t lr1110_wifi_read_basic_complete_results(lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results, lr1110_wifi_basic_complete_result_t *results)
Read basic complete results.
lr1110_wifi_search_country_code
err_t lr1110_wifi_search_country_code(lriot_t *ctx, lr1110_wifi_channel_mask_t channels_mask, uint8_t nb_max_results, uint8_t nb_scan_per_channel, uint16_t timeout_in_ms, bool abort_on_timeout)
Start a Wi-Fi passive scan for country codes extraction.
lr1110_wifi_version_s
Wi-Fi firmware version.
Definition: lr1110_wifi_types.h:391
lr1110_wifi_channel_mask_t
uint16_t lr1110_wifi_channel_mask_t
Type to store a Wi-Fi channel mask.
Definition: lr1110_wifi_types.h:103
lr1110_wifi_datarate_info_byte_t
uint8_t lr1110_wifi_datarate_info_byte_t
Type to store a Wi-Fi datarate info byte.
Definition: lr1110_wifi_types.h:113
lr1110_types.h
Type definitions for LR1110.
lr1110_wifi_get_nb_results
err_t lr1110_wifi_get_nb_results(lriot_t *ctx, uint8_t *nb_results)
Returns the number of results currently available in LR1110.
lr1110_wifi_parse_channel_info
void lr1110_wifi_parse_channel_info(lr1110_wifi_channel_info_byte_t channel_info, uint8_t *channel, bool *rssi_validity, uint8_t *mac_origin_estimation)
Retreive channel information from channel info byte.
lr1110_wifi_is_well_formed_utf8_byte_sequence
bool lr1110_wifi_is_well_formed_utf8_byte_sequence(uint8_t *buffer, uint8_t length)
Helper function to check if a buffer is a well-formed UTF-8 byte sequence.
lr1110_wifi_reset_cumulative_timing
err_t lr1110_wifi_reset_cumulative_timing(lriot_t *ctx)
Reset the internal counters of cumulative timing.
lr1110_regmem.h
Register/memory driver definition for LR1110.
lr1110_wifi_read_cumulative_timing
err_t lr1110_wifi_read_cumulative_timing(lriot_t *ctx, lr1110_wifi_cumulative_timings_t *timing)
Read the internal counters of cumulative timing.
lr1110_wifi_read_country_code_results
err_t lr1110_wifi_read_country_code_results(lriot_t *ctx, uint8_t start_result_index, uint8_t nb_country_results, lr1110_wifi_country_code_t *country_code_results)
Read country code results.
lr1110_wifi_parse_frame_type_info
void lr1110_wifi_parse_frame_type_info(lr1110_wifi_frame_type_info_byte_t frame_type_info, uint8_t *frame_type, lr1110_wifi_frame_sub_type_t *frame_sub_type, bool *to_ds, bool *from_ds)
Retrieve the Frame Type, Frame Subtype, To/From DS fields from a frame info byte.
lr1110_wifi_types.h
Wi-Fi passive scan driver types for LR1110.
lr1110_wifi_read_basic_mac_type_channel_results
err_t lr1110_wifi_read_basic_mac_type_channel_results(lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results, lr1110_wifi_basic_mac_type_channel_result_t *results)
Read basic MAC, Wi-Fi type and channel results.
lr1110_wifi_frame_type_info_byte_t
uint8_t lr1110_wifi_frame_type_info_byte_t
Type to store a Wi-Fi frame type info byte.
Definition: lr1110_wifi_types.h:118
lr1110_wifi_cumulative_timings_s
Cumulative timings.
Definition: lr1110_wifi_types.h:292
lr1110_wifi_get_nb_country_code_results
err_t lr1110_wifi_get_nb_country_code_results(lriot_t *ctx, uint8_t *nb_country_code_results)
Get size of country code search results.
lr1110_wifi_read_extended_full_results
err_t lr1110_wifi_read_extended_full_results(lriot_t *ctx, uint8_t start_result_index, uint8_t nb_results, lr1110_wifi_extended_full_result_t *results)
Read extended complete results.