Files
zTC1-oldwiki/TC1/user_function.c
Zip 882b4bb0a8 fix:优化rtc及sntp逻辑
fix:优化部分函数名
add:增加relay直接控制函数(未测试)
2019-01-29 16:33:04 +08:00

66 lines
1.9 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#define os_log(format, ...) custom_log("FUNCTION", format, ##__VA_ARGS__)
#include "main.h"
#include "user_gpio.h"
#include "cJSON/cJSON.h"
typedef struct _user_json_context_t
{
int8_t idx;
char name[maxNameLen];
int8_t val;
} user_json_context_t;
void user_function_cmd_received( uint8_t *pusrdata )
{
OSStatus err = kNoErr;
char *out;
cJSON * pJsonRoot = cJSON_Parse( pusrdata );
if ( !pJsonRoot )
{
return;
}
//½âÎöidx×Ö¶ÎintÄÚÈÝ description×Ö¶ÎstringÄÚÈÝ name×Ö¶ÎstringÄÚÈÝ
cJSON *p_idx = cJSON_GetObjectItem( pJsonRoot, "idx" );
cJSON *p_description = cJSON_GetObjectItem( pJsonRoot, "description" );
cJSON *p_name = cJSON_GetObjectItem( pJsonRoot, "name" );
if ( p_idx && cJSON_IsNumber( p_idx ) && p_idx->valueint == 2 ) //idx
{
cJSON *p_nvalue = cJSON_GetObjectItem( pJsonRoot, "nvalue" );
if ( p_nvalue )
{
user_led_set( p_nvalue->valueint );
user_config->idx++;
sys_config->micoSystemConfig.name[0]++;
err=mico_system_context_update( sys_config );
os_log("err:%d[%d]",err,kNoErr);
}
}
else if ( p_idx && cJSON_IsNumber( p_idx ) && p_idx->valueint == 3 ) //idx
{
os_log("val:%d",user_config->idx);
os_log("name:%s",sys_config->micoSystemConfig.name);
os_log("seed:%d",sys_config->micoSystemConfig.seed);
}
/*
if (
(p_idx && cJSON_IsNumber( p_idx ) && p_idx->valueint == 2) //idx
|| (p_description && cJSON_IsString( p_description ) && strcmp( p_description->valuestring, "123" ) == 0) //description mqttid
|| (p_name && cJSON_IsString( p_name ) && strcmp( p_name->valuestring, sys_config->micoSystemConfig.name ) == 0) //name
)
{
cJSON *p_nvalue = cJSON_GetObjectItem( pJsonRoot, "nvalue" );
if ( p_nvalue ) led( p_nvalue->valueint );
}
*/
cJSON_Delete( pJsonRoot );
free( out );
}