first commit

This commit is contained in:
wen
2025-09-30 13:08:23 +08:00
parent ec83999cef
commit 015a4f689d
38 changed files with 628 additions and 593 deletions

View File

@@ -19,6 +19,7 @@
#include "nvs_eepom.h"
#include "zigbee_fun.h"
#include "zigbee.h"
#include "gui_guider.h"
// #define TAG "zigbee_R"
// #define TAGT "zigbee_T"
@@ -26,8 +27,11 @@
#define DBG_TAG "zigbee"
#define DBG_LVL DBG_INFO
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#ifdef RT_USING_ULOG
#include <ulog.h>
#endif
//接收消息
rt_mq_t zig_rx_evt_queue = NULL; //定义一个队列返回变量
@@ -63,11 +67,11 @@ int zigbee_uart_int(void)
char uart_name[]="uart3";
#endif
LOG_I("Try to open(%s)",uart_name);
LOG_I_LINE("Try to open(%s)",uart_name);
serial = rt_device_find(uart_name);
if (!serial)
{
LOG_I("find %s failed!\n", uart_name);
LOG_I_LINE("find %s failed!\n", uart_name);
return -RT_ERROR;
}
@@ -75,7 +79,7 @@ int zigbee_uart_int(void)
// ASSERT(ret != RT_EOK, "open %s failed : %d !\n", uart_name, ret);
if (ret != RT_EOK)
{
LOG_I("open %s failed : %d !\n", uart_name, ret);
LOG_I_LINE("open %s failed : %d !\n", uart_name, ret);
return -RT_ERROR;
}
//uart_config.
@@ -106,7 +110,7 @@ int zigbee_uart_int(void)
}
else
{
LOG_I("dynamic_thread create failure\n");
LOG_I_LINE("dynamic_thread create failure\n");
}
return RT_EOK;
@@ -139,8 +143,8 @@ void zigbee_uart_sendByte(unsigned char value)
void zigbee_uart_sendBytes(unsigned char *in, unsigned short len)
{
//LOG_I("zigbee_uart_sendBytes\n");
esp_log_buffer_hex(LOG_TAG,(const char *)in,len);//一行 32byte内容
//LOG_I_LINE("zigbee_uart_sendBytes\n");
esp_log_buffer_hex(DBG_TAG,(const char *)in,len);//一行 32byte内容
rt_device_write(serial, 0, in, len);
}
@@ -167,7 +171,7 @@ void zigbee_fun_task(void *pvParameter)
// Configure a temporary buffer for the incoming data
uint8_t *rxdata = (uint8_t *) malloc(ZIG_RX_BUF_SIZE);
LOG_I("zigbee_fun_task running");
LOG_I_LINE("zigbee_fun_task running");
// for(;;)
// {
@@ -178,7 +182,7 @@ void zigbee_fun_task(void *pvParameter)
for(;;)
{
// // rt_thread_mdelay(1000);
// // LOG_I("zigbee_fun_task");
// // LOG_I_LINE("zigbee_fun_task");
// // zigbee_uart_service();
//
// // const int rxBytes = uart_read_bytes(ZIG_UART_NUM, rxdata, ZIG_RX_BUF_SIZE,50 / portTICK_RATE_MS);
@@ -188,11 +192,11 @@ void zigbee_fun_task(void *pvParameter)
// //
// // esp_log_buffer_hex(TAG,rxdata,rxBytes);
// // //将接收到的数据发出去
// // //LOG_I( "rx:%s", (char *)rxdata);
// // //LOG_I_LINE( "rx:%s", (char *)rxdata);
// // }
if(evt.buffStr)//接收到的是指针 用完释放内存
{
LOG_I("free receData.buffStr:%x",(uint32_t)evt.buffStr);
LOG_I_LINE("free receData.buffStr:%x",(uint32_t)evt.buffStr);
free(evt.buffStr);
evt.buffStr=NULL;
}
@@ -438,25 +442,25 @@ void zigbee_fun_task(void *pvParameter)
break;
case ZIG_STATE_SCENE_5:
{
LOG_I("SCENE_5");
LOG_I_LINE("SCENE_5");
mcu_dp_enum_update(DPID_SCENE_5,0);
}
break;
case ZIG_STATE_SCENE_6:
{
LOG_I("SCENE_6");
LOG_I_LINE("SCENE_6");
mcu_dp_enum_update(DPID_SCENE_6,0);
}
break;
case ZIG_STATE_SCENE_7:
{
LOG_I("SCENE_7");
LOG_I_LINE("SCENE_7");
mcu_dp_enum_update(DPID_SCENE_7,0);
}
break;
case ZIG_STATE_SCENE_8:
{
LOG_I("SCENE_8");
LOG_I_LINE("SCENE_8");
mcu_dp_enum_update(DPID_SCENE_8,0);
}
break;
@@ -770,126 +774,126 @@ void zigbee_fun_task(void *pvParameter)
//空调
case ZIG_STATE_SCENE_AirconditionerON://空调开(可下发可上报)
{
LOG_I("ZIG_STATE_SCENE_AirconditionerON");
LOG_I_LINE("ZIG_STATE_SCENE_AirconditionerON");
mcu_dp_enum_update(DPID_SCENE_AIR_SWITCH,0);
}
break;
case ZIG_STATE_SCENE_AirconditionerOFF://空调关(可下发可上报)
{
LOG_I("ZIG_STATE_SCENE_AirconditionerOFF");
LOG_I_LINE("ZIG_STATE_SCENE_AirconditionerOFF");
mcu_dp_enum_update(DPID_SCENE_AIR_SWITCH,1);
}
break;
//设备界面的
case ZIG_STATE_SCENE_Airconditionercool://制冷(可下发可上报)
{
LOG_I("ZIG_STATE_SCENE_Airconditionercool");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionercool");
mcu_dp_enum_update(DPID_SCENE_AIR_MODE,nvs_SysInfo.airconditioner.mode);
}
break;
case ZIG_STATE_SCENE_Airconditionerheat://制热(可下发可上报)
{
LOG_I("ZIG_STATE_SCENE_Airconditionercool");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionercool");
mcu_dp_enum_update(DPID_SCENE_AIR_MODE,nvs_SysInfo.airconditioner.mode);
}
break;
case ZIG_STATE_SCENE_Airconditionermode://空调模式
{//AUTO, COOL, HEAT, DRY, FAN
LOG_I("ZIG_STATE_SCENE_Airconditionermode");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionermode");
mcu_dp_enum_update(DPID_SCENE_AIR_MODE,nvs_SysInfo.airconditioner.mode);
}
break;
case ZIG_STATE_SCENE_Airconditionerspeed://空调风速
{//AUTO, LOW, MEDIUM, HIGH
LOG_I("ZIG_STATE_SCENE_Airconditionerspeed");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionerspeed");
mcu_dp_enum_update(DPID_SCENE_AIR_SPEED,nvs_SysInfo.airconditioner.speed);
}
break;
case ZIG_STATE_SCENE_Airconditionerdirect://空调风向
{//AUTO, UP, MEDIUM, DOWN, LEFTORRIGHT
LOG_I("ZIG_STATE_SCENE_Airconditionerdirect");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionerdirect");
mcu_dp_enum_update(DPID_SCENE_AIR_FAN,nvs_SysInfo.airconditioner.direct);
}
break;
case ZIG_STATE_SCENE_Airconditionertempadd://增加1°(可下发可上报)
case ZIG_STATE_SCENE_Airconditionertempsub://减少1°(可下发可上报)
{
LOG_I("ZIG_STATE_SCENE_Airconditionertemp");
LOG_I_LINE("ZIG_STATE_SCENE_Airconditionertemp");
mcu_dp_enum_update(DPID_SCENE_AIR_TEMP,nvs_SysInfo.airconditioner.temp);
}
break;
//投影仪
case ZIG_STATE_SCENE_ProjectorON:
{
LOG_I("ZIG_STATE_SCENE_ProjectorON");
LOG_I_LINE("ZIG_STATE_SCENE_ProjectorON");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_SWITCH,0);
}
break;
case ZIG_STATE_SCENE_ProjectorOFF:
{
LOG_I("ZIG_STATE_SCENE_ProjectorOFF");
LOG_I_LINE("ZIG_STATE_SCENE_ProjectorOFF");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_SWITCH,1);
}
break;
case ZIG_STATE_SCENE_Projector_volume:
{
LOG_I("ZIG_STATE_SCENE_Projector_volume");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_volume");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_VOLUME,nvs_SysInfo.projector.volume);
}
break;
case ZIG_STATE_SCENE_Projector_quit:
{
LOG_I("ZIG_STATE_SCENE_Projector_quit");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_quit");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_QUIT,0);
}
break;
case ZIG_STATE_SCENE_Projector_return:
{
LOG_I("ZIG_STATE_SCENE_Projector_return");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_return");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_RETURN,0);
}
break;
case ZIG_STATE_SCENE_Projector_home:
{
LOG_I("ZIG_STATE_SCENE_Projector_home");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_home");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_HOME,0);
}
break;
case ZIG_STATE_SCENE_Projector_menu:
{
LOG_I("ZIG_STATE_SCENE_Projector_menu");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_menu");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_MENU,0);
}
break;
case ZIG_STATE_SCENE_Projector_up:
{
LOG_I("ZIG_STATE_SCENE_Projector_up");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_up");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_DIRECTION,0);
}
break;
case ZIG_STATE_SCENE_Projector_down:
{
LOG_I("ZIG_STATE_SCENE_Projector_down");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_down");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_DIRECTION,1);
}
break;
case ZIG_STATE_SCENE_Projector_left:
{
LOG_I("ZIG_STATE_SCENE_Projector_left");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_left");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_DIRECTION,2);
}
break;
case ZIG_STATE_SCENE_Projector_right:
{
LOG_I("ZIG_STATE_SCENE_Projector_right");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_right");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_DIRECTION,3);
}
break;
case ZIG_STATE_SCENE_Projector_sure:
{
LOG_I("ZIG_STATE_SCENE_Projector_sure");
LOG_I_LINE("ZIG_STATE_SCENE_Projector_sure");
mcu_dp_enum_update(DPID_SCENE_PROJECTOR_SURE,0);
}
break;
@@ -897,52 +901,52 @@ void zigbee_fun_task(void *pvParameter)
case ZIG_STATE_GANG11on:
case ZIG_STATE_GANG1_ALLon:
{
LOG_I("gang 1 on");
LOG_I_LINE("gang 1 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH1_1,0);//enum:on(0) off(1)
}
break;
case ZIG_STATE_GANG11off:
case ZIG_STATE_GANG1_ALLoff:
{
LOG_I("gang 1 off");
LOG_I_LINE("gang 1 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH1_1,1);
}
break;
//1路场景开关1
case ZIG_STATE_GANG21on:
{
LOG_I("gang 21 on");
LOG_I_LINE("gang 21 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,0);
}
break;
case ZIG_STATE_GANG21off:
{
LOG_I("gang 21 off");
LOG_I_LINE("gang 21 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,1);
}
break;
case ZIG_STATE_GANG22on:
{
LOG_I("gang 22 on");
LOG_I_LINE("gang 22 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_2,0);
}
break;
case ZIG_STATE_GANG22off:
{
LOG_I("gang 22 off");
LOG_I_LINE("gang 22 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_2,1);
}
break;
case ZIG_STATE_GANG2_ALLon:
{
LOG_I("gang2 all on");
LOG_I_LINE("gang2 all on");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,0);
}
break;
case ZIG_STATE_GANG2_ALLoff:
{
LOG_I("gang2 all off");
LOG_I_LINE("gang2 all off");
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH2_1,1);
}
@@ -951,43 +955,43 @@ void zigbee_fun_task(void *pvParameter)
//3路场景开关
case ZIG_STATE_GANG31on:
{
LOG_I("gang 31 on");
LOG_I_LINE("gang 31 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_1,0);
}
break;
case ZIG_STATE_GANG31off:
{
LOG_I("gang 31 off");
LOG_I_LINE("gang 31 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_1,1);
}
break;
case ZIG_STATE_GANG32on:
{
LOG_I("gang 32 on");
LOG_I_LINE("gang 32 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_2,0);
}
break;
case ZIG_STATE_GANG32off:
{
LOG_I("gang 32 off");
LOG_I_LINE("gang 32 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_2,1);
}
break;
case ZIG_STATE_GANG33on:
{
LOG_I("gang 33 on");
LOG_I_LINE("gang 33 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_3,0);
}
break;
case ZIG_STATE_GANG33off:
{
LOG_I("gang 33 off");
LOG_I_LINE("gang 33 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_3,1);
}
break;
case ZIG_STATE_GANG3_ALLon:
{
LOG_I("gang3 all on");
LOG_I_LINE("gang3 all on");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_1,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH3_2,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH3_3,0);
@@ -995,7 +999,7 @@ void zigbee_fun_task(void *pvParameter)
break;
case ZIG_STATE_GANG3_ALLoff:
{
LOG_I("gang3 all off");
LOG_I_LINE("gang3 all off");
mcu_dp_enum_update(DPID_SCENE_SWITCH3_1,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH3_2,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH3_3,1);
@@ -1004,55 +1008,55 @@ void zigbee_fun_task(void *pvParameter)
//4路场景开关
case ZIG_STATE_GANG41on:
{
LOG_I("gang 41 on");
LOG_I_LINE("gang 41 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_1,0);
}
break;
case ZIG_STATE_GANG41off:
{
LOG_I("gang 41 off");
LOG_I_LINE("gang 41 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_1,1);
}
break;
case ZIG_STATE_GANG42on:
{
LOG_I("gang 42 on");
LOG_I_LINE("gang 42 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_2,0);
}
break;
case ZIG_STATE_GANG42off:
{
LOG_I("gang 42 off");
LOG_I_LINE("gang 42 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_2,1);
}
break;
case ZIG_STATE_GANG43on:
{
LOG_I("gang 43 on");
LOG_I_LINE("gang 43 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_3,0);
}
break;
case ZIG_STATE_GANG43off:
{
LOG_I("gang 43 off");
LOG_I_LINE("gang 43 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_3,1);
}
break;
case ZIG_STATE_GANG44on:
{
LOG_I("gang 44 on");
LOG_I_LINE("gang 44 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_4,0);
}
break;
case ZIG_STATE_GANG44off:
{
LOG_I("gang 44 off");
LOG_I_LINE("gang 44 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_4,1);
}
break;
case ZIG_STATE_GANG4_ALLon:
{
LOG_I("gang4 all on");
LOG_I_LINE("gang4 all on");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_1,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH4_2,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH4_3,0);
@@ -1061,7 +1065,7 @@ void zigbee_fun_task(void *pvParameter)
break;
case ZIG_STATE_GANG4_ALLoff:
{
LOG_I("gang4 all off");
LOG_I_LINE("gang4 all off");
mcu_dp_enum_update(DPID_SCENE_SWITCH4_1,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH4_2,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH4_3,1);
@@ -1071,79 +1075,79 @@ void zigbee_fun_task(void *pvParameter)
//6路场景开关
case ZIG_STATE_GANG61on:
{
LOG_I("gang 61 on");
LOG_I_LINE("gang 61 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_1,0);
}
break;
case ZIG_STATE_GANG61off:
{
LOG_I("gang 61 off");
LOG_I_LINE("gang 61 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_1,1);
}
break;
case ZIG_STATE_GANG62on:
{
LOG_I("gang 62 on");
LOG_I_LINE("gang 62 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_2,0);
}
break;
case ZIG_STATE_GANG62off:
{
LOG_I("gang 62 off");
LOG_I_LINE("gang 62 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_2,1);
}
break;
case ZIG_STATE_GANG63on:
{
LOG_I("gang 63 on");
LOG_I_LINE("gang 63 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_3,0);
}
break;
case ZIG_STATE_GANG63off:
{
LOG_I("gang 63 off");
LOG_I_LINE("gang 63 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_3,1);
}
break;
case ZIG_STATE_GANG64on:
{
LOG_I("gang 64 on");
LOG_I_LINE("gang 64 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_4,0);
}
break;
case ZIG_STATE_GANG64off:
{
LOG_I("gang 64 off");
LOG_I_LINE("gang 64 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_4,1);
}
break;
case ZIG_STATE_GANG65on:
{
LOG_I("gang 65 on");
LOG_I_LINE("gang 65 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_5,0);
}
break;
case ZIG_STATE_GANG65off:
{
LOG_I("gang 65 off");
LOG_I_LINE("gang 65 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_5,1);
}
break;
case ZIG_STATE_GANG66on:
{
LOG_I("gang 66 on");
LOG_I_LINE("gang 66 on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_6,0);
}
break;
case ZIG_STATE_GANG66off:
{
LOG_I("gang 66 off");
LOG_I_LINE("gang 66 off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_6,1);
}
break;
case ZIG_STATE_GANG6_ALLon:
{
LOG_I("gang6 all on");
LOG_I_LINE("gang6 all on");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_1,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH6_2,0);
mcu_dp_enum_update(DPID_SCENE_SWITCH6_3,0);
@@ -1154,7 +1158,7 @@ void zigbee_fun_task(void *pvParameter)
break;
case ZIG_STATE_GANG6_ALLoff:
{
LOG_I("gang6 all off");
LOG_I_LINE("gang6 all off");
mcu_dp_enum_update(DPID_SCENE_SWITCH6_1,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH6_2,1);
mcu_dp_enum_update(DPID_SCENE_SWITCH6_3,1);
@@ -1167,7 +1171,7 @@ void zigbee_fun_task(void *pvParameter)
default:
{
LOG_I( "event error!!!");
LOG_I_LINE( "event error!!!");
}
break;
}
@@ -1178,14 +1182,15 @@ void zigbee_fun_task(void *pvParameter)
int rxBytes = rt_device_read(serial, -1, rxdata, ZIG_RX_BUF_SIZE);
if (rxBytes > 0)
{
//rxdata[rxBytes] = 0;//在串口接收的数据增加结束符
//LOG_I( "rx:%s", (char *)rxdata);
LOG_I("rxBytes:%d\r\n",rxBytes);
esp_log_buffer_hex(LOG_TAG,rxdata,rxBytes);
//ulog_hexdump(DBG_TAG,16,&rxdata,rxBytes);
// //rxdata[rxBytes] = 0;//在串口接收的数据增加结束符
// //LOG_I_LINE( "rx:%s", (char *)rxdata);
// LOG_I_LINE("rxBytes:%d\r\n",rxBytes);
// esp_log_buffer_hex(LOG_TAG,rxdata,rxBytes);
// //ulog_hexdump(DBG_TAG,16,&rxdata,rxBytes);
LOG_HEX(DBG_TAG,16,rxdata,rxBytes);
for(int rxBytesindex=0;rxBytesindex<rxBytes;rxBytesindex++)
{
//LOG_I("rxBytesindex:%d",rxBytesindex);
//LOG_I_LINE("rxBytesindex:%d",rxBytesindex);
//uart_receive_input(ch);//#error "please call this fuction in the interrupt fuction of serial receive, and delete this line"
uart_receive_input(rxdata[rxBytesindex]);//#error "please call this fuction in the interrupt fuction of serial receive, and delete this line"
}