28#ifndef NEOMESH915MHZ_H
29#define NEOMESH915MHZ_H
39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
73#define NEOMESH915MHZ_CMD_NACK_SEND 0x02
74#define NEOMESH915MHZ_CMD_ACK_SEND 0x03
75#define NEOMESH915MHZ_CMD_NODE_STATUS 0x07
76#define NEOMESH915MHZ_CMD_NODE_INFO 0x08
77#define NEOMESH915MHZ_CMD_NEIGHBOUR_LIST 0x09
78#define NEOMESH915MHZ_CMD_NETWORK_COMMAND 0x0A
79#define NEOMESH915MHZ_CMD_SAPI_TO_AAPI 0x0B
80#define NEOMESH915MHZ_CMD_ROUTE_INFO 0x0C
81#define NEOMESH915MHZ_CMD_WES_COMMAND 0x10
82#define NEOMESH915MHZ_CMD_WES_SETUP_RSP 0x11
83#define NEOMESH915MHZ_CMD_GET_SW_VERSION 0x14
84#define NEOMESH915MHZ_CMD_ALT_MODE 0x20
90#define NEOMESH915MHZ_RSP_ACK 0x50
91#define NEOMESH915MHZ_RSP_NACK 0x51
92#define NEOMESH915MHZ_RSP_ACK_HOST 0x52
93#define NEOMESH915MHZ_RSP_ACK_HOST_HAPA 0x53
94#define NEOMESH915MHZ_RSP_NACK_HOST 0x54
95#define NEOMESH915MHZ_RSP_NACK_HOST_HAPA 0x55
96#define NEOMESH915MHZ_RSP_NACK_SEND 0x56
97#define NEOMESH915MHZ_RSP_NACK_DROP 0x57
98#define NEOMESH915MHZ_RSP_NODE_INFO 0x58
99#define NEOMESH915MHZ_RSP_NEIGHBOUR_LIST 0x59
100#define NEOMESH915MHZ_RSP_NETWORK_COMMAND 0x5A
101#define NEOMESH915MHZ_RSP_ROUTE_INFO 0x5C
102#define NEOMESH915MHZ_RSP_WES_STATUS 0x60
103#define NEOMESH915MHZ_RSP_WES_SETUP 0x61
104#define NEOMESH915MHZ_RSP_GET_SW_VERSION 0x64
105#define NEOMESH915MHZ_RSP_ALT_MODE 0x70
111#define NEOMESH915MHZ_SAPI_CMD_LOGIN 0x0103u
112#define NEOMESH915MHZ_SAPI_CMD_RESET_LIST_ITERATOR 0x0104u
113#define NEOMESH915MHZ_SAPI_CMD_GET_LIST 0x0105u
114#define NEOMESH915MHZ_SAPI_CMD_GET_SETTING_FLASH 0x0106u
115#define NEOMESH915MHZ_SAPI_CMD_GET_SETTING_RAM 0x0107u
116#define NEOMESH915MHZ_SAPI_CMD_COMMIT_SETTINGS 0x0108u
117#define NEOMESH915MHZ_SAPI_CMD_DISCARD_SETTINGS 0x0109u
118#define NEOMESH915MHZ_SAPI_CMD_SET_SETTING 0x010Au
119#define NEOMESH915MHZ_SAPI_CMD_START_PROTOCOL_STACK 0x0112u
120#define NEOMESH915MHZ_SAPI_CMD_START_BOOTLOADER 0x0113u
121#define NEOMESH915MHZ_SAPI_HEADER 0x3E
122#define NEOMESH915MHZ_SAPI_TRAIL 0x21
128#define NEOMESH915MHZ_SAPI_RSP_OK 0x0380u
129#define NEOMESH915MHZ_SAPI_RSP_ERROR 0x0381u
130#define NEOMESH915MHZ_SAPI_RSP_BOOTLOADER_START 0x0382u
131#define NEOMESH915MHZ_SAPI_RSP_PROTOCOL_STACK_START 0x0383u
132#define NEOMESH915MHZ_SAPI_RSP_PROTOCOL_STACK_ERROR 0x0384u
133#define NEOMESH915MHZ_SAPI_RSP_RESET 0x0385u
134#define NEOMESH915MHZ_SAPI_RSP_SETTINGS_LIST_OUTPUT 0x0185u
135#define NEOMESH915MHZ_SAPI_RSP_SETTINGS_VALUE 0x0186u
141#define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_0 0x4C
142#define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_1 0x76
143#define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_2 0x6C
144#define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_3 0x31
145#define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_4 0x30
151#define NEOMESH915MHZ_SAPI_SETTINGS_ID_NODE_ID 0x0A
157#define NEOMESH915MHZ_TIMEOUT_MS 20000ul
163#define NEOMESH915MHZ_MAX_PAYLOAD_LEN 255
170#define NEOMESH915MHZ_TX_DRV_BUFFER_SIZE 300u
171#define NEOMESH915MHZ_RX_DRV_BUFFER_SIZE 300u
189#define NEOMESH915MHZ_MAP_MIKROBUS( cfg, mikrobus ) \
190 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
191 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
192 cfg.app = MIKROBUS( mikrobus, MIKROBUS_AN ); \
193 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
194 cfg.wes = MIKROBUS( mikrobus, MIKROBUS_CS ); \
195 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
196 cfg.wup = MIKROBUS( mikrobus, MIKROBUS_INT );
#define NEOMESH915MHZ_RX_DRV_BUFFER_SIZE
Definition neomesh915mhz.h:171
#define NEOMESH915MHZ_MAX_PAYLOAD_LEN
NeoMesh 915MHz payload length.
Definition neomesh915mhz.h:163
#define NEOMESH915MHZ_TX_DRV_BUFFER_SIZE
NeoMesh 915MHz driver buffer size.
Definition neomesh915mhz.h:170
uint8_t neomesh915mhz_get_cts_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get cts pin function.
void neomesh915mhz_cfg_setup(neomesh915mhz_cfg_t *cfg)
NeoMesh 915MHz configuration object setup function.
uint8_t neomesh915mhz_get_app_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get app pin function.
uint8_t neomesh915mhz_get_wup_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get wup pin function.
void neomesh915mhz_set_rst_pin(neomesh915mhz_t *ctx, uint8_t state)
NeoMesh 915MHz set rst pin function.
err_t neomesh915mhz_send_aapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_aapi_frame_t *frame)
NeoMesh 915MHz send aapi frame function.
err_t neomesh915mhz_read_sapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_sapi_frame_t *frame)
NeoMesh 915MHz read sapi frame function.
err_t neomesh915mhz_send_sapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_sapi_frame_t *frame)
NeoMesh 915MHz send sapi frame function.
err_t neomesh915mhz_read_aapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_aapi_frame_t *frame)
NeoMesh 915MHz read aapi frame function.
err_t neomesh915mhz_init(neomesh915mhz_t *ctx, neomesh915mhz_cfg_t *cfg)
NeoMesh 915MHz initialization function.
void neomesh915mhz_set_wes_pin(neomesh915mhz_t *ctx, uint8_t state)
NeoMesh 915MHz set wes pin function.
neomesh915mhz_return_value_t
NeoMesh 915MHz Click return value data.
Definition neomesh915mhz.h:280
@ NEOMESH915MHZ_ERROR
Definition neomesh915mhz.h:282
@ NEOMESH915MHZ_TIMEOUT
Definition neomesh915mhz.h:283
@ NEOMESH915MHZ_OK
Definition neomesh915mhz.h:281
NeoMesh 915MHz Click data frame object.
Definition neomesh915mhz.h:256
uint8_t cmd
Definition neomesh915mhz.h:257
uint8_t len
Definition neomesh915mhz.h:258
NeoMesh 915MHz Click configuration object.
Definition neomesh915mhz.h:230
uint32_t baud_rate
Definition neomesh915mhz.h:243
pin_name_t wup
Definition neomesh915mhz.h:240
pin_name_t cts
Definition neomesh915mhz.h:239
pin_name_t app
Definition neomesh915mhz.h:236
pin_name_t wes
Definition neomesh915mhz.h:238
bool uart_blocking
Definition neomesh915mhz.h:244
uart_data_bits_t data_bit
Definition neomesh915mhz.h:245
pin_name_t tx_pin
Definition neomesh915mhz.h:233
pin_name_t rx_pin
Definition neomesh915mhz.h:232
uart_stop_bits_t stop_bit
Definition neomesh915mhz.h:247
uart_parity_t parity_bit
Definition neomesh915mhz.h:246
pin_name_t rst
Definition neomesh915mhz.h:237
NeoMesh 915MHz Click data frame object.
Definition neomesh915mhz.h:268
uint8_t len
Definition neomesh915mhz.h:270
uint16_t cmd
Definition neomesh915mhz.h:269
NeoMesh 915MHz Click context object.
Definition neomesh915mhz.h:206
digital_out_t wes
Definition neomesh915mhz.h:209
digital_in_t app
Definition neomesh915mhz.h:212
uart_t uart
Definition neomesh915mhz.h:217
digital_in_t wup
Definition neomesh915mhz.h:214
digital_in_t cts
Definition neomesh915mhz.h:213
digital_out_t rst
Definition neomesh915mhz.h:208