1. 新增单双色温的支持 =》 已测试
2. 新增离家模式的支持 => 等待测试
This commit is contained in:
@ -30,7 +30,7 @@ extern "C" {
|
||||
|
||||
#define DEVICE_HIVERSION "1.0.0"
|
||||
/* 设备固件版本号 */
|
||||
#define FIRMWARE_VER "1.0.3"
|
||||
#define FIRMWARE_VER "1.0.4"
|
||||
/* 设备硬件版本号 */
|
||||
#define HARDWARE_VER "1.0.0"
|
||||
/* 设备软件版本号 */
|
||||
|
@ -24,11 +24,13 @@ extern int myhandle_put_cct(const char* svc_id, const char* payload, unsigned in
|
||||
extern int myhandle_put_lightMode(const char* svc_id, const char* payload, unsigned int len);
|
||||
extern int myhandle_put_switch(const char* svc_id, const char* payload, unsigned int len);
|
||||
extern int myhandle_put_progressSwitch(const char* svc_id, const char* payload, unsigned int len);
|
||||
extern int myhandle_put_colourMode(const char* svc_id, const char* payload, unsigned int len);
|
||||
extern int myhandle_get_brightness(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
extern int myhandle_get_cct(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
extern int myhandle_get_lightMode(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
extern int myhandle_get_switch(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
extern int myhandle_get_progressSwitch(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
extern int myhandle_get_colourMode(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
// 声明外部函数
|
||||
extern int myhandle_put_cmd(const char* svc_id, const char* payload, unsigned int len);
|
||||
extern int myhandle_get_cmd(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len);
|
||||
@ -42,9 +44,10 @@ extern int myhandle_get_cmd(const char* svc_id, const char* in, unsigned int in_
|
||||
static const HILINK_SvcInfo SVC_INFO[] = {
|
||||
{ "brightness", "brightness" },
|
||||
{ "cct", "cct" },
|
||||
{ "mode", "colourMode" },
|
||||
{ "mode", "lightMode" },
|
||||
{ "progressSwitch", "progressSwitch" },
|
||||
{ "switch", "switch" },
|
||||
{ "switch", "switch" }
|
||||
#ifdef CONFIG_SUPPORT_HILINK_INDIE_UPGRADE
|
||||
// { "checkSum", "checkSum" },
|
||||
#endif
|
||||
@ -145,6 +148,7 @@ int HILINK_GetSvcInfo(HILINK_SvcInfo *svcInfo[], unsigned int size)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
e_printf("HILINK_GetSvcInfo svcNum:%d\r\n", svcNum);
|
||||
return svcNum;
|
||||
}
|
||||
/* AC参数 */
|
||||
@ -166,6 +170,7 @@ extern int HILINK_HILINK_Printf(const char *format, ...);
|
||||
typedef struct{
|
||||
int brightness_brightness;
|
||||
int cct_colorTemperature;
|
||||
int colourMode_mode;
|
||||
int lightMode_mode;
|
||||
int progressSwitch_fadeTime;
|
||||
int switch_on;
|
||||
@ -218,7 +223,8 @@ int handle_get_switch(const char* svc_id, const char* in, unsigned int in_len,ch
|
||||
HILINK_Printf("%s:%d svcId:%s, *out:%s\r\n",__FUNCTION__ , __LINE__,svc_id, *out);
|
||||
return 0;
|
||||
}
|
||||
// 服务处理信息注册
|
||||
|
||||
#ifndef CONFIG_USE_CUSTOMER_SVC_INFO
|
||||
|
||||
int handle_put_brightness(const char* svc_id, const char* payload, unsigned int len)
|
||||
{
|
||||
@ -268,6 +274,30 @@ int handle_get_cct(const char* svc_id, const char* in, unsigned int in_len, char
|
||||
return 0;
|
||||
}
|
||||
|
||||
int handle_put_colourMode(const char* svc_id, const char* payload, unsigned int len)
|
||||
{
|
||||
cJSON* pJson = cJSON_Parse(payload);
|
||||
if (!pJson)
|
||||
return -1;
|
||||
cJSON* mode_item = cJSON_GetObjectItem(pJson, "mode");
|
||||
if (mode_item)
|
||||
g_device_info.colourMode_mode = mode_item->valueint;
|
||||
HILINK_Printf("%s:%d svcId:%s, payload:%s\r\n", __FUNCTION__, __LINE__, svc_id, payload);
|
||||
cJSON_Delete(pJson);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int handle_get_colourMode(const char* svc_id, const char* in, unsigned int in_len, char** out, unsigned int* out_len)
|
||||
{
|
||||
*out_len = 64;
|
||||
*out = (char*)malloc(*out_len);
|
||||
if (*out == NULL)
|
||||
return -1;
|
||||
*out_len = sprintf_s(*out, *out_len, "{\"mode\":%d}", g_device_info.colourMode_mode);
|
||||
HILINK_Printf("%s:%d svcId:%s, *out:%s\r\n", __FUNCTION__, __LINE__, svc_id, *out);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int handle_put_lightMode(const char* svc_id, const char* payload, unsigned int len)
|
||||
{
|
||||
cJSON* pJson = cJSON_Parse(payload);
|
||||
@ -315,22 +345,23 @@ int handle_get_progressSwitch(const char* svc_id, const char* in, unsigned int i
|
||||
HILINK_Printf("%s:%d svcId:%s, *out:%s\r\n", __FUNCTION__, __LINE__, svc_id, *out);
|
||||
return 0;
|
||||
}
|
||||
#ifdef CONFIG_USE_CUSTOMER_SVC_INFO
|
||||
HANDLE_SVC_INFO g_device_profile[] = {
|
||||
{"brightness", myhandle_put_brightness, myhandle_get_brightness},
|
||||
{"cct", myhandle_put_cct, myhandle_get_cct},
|
||||
{"lightMode", myhandle_put_lightMode, myhandle_get_lightMode},
|
||||
{"progressSwitch", myhandle_put_progressSwitch, myhandle_get_progressSwitch},
|
||||
{"switch", myhandle_put_switch, myhandle_get_switch},
|
||||
};
|
||||
#else
|
||||
HANDLE_SVC_INFO g_device_profile[] = {
|
||||
{"brightness", handle_put_brightness, handle_get_brightness},
|
||||
{"cct", handle_put_cct, handle_get_cct},
|
||||
{"colourMode", handle_put_colourMode, handle_get_colourMode},
|
||||
{"lightMode", handle_put_lightMode, handle_get_lightMode},
|
||||
{"progressSwitch", handle_put_progressSwitch, handle_get_progressSwitch},
|
||||
{"switch", handle_put_switch, handle_get_switch},
|
||||
};
|
||||
#else
|
||||
HANDLE_SVC_INFO g_device_profile[] = {
|
||||
{"brightness", myhandle_put_brightness, myhandle_get_brightness},
|
||||
{"cct", myhandle_put_cct, myhandle_get_cct},
|
||||
{"colourMode", myhandle_put_colourMode, myhandle_get_colourMode},
|
||||
{"lightMode", myhandle_put_lightMode, myhandle_get_lightMode},
|
||||
{"progressSwitch", myhandle_put_progressSwitch, myhandle_get_progressSwitch},
|
||||
{"switch", myhandle_put_switch, myhandle_get_switch},
|
||||
};
|
||||
#endif // end of CONFIG_USE_CUSTOMER_SVC_INFO
|
||||
// 服务总数量
|
||||
int g_device_profile_count = sizeof(g_device_profile) / sizeof(HANDLE_SVC_INFO);
|
||||
@ -514,7 +545,7 @@ void HILINK_NotifyDevStatus(int status)
|
||||
/* 设备与云端连接断开,请在此处添加实现 */
|
||||
#if defined(SUPPORT_MINIMALIST_NETCFG) || defined(SUPPORT_BLE_ANCILLAY_NETCFG)
|
||||
BLE_CfgNetAdvUpdate(NULL);
|
||||
// BLE_CfgNetAdvCtrl(0);
|
||||
BLE_CfgNetAdvCtrl(0);
|
||||
(void)BLE_CfgNetAdvCtrl(0xFFFFFFFF);
|
||||
#endif
|
||||
handle_device_offline();
|
||||
@ -524,7 +555,7 @@ void HILINK_NotifyDevStatus(int status)
|
||||
#if defined(SUPPORT_MINIMALIST_NETCFG) || defined(SUPPORT_BLE_ANCILLAY_NETCFG)
|
||||
BLE_CfgNetAdvUpdate(NULL);
|
||||
BLE_CfgNetAdvCtrl(0);
|
||||
// (void)BLE_CfgNetAdvCtrl(0xFFFFFFFF);
|
||||
(void)BLE_CfgNetAdvCtrl(0xFFFFFFFF);
|
||||
#endif
|
||||
/* 设备连接云端成功,请在此处添加实现 */
|
||||
handle_device_online(); // 处理设备上线
|
||||
|
Reference in New Issue
Block a user