LR click
LR Click is a compact add-on board that contains a low-power, long-range transceiver. This board features the RN2483, RF technology-based SRD transceiver, which operates at a frequency of 433/868MHz from Microchip Technology. This Click boardâ„¢ features an embedded LoRaWAN Class A compliant stack, providing a long-range spread spectrum communication with high interference immunity. The RN2483 module is a fully certified 433/868MHz European R&TTE directive assessed radio modem combined with the advanced and straightforward command interface.
click Product page
Click library
- Author : Stefan Ilic
- Date : Feb 2023.
- Type : UART type
Software Support
We provide a library for the LR Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for LR Click driver.
Standard key functions :
lr_cfg_setup
Config Object Initialization function.
void lr_cfg_setup(lr_cfg_t *cfg)
LR configuration object setup function.
LR Click configuration object.
Definition lr.h:276
lr_init
Initialization function.
err_t lr_init(lr_t *ctx, lr_cfg_t *cfg)
LR initialization function.
LR Click context object.
Definition lr.h:248
lr_default_cfg
Click Default Configuration function. void lr_default_cfg (
lr_t *ctx,
bool cb_default,
void ( *response_p )(
char *response ) );
void lr_default_cfg(lr_t *ctx, bool cb_default, void(*response_p)(char *response))
LR default configuration function.
Example key functions :
lr_mac_tx
Function for writing mac parameters
uint8_t lr_mac_tx(lr_t *ctx, lr_mac_t *mac)
Function for writing mac parameters.
Mac object definition.
Definition lr.h:235
lr_join
Function for setting join mode uint8_t
lr_join (
lr_t *ctx,
char *join_mode,
char *response );
uint8_t lr_join(lr_t *ctx, char *join_mode, char *response)
Function for setting join mode.
lr_tick_conf
Timer Configuration
void lr_tick_conf(lr_t *ctx, uint32_t timer_limit)
Timer Configuration.
Example Description
This example shows the usage of the LR Click board by transmitting and receiving data.
The demo application is composed of two sections :
Application Init
IInitializes the driver and performs default configuration and reads System version.
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
if ( UART_ERROR ==
lr_init( &lr, &lr_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_printf( &logger,
"System VER: %s \r\n",
resp_buf );
log_printf( &logger,
"MAC PAUSE: %s \r\n",
resp_buf );
log_printf( &logger,
"RADIO SET WDT 0: %s \r\n",
resp_buf );
log_info( &logger, " Application Task " );
}
#define LR_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition lr.h:170
#define LR_CMD_MAC_PAUSE
Definition lr.h:74
#define LR_CMD_SYS_GET_VER
LR Click Commands.
Definition lr.h:73
#define LR_CMD_RADIO_SET_WDT
Definition lr.h:75
void lr_cmd(lr_t *ctx, char *cmd, char *response)
Send command function.
void application_init(void)
Definition main.c:70
char resp_buf[50]
Definition main.c:39
Application Task
Transmitter mode - sends one-by-one byte sequence of the desired message each second and checks if it is sent successfully Receiver mode - displays all the received characters on USB UART.
{
lr_process( );
#ifdef DEMO_APP_RECEIVER
char *ptr;
uint8_t int_data;
{
ptr = ( char* ) &int_data;
log_printf( &logger, "%c", int_data );
}
#endif
#ifdef DEMO_APP_TRANSMITTER
for ( uint8_t cnt = 0; cnt < 9; cnt++ )
{
{
log_printf( &logger,
" Response : %s \r\n",
resp_buf );
}
Delay_ms ( 1000 );
}
#endif
}
#define LR_ARG_0
Definition lr.h:76
uint8_t lr_rx(lr_t *ctx, char *window_size, char *response)
Main receiver function
uint8_t lr_tx(lr_t *ctx, char *buffer)
Main tnanceiver function.
@ LR_OK
Definition lr.h:301
char send_hex[50]
Definition main.c:38
uint8_t send_message[9]
Definition main.c:40
void application_task(void)
Definition main.c:112
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.LR
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.