Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
603c544e46 | |||
0f35e48fe5 |
@ -86,8 +86,11 @@ void app_main(void)
|
|||||||
strcpy(send_message.char_value, "THIS IS A CHAR");
|
strcpy(send_message.char_value, "THIS IS A CHAR");
|
||||||
send_message.float_value = 1.234;
|
send_message.float_value = 1.234;
|
||||||
send_message.bool_value = false;
|
send_message.bool_value = false;
|
||||||
printf("Used ESP-NOW version %d.\n", zh_espnow_get_version());
|
printf("ESP-NOW version %d.\n", zh_espnow_get_version());
|
||||||
printf("ESP-NOW channel %d. \n", zh_espnow_get_channel());
|
printf("ESP-NOW channel %d. \n", zh_espnow_get_channel());
|
||||||
|
uint8_t node_mac[6] = {0};
|
||||||
|
zh_espnow_get_mac(node_mac);
|
||||||
|
printf("ESP-NOW MAC %02X:%02X:%02X:%02X:%02X:%02X.\n", MAC2STR(node_mac));
|
||||||
uint8_t counter = 0;
|
uint8_t counter = 0;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
@ -178,6 +178,27 @@ extern "C"
|
|||||||
*/
|
*/
|
||||||
esp_err_t zh_espnow_set_battery_mode(bool battery_mode);
|
esp_err_t zh_espnow_set_battery_mode(bool battery_mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get MAC address of the node.
|
||||||
|
*
|
||||||
|
* @param[out] mac_addr Pointer to a buffer containing an eight-byte MAC.
|
||||||
|
*
|
||||||
|
* @return ESP_OK if success or an error code otherwise.
|
||||||
|
*/
|
||||||
|
esp_err_t zh_espnow_get_mac(uint8_t *mac_addr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the number of available places in the queue.
|
||||||
|
*
|
||||||
|
* @return Number of available places.
|
||||||
|
*/
|
||||||
|
uint8_t zh_espnow_get_queue_space(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Clean up the message queue.
|
||||||
|
*/
|
||||||
|
void zh_espnow_clear_queue(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
@ -1 +1 @@
|
|||||||
1.6.0
|
1.8.0
|
32
zh_espnow.c
32
zh_espnow.c
@ -272,7 +272,7 @@ static esp_err_t _zh_espnow_init_resources(const zh_espnow_init_config_t *config
|
|||||||
_event_group_handle = xEventGroupCreate();
|
_event_group_handle = xEventGroupCreate();
|
||||||
ZH_ESPNOW_CHECK(_event_group_handle != NULL, ESP_FAIL, "Event group creation failed.");
|
ZH_ESPNOW_CHECK(_event_group_handle != NULL, ESP_FAIL, "Event group creation failed.");
|
||||||
_queue_handle = xQueueCreate(config->queue_size, sizeof(_queue_t));
|
_queue_handle = xQueueCreate(config->queue_size, sizeof(_queue_t));
|
||||||
ZH_ESPNOW_CHECK(_queue_handle != 0, ESP_FAIL, "Queue creation failed.");
|
ZH_ESPNOW_CHECK(_queue_handle != NULL, ESP_FAIL, "Queue creation failed.");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -593,3 +593,33 @@ esp_err_t zh_espnow_set_battery_mode(bool battery_mode)
|
|||||||
ZH_ESPNOW_LOGI("Battery mode set successfully.");
|
ZH_ESPNOW_LOGI("Battery mode set successfully.");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
esp_err_t zh_espnow_get_mac(uint8_t *mac_addr)
|
||||||
|
{
|
||||||
|
return esp_wifi_get_mac(_init_config.wifi_interface, mac_addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t zh_espnow_get_queue_space(void)
|
||||||
|
{
|
||||||
|
if (_queue_handle == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return uxQueueSpacesAvailable(_queue_handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
void zh_espnow_clear_queue(void)
|
||||||
|
{
|
||||||
|
if (_queue_handle != NULL)
|
||||||
|
{
|
||||||
|
_queue_t queue = {0};
|
||||||
|
while (xQueueReceive(_queue_handle, &queue, 0) == pdTRUE)
|
||||||
|
{
|
||||||
|
if (queue.data.payload != NULL)
|
||||||
|
{
|
||||||
|
heap_caps_free(queue.data.payload);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ZH_ESPNOW_LOGI("Queue clear completed successfully.");
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user