1. add mesh_assoc_t to esp_mesh_internal.h file. 2. rename "node" to "device" in esp_mesh.h. 3. add MESH_EVENT_SCAN_DONE event. 4. add APIs esp_mesh_scan_get_ap_record() and esp_mesh_scan_get_ap_ie_len() to get scan results. 5. modify API esp_mesh_set_self_organized() by adding parameter "select_parent". 6. modify API esp_mesh_set_parent() by adding parameter "parent_mesh_id" 7. add manual networking example.
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
/* Mesh Manual Networking Example
|
|
|
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
|
|
|
Unless required by applicable law or agreed to in writing, this
|
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
CONDITIONS OF ANY KIND, either express or implied.
|
|
*/
|
|
|
|
#ifndef __MESH_LIGHT_H__
|
|
#define __MESH_LIGHT_H__
|
|
|
|
#include "esp_err.h"
|
|
|
|
/*******************************************************
|
|
* Constants
|
|
*******************************************************/
|
|
#define MESH_LIGHT_RED (0xff)
|
|
#define MESH_LIGHT_GREEN (0xfe)
|
|
#define MESH_LIGHT_BLUE (0xfd)
|
|
#define MESH_LIGHT_YELLOW (0xfc)
|
|
#define MESH_LIGHT_PINK (0xfb)
|
|
#define MESH_LIGHT_INIT (0xfa)
|
|
#define MESH_LIGHT_WARNING (0xf9)
|
|
|
|
#define MESH_TOKEN_ID (0x0)
|
|
#define MESH_TOKEN_VALUE (0xbeef)
|
|
#define MESH_CONTROL_CMD (0x2)
|
|
|
|
/*******************************************************
|
|
* Type Definitions
|
|
*******************************************************/
|
|
|
|
/*******************************************************
|
|
* Structures
|
|
*******************************************************/
|
|
typedef struct {
|
|
uint8_t cmd;
|
|
bool on;
|
|
uint8_t token_id;
|
|
uint16_t token_value;
|
|
} mesh_light_ctl_t;
|
|
|
|
/*******************************************************
|
|
* Variables Declarations
|
|
*******************************************************/
|
|
|
|
/*******************************************************
|
|
* Function Definitions
|
|
*******************************************************/
|
|
esp_err_t mesh_light_init(void);
|
|
esp_err_t mesh_light_set(int color);
|
|
esp_err_t mesh_light_process(mesh_addr_t *from, uint8_t *buf, uint16_t len);
|
|
void mesh_connected_indicator(int layer);
|
|
void mesh_disconnected_indicator(void);
|
|
|
|
#endif /* __MESH_LIGHT_H__ */
|