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"
69 #define LR2_CMD_SYS_GET_VER "sys get ver"
70 #define LR2_CMD_MAC_PAUSE "mac pause"
71 #define LR2_CMD_RADIO_SET_WDT "radio set wdt 0"
78 #define LR2_JM_OTAA "otaa"
79 #define LR2_JM_ABP "abp"
85 #define LR2_PL_CNF "cnf "
86 #define LR2_PL_UNCNF "uncnf "
92 #define LR2_INVALID_PARAM 1
93 #define LR2_NOT_JOINED 2
94 #define LR2_NO_FREE_CH 3
96 #define LR2_ERR_REJOIN_NEEDED 5
98 #define LR2_MAC_PAUSED 7
99 #define LR2_INVALID_PAR_DATA_LEN 8
100 #define LR2_KEYS_NOT_INIT 9
101 #define LR2_MAC_ERR 10
102 #define LR2_MAC_RX 12
103 #define LR2_INVALID_REPAR_DATA_LEN 13
104 #define LR2_RADIO_ERR 14
105 #define LR2_DENIED 18
111 #define LR2_MAX_DATA_SIZE 256
112 #define LR2_MAX_TRANSFER_SIZE 384
114 #define LR2_MAX_CMD_SIZE 64
120 #define LR2_MAX_RSP_SIZE 20
126 #define LR2_RESP_COUNT 100
132 #define LR2_TIMER_EXPIRED 50000
138 #define LR2_MAC_TX "mac tx "
139 #define LR2_JOIN "mac join "
140 #define LR2_RADIO_TX "radio tx "
141 #define LR2_RADIO_RX "radio rx "
148 #define LR2_DRV_RX_BUFFER_SIZE 300
149 #define LR2_DRV_TX_BUFFER_SIZE 100
167 #define LR2_MAP_MIKROBUS( cfg, mikrobus ) \
168 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
169 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
170 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
171 cfg.rts = MIKROBUS( mikrobus, MIKROBUS_CS ); \
172 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_INT )
223 void ( *callback_resp )(
char *response );
bool timer_f
Definition: lr2.h:195
bool lr2_rdy_f
Definition: lr2.h:210
void lr2_isr_process(lr2_t *ctx)
Main Process.
pin_name_t rx_pin
Definition: lr2.h:275
uint16_t rx_buffer_len
Definition: lr2.h:185
digital_out_t rts
Definition: lr2.h:248
void lr2_tick_isr(lr2_t *ctx)
Timer.
uart_data_bits_t data_bit
Definition: lr2.h:286
uint8_t lr2_join(lr2_t *ctx, char *join_mode, char *response)
Function for setting join mode.
char * buffer
Definition: lr2.h:235
int32_t lr2_generic_read(lr2_t *ctx, char *data_buf, uint16_t max_len)
LR 2 data reading function.
@ LR2_ERROR
Definition: lr2.h:299
void lr2_default_cfg(lr2_t *ctx, bool cb_default, void(*response_p)(char *response))
LR 2 default configuration function.
char * rsp_buffer
Definition: lr2.h:221
err_t lr2_init(lr2_t *ctx, lr2_cfg_t *cfg)
LR 2 initialization function.
Timer Flags and Counter object definition.
Definition: lr2.h:194
#define LR2_DRV_TX_BUFFER_SIZE
Definition: lr2.h:149
@ LR2_OK
Definition: lr2.h:298
digital_out_t rst
Definition: lr2.h:247
uart_parity_t parity_bit
Definition: lr2.h:287
bool rsp_rdy_f
Definition: lr2.h:209
bool timeout_f
Definition: lr2.h:196
uint8_t lr2_mac_tx(lr2_t *ctx, lr2_mac_t *mac)
Function for writing mac parameters.
uint32_t ticker
Definition: lr2.h:198
Process Flags object definition.
Definition: lr2.h:208
char * port_no
Definition: lr2.h:234
uart_t uart
Definition: lr2.h:254
bool uart_blocking
Definition: lr2.h:285
void lr2_cmd(lr2_t *ctx, char *cmd, char *response)
Send command function.
lr2_buffers_t buff
Definition: lr2.h:260
lr2_response_t rsp
Definition: lr2.h:263
lr2_procces_flags_t flags
Definition: lr2.h:262
void lr2_generic_write(lr2_t *ctx, char *data_buf, uint16_t len)
LR 2 data writing function.
lr2_timer_t tm
Definition: lr2.h:261
void lr2_cfg_setup(lr2_cfg_t *cfg)
LR 2 configuration object setup function.
lr2_return_value_t
LR 2 Click return value data.
Definition: lr2.h:297
void lr2_tick_conf(lr2_t *ctx, uint32_t timer_limit)
Timer Configuration.
uart_stop_bits_t stop_bit
Definition: lr2.h:288
pin_name_t rts
Definition: lr2.h:280
char * payload
Definition: lr2.h:233
bool timer_use_f
Definition: lr2.h:197
void lr2_put_char(lr2_t *ctx, char data_in)
Function for write char.
Mac object definition.
Definition: lr2.h:232
pin_name_t tx_pin
Definition: lr2.h:276
#define LR2_MAX_TRANSFER_SIZE
Definition: lr2.h:112
pin_name_t cts
Definition: lr2.h:281
char data_in
Definition: lr2.h:264
bool callback_default
Definition: lr2.h:222
uint32_t timer_max
Definition: lr2.h:199
digital_in_t cts
Definition: lr2.h:251
char * response
Definition: lr2.h:236
Response object definition.
Definition: lr2.h:219
Click buffers object definition.
Definition: lr2.h:182
void lr2_rx_isr(lr2_t *ctx, char rx_input)
Receiver.
LR 2 Click configuration object.
Definition: lr2.h:273
uint32_t baud_rate
Definition: lr2.h:284
pin_name_t rst
Definition: lr2.h:279
#define LR2_DRV_RX_BUFFER_SIZE
LR 2 driver buffer size.
Definition: lr2.h:148
uint8_t lr2_rx(lr2_t *ctx, char *window_size, char *response)
Main receiver function
bool rsp_f
Definition: lr2.h:220
uint8_t lr2_tx(lr2_t *ctx, char *buffer)
Main tnanceiver function.
LR 2 Click context object.
Definition: lr2.h:245