Go to the documentation of this file.
28 #ifndef NEOMESH915MHZ_H
29 #define NEOMESH915MHZ_H
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
59 #define NEOMESH915MHZ_CMD_NACK_SEND 0x02
60 #define NEOMESH915MHZ_CMD_ACK_SEND 0x03
61 #define NEOMESH915MHZ_CMD_NODE_STATUS 0x07
62 #define NEOMESH915MHZ_CMD_NODE_INFO 0x08
63 #define NEOMESH915MHZ_CMD_NEIGHBOUR_LIST 0x09
64 #define NEOMESH915MHZ_CMD_NETWORK_COMMAND 0x0A
65 #define NEOMESH915MHZ_CMD_SAPI_TO_AAPI 0x0B
66 #define NEOMESH915MHZ_CMD_ROUTE_INFO 0x0C
67 #define NEOMESH915MHZ_CMD_WES_COMMAND 0x10
68 #define NEOMESH915MHZ_CMD_WES_SETUP_RSP 0x11
69 #define NEOMESH915MHZ_CMD_GET_SW_VERSION 0x14
70 #define NEOMESH915MHZ_CMD_ALT_MODE 0x20
76 #define NEOMESH915MHZ_RSP_ACK 0x50
77 #define NEOMESH915MHZ_RSP_NACK 0x51
78 #define NEOMESH915MHZ_RSP_ACK_HOST 0x52
79 #define NEOMESH915MHZ_RSP_ACK_HOST_HAPA 0x53
80 #define NEOMESH915MHZ_RSP_NACK_HOST 0x54
81 #define NEOMESH915MHZ_RSP_NACK_HOST_HAPA 0x55
82 #define NEOMESH915MHZ_RSP_NACK_SEND 0x56
83 #define NEOMESH915MHZ_RSP_NACK_DROP 0x57
84 #define NEOMESH915MHZ_RSP_NODE_INFO 0x58
85 #define NEOMESH915MHZ_RSP_NEIGHBOUR_LIST 0x59
86 #define NEOMESH915MHZ_RSP_NETWORK_COMMAND 0x5A
87 #define NEOMESH915MHZ_RSP_ROUTE_INFO 0x5C
88 #define NEOMESH915MHZ_RSP_WES_STATUS 0x60
89 #define NEOMESH915MHZ_RSP_WES_SETUP 0x61
90 #define NEOMESH915MHZ_RSP_GET_SW_VERSION 0x64
91 #define NEOMESH915MHZ_RSP_ALT_MODE 0x70
97 #define NEOMESH915MHZ_SAPI_CMD_LOGIN 0x0103u
98 #define NEOMESH915MHZ_SAPI_CMD_RESET_LIST_ITERATOR 0x0104u
99 #define NEOMESH915MHZ_SAPI_CMD_GET_LIST 0x0105u
100 #define NEOMESH915MHZ_SAPI_CMD_GET_SETTING_FLASH 0x0106u
101 #define NEOMESH915MHZ_SAPI_CMD_GET_SETTING_RAM 0x0107u
102 #define NEOMESH915MHZ_SAPI_CMD_COMMIT_SETTINGS 0x0108u
103 #define NEOMESH915MHZ_SAPI_CMD_DISCARD_SETTINGS 0x0109u
104 #define NEOMESH915MHZ_SAPI_CMD_SET_SETTING 0x010Au
105 #define NEOMESH915MHZ_SAPI_CMD_START_PROTOCOL_STACK 0x0112u
106 #define NEOMESH915MHZ_SAPI_CMD_START_BOOTLOADER 0x0113u
107 #define NEOMESH915MHZ_SAPI_HEADER 0x3E
108 #define NEOMESH915MHZ_SAPI_TRAIL 0x21
114 #define NEOMESH915MHZ_SAPI_RSP_OK 0x0380u
115 #define NEOMESH915MHZ_SAPI_RSP_ERROR 0x0381u
116 #define NEOMESH915MHZ_SAPI_RSP_BOOTLOADER_START 0x0382u
117 #define NEOMESH915MHZ_SAPI_RSP_PROTOCOL_STACK_START 0x0383u
118 #define NEOMESH915MHZ_SAPI_RSP_PROTOCOL_STACK_ERROR 0x0384u
119 #define NEOMESH915MHZ_SAPI_RSP_RESET 0x0385u
120 #define NEOMESH915MHZ_SAPI_RSP_SETTINGS_LIST_OUTPUT 0x0185u
121 #define NEOMESH915MHZ_SAPI_RSP_SETTINGS_VALUE 0x0186u
127 #define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_0 0x4C
128 #define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_1 0x76
129 #define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_2 0x6C
130 #define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_3 0x31
131 #define NEOMESH915MHZ_SAPI_LOGIN_PASSWORD_4 0x30
137 #define NEOMESH915MHZ_SAPI_SETTINGS_ID_NODE_ID 0x0A
143 #define NEOMESH915MHZ_TIMEOUT_MS 20000ul
149 #define NEOMESH915MHZ_MAX_PAYLOAD_LEN 255
156 #define NEOMESH915MHZ_TX_DRV_BUFFER_SIZE 300u
157 #define NEOMESH915MHZ_RX_DRV_BUFFER_SIZE 300u
175 #define NEOMESH915MHZ_MAP_MIKROBUS( cfg, mikrobus ) \
176 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
177 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
178 cfg.app = MIKROBUS( mikrobus, MIKROBUS_AN ); \
179 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
180 cfg.wes = MIKROBUS( mikrobus, MIKROBUS_CS ); \
181 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
182 cfg.wup = MIKROBUS( mikrobus, MIKROBUS_INT );
418 #endif // NEOMESH915MHZ_H
uart_data_bits_t data_bit
Definition: neomesh915mhz.h:231
err_t neomesh915mhz_send_aapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_aapi_frame_t *frame)
NeoMesh 915MHz send aapi frame function.
pin_name_t tx_pin
Definition: neomesh915mhz.h:219
pin_name_t wes
Definition: neomesh915mhz.h:224
void neomesh915mhz_set_wes_pin(neomesh915mhz_t *ctx, uint8_t state)
NeoMesh 915MHz set wes pin function.
#define NEOMESH915MHZ_MAX_PAYLOAD_LEN
NeoMesh 915MHz payload length.
Definition: neomesh915mhz.h:149
digital_out_t rst
Definition: neomesh915mhz.h:194
@ NEOMESH915MHZ_TIMEOUT
Definition: neomesh915mhz.h:269
err_t neomesh915mhz_read_sapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_sapi_frame_t *frame)
NeoMesh 915MHz read sapi frame function.
pin_name_t wup
Definition: neomesh915mhz.h:226
NeoMesh 915MHz Click data frame object.
Definition: neomesh915mhz.h:254
pin_name_t rx_pin
Definition: neomesh915mhz.h:218
bool uart_blocking
Definition: neomesh915mhz.h:230
uart_parity_t parity_bit
Definition: neomesh915mhz.h:232
NeoMesh 915MHz Click data frame object.
Definition: neomesh915mhz.h:242
uint16_t cmd
Definition: neomesh915mhz.h:255
err_t neomesh915mhz_init(neomesh915mhz_t *ctx, neomesh915mhz_cfg_t *cfg)
NeoMesh 915MHz initialization function.
pin_name_t cts
Definition: neomesh915mhz.h:225
uint8_t neomesh915mhz_get_wup_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get wup pin function.
uint8_t len
Definition: neomesh915mhz.h:244
digital_in_t cts
Definition: neomesh915mhz.h:199
uint8_t neomesh915mhz_get_app_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get app pin function.
uint8_t cmd
Definition: neomesh915mhz.h:243
uart_t uart
Definition: neomesh915mhz.h:203
NeoMesh 915MHz Click context object.
Definition: neomesh915mhz.h:192
pin_name_t app
Definition: neomesh915mhz.h:222
@ NEOMESH915MHZ_ERROR
Definition: neomesh915mhz.h:268
uint8_t neomesh915mhz_get_cts_pin(neomesh915mhz_t *ctx)
NeoMesh 915MHz get cts pin function.
neomesh915mhz_return_value_t
NeoMesh 915MHz Click return value data.
Definition: neomesh915mhz.h:266
#define NEOMESH915MHZ_RX_DRV_BUFFER_SIZE
Definition: neomesh915mhz.h:157
NeoMesh 915MHz Click configuration object.
Definition: neomesh915mhz.h:216
uint32_t baud_rate
Definition: neomesh915mhz.h:229
digital_in_t app
Definition: neomesh915mhz.h:198
err_t neomesh915mhz_read_aapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_aapi_frame_t *frame)
NeoMesh 915MHz read aapi frame function.
uint8_t len
Definition: neomesh915mhz.h:256
digital_in_t wup
Definition: neomesh915mhz.h:200
#define NEOMESH915MHZ_TX_DRV_BUFFER_SIZE
NeoMesh 915MHz driver buffer size.
Definition: neomesh915mhz.h:156
@ NEOMESH915MHZ_OK
Definition: neomesh915mhz.h:267
void neomesh915mhz_set_rst_pin(neomesh915mhz_t *ctx, uint8_t state)
NeoMesh 915MHz set rst pin function.
void neomesh915mhz_cfg_setup(neomesh915mhz_cfg_t *cfg)
NeoMesh 915MHz configuration object setup function.
uart_stop_bits_t stop_bit
Definition: neomesh915mhz.h:233
digital_out_t wes
Definition: neomesh915mhz.h:195
err_t neomesh915mhz_send_sapi_frame(neomesh915mhz_t *ctx, neomesh915mhz_sapi_frame_t *frame)
NeoMesh 915MHz send sapi frame function.
pin_name_t rst
Definition: neomesh915mhz.h:223