用AaaBbbCcc()格式重命名函数名

This commit is contained in:
zogodo
2020-02-16 10:24:39 +08:00
parent 9f64def0f7
commit 6cca9a0afa
16 changed files with 178 additions and 179 deletions

View File

@@ -243,7 +243,7 @@ static int HttpSetMqttConfig(httpd_request_t *req)
require_noerr(err, exit); require_noerr(err, exit);
sscanf(buf, "%s %d", MQTT_SERVER, &MQTT_SERVER_PORT); sscanf(buf, "%s %d", MQTT_SERVER, &MQTT_SERVER_PORT);
//user_mqtt_init(); //UserMqttInit();
send_http("OK", 2, exit, &err); send_http("OK", 2, exit, &err);
@@ -336,7 +336,7 @@ static int OtaStart(httpd_request_t *req)
require_noerr(err, exit); require_noerr(err, exit);
app_httpd_log("OtaStart ota_url[%s]", buf); app_httpd_log("OtaStart ota_url[%s]", buf);
user_ota_start(buf, NULL); UserOtaStart(buf, NULL);
send_http("OK", 2, exit, &err); send_http("OK", 2, exit, &err);
exit: exit:

View File

@@ -131,11 +131,11 @@ int application_start(void)
sys_config->micoSystemConfig.user_key); sys_config->micoSystemConfig.user_key);
} }
} }
user_udp_init(); UserUdpInit();
KeyInit(); KeyInit();
err = user_mqtt_init(); err = UserMqttInit();
require_noerr(err, exit); require_noerr(err, exit);
err = user_rtc_init(); err = UserRtcInit();
require_noerr(err, exit); require_noerr(err, exit);
PowerInit(); PowerInit();
@@ -153,8 +153,8 @@ int application_start(void)
//SetPowerRecord(&power_record, power2); //SetPowerRecord(&power_record, power2);
sprintf(power_buf, "{\"mac\":\"%s\",\"power\":\"%u.%u\",\"total_time\":%u}", sprintf(power_buf, "{\"mac\":\"%s\",\"power\":\"%u.%u\",\"total_time\":%u}",
strMac, (unsigned int)(power2 / 10), (unsigned int)(power2 % 10), (unsigned int)total_time); strMac, (unsigned int)(power2 / 10), (unsigned int)(power2 % 10), (unsigned int)total_time);
user_send(0, power_buf); UserSend(0, power_buf);
user_mqtt_hass_power(); UserMqttHassPower();
time_t now = time(NULL); time_t now = time(NULL);
if (task_top && now >= task_top->prs_time) if (task_top && now >= task_top->prs_time)

View File

@@ -11,23 +11,22 @@
#include "user_udp.h" #include "user_udp.h"
uint32_t last_time = 0; uint32_t last_time = 0;
bool JsonSocketAnalysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSON * pJsonSend);
void user_function_set_last_time() void UserFunctionSetLastTime()
{ {
last_time = UpTicks(); last_time = UpTicks();
} }
bool json_socket_analysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSON * pJsonSend); void UserSend(int udp_flag, char *s)
void user_send(int udp_flag, char *s)
{ {
if (udp_flag || !user_mqtt_isconnect()) if (udp_flag || !UserMqttIsConnect())
user_udp_send(s); //发送数据 UserUdpSend(s); //发送数据
else else
user_mqtt_send(s); UserMqttSend(s);
} }
void user_function_cmd_received(int udp_flag, char* pusrdata) void UserFunctionCmdReceived(int udp_flag, char* pusrdata)
{ {
unsigned char i; unsigned char i;
@@ -56,7 +55,7 @@ void user_function_cmd_received(int udp_flag, char* pusrdata)
cJSON_AddStringToObject(pRoot, "ip", para.ip); cJSON_AddStringToObject(pRoot, "ip", para.ip);
char *s = cJSON_Print(pRoot); char *s = cJSON_Print(pRoot);
user_send(udp_flag, s); //发送数据 UserSend(udp_flag, s); //发送数据
free((void *) s); free((void *) s);
cJSON_Delete(pRoot); cJSON_Delete(pRoot);
} }
@@ -115,7 +114,7 @@ void user_function_cmd_received(int udp_flag, char* pusrdata)
if (p_ota) if (p_ota)
{ {
if (cJSON_IsString(p_ota)) if (cJSON_IsString(p_ota))
user_ota_start(p_ota->valuestring, NULL); UserOtaStart(p_ota->valuestring, NULL);
} }
cJSON *json_setting_send = cJSON_CreateObject(); cJSON *json_setting_send = cJSON_CreateObject();
@@ -180,7 +179,7 @@ void user_function_cmd_received(int udp_flag, char* pusrdata)
//解析socket----------------------------------------------------------------- //解析socket-----------------------------------------------------------------
for (i = 0; i < SOCKET_NUM; i++) for (i = 0; i < SOCKET_NUM; i++)
{ {
if (json_socket_analysis(udp_flag, i, pJsonRoot, json_send)) if (JsonSocketAnalysis(udp_flag, i, pJsonRoot, json_send))
update_user_config_flag = true; update_user_config_flag = true;
} }
@@ -189,7 +188,7 @@ void user_function_cmd_received(int udp_flag, char* pusrdata)
if (return_flag == true) if (return_flag == true)
{ {
char *json_str = cJSON_Print(json_send); char *json_str = cJSON_Print(json_send);
user_send(udp_flag, json_str); //发送数据 UserSend(udp_flag, json_str); //发送数据
free((void *) json_str); free((void *) json_str);
} }
cJSON_Delete(json_send); cJSON_Delete(json_send);
@@ -210,7 +209,7 @@ void user_function_cmd_received(int udp_flag, char* pusrdata)
*udp_flag:发送udp/mqtt标志位,此处修改插座开关状态时,需要实时更新给domoticz *udp_flag:发送udp/mqtt标志位,此处修改插座开关状态时,需要实时更新给domoticz
*x:插座编号 *x:插座编号
*/ */
bool json_socket_analysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSON * pJsonSend) bool JsonSocketAnalysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSON * pJsonSend)
{ {
if (!pJsonRoot) return false; if (!pJsonRoot) return false;
if (!pJsonSend) return false; if (!pJsonSend) return false;
@@ -234,7 +233,7 @@ bool json_socket_analysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSO
UserRelaySet(x, p_socket_on->valueint); UserRelaySet(x, p_socket_on->valueint);
return_flag = true; return_flag = true;
} }
user_mqtt_send_socket_state(x); UserMqttSendSocketState(x);
} }
//解析socket中setting项目---------------------------------------------- //解析socket中setting项目----------------------------------------------
@@ -250,7 +249,7 @@ bool json_socket_analysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSO
{ {
return_flag = true; return_flag = true;
sprintf(user_config->socket_configs[x].name, p_socket_setting_name->valuestring); sprintf(user_config->socket_configs[x].name, p_socket_setting_name->valuestring);
user_mqtt_hass_auto_name(x); UserMqttHassAutoName(x);
} }
cJSON_AddStringToObject(json_socket_setting_send, "name", user_config->socket_configs[x].name); cJSON_AddStringToObject(json_socket_setting_send, "name", user_config->socket_configs[x].name);
} }
@@ -264,7 +263,7 @@ bool json_socket_analysis(int udp_flag, unsigned char x, cJSON * pJsonRoot, cJSO
return return_flag; return return_flag;
} }
unsigned char strtohex(char a, char b) unsigned char StrToHex(char a, char b)
{ {
if (a >= 0x30 && a <= 0x39) if (a >= 0x30 && a <= 0x39)
{ {

View File

@@ -6,9 +6,9 @@
#include "mico.h" #include "mico.h"
#include "micokit_ext.h" #include "micokit_ext.h"
void user_send(int udp_flag, char *s); void UserSend(int udp_flag, char *s);
void user_function_cmd_received(int udp_flag, char* pusrdata); void UserFunctionCmdReceived(int udp_flag, char* pusrdata);
unsigned char strtohex(char a, char b); unsigned char StrToHex(char a, char b);
#endif #endif

View File

@@ -66,11 +66,11 @@ typedef struct
uint32_t datalen; uint32_t datalen;
} mqtt_recv_msg_t, *p_mqtt_recv_msg_t, mqtt_send_msg_t, *p_mqtt_send_msg_t; } mqtt_recv_msg_t, *p_mqtt_recv_msg_t, mqtt_send_msg_t, *p_mqtt_send_msg_t;
static void mqtt_client_thread(mico_thread_arg_t arg); static void MqttClientThread(mico_thread_arg_t arg);
static void messageArrived(MessageData* md); static void MessageArrived(MessageData* md);
static OSStatus mqtt_msg_publish(Client *c, const char* topic, char qos, char retained, const unsigned char* msg, uint32_t msg_len); static OSStatus MqttMsgPublish(Client *c, const char* topic, char qos, char retained, const unsigned char* msg, uint32_t msg_len);
OSStatus user_recv_handler(void *arg); OSStatus UserRecvHandler(void *arg);
bool isconnect = false; bool isconnect = false;
mico_queue_t mqtt_msg_send_queue = NULL; mico_queue_t mqtt_msg_send_queue = NULL;
@@ -86,7 +86,7 @@ char topic_set[MAX_MQTT_TOPIC_SIZE];
mico_timer_t timer_handle; mico_timer_t timer_handle;
static char timer_status = 0; static char timer_status = 0;
void user_mqtt_timer_func(void *arg) void UserMqttTimerFunc(void *arg)
{ {
char* buf1 = malloc(1024); //idx为1位时长度为24 char* buf1 = malloc(1024); //idx为1位时长度为24
@@ -103,51 +103,51 @@ void user_mqtt_timer_func(void *arg)
switch (timer_status) switch (timer_status)
{ {
case 1: case 1:
user_mqtt_hass_auto_power(); UserMqttHassAutoPower();
break; break;
case 2: case 2:
user_mqtt_hass_auto(0); UserMqttHassAuto(0);
break; break;
case 3: case 3:
user_mqtt_hass_auto(1); UserMqttHassAuto(1);
break; break;
case 4: case 4:
user_mqtt_hass_auto(2); UserMqttHassAuto(2);
break; break;
case 5: case 5:
user_mqtt_hass_auto(3); UserMqttHassAuto(3);
break; break;
case 6: case 6:
user_mqtt_hass_auto(4); UserMqttHassAuto(4);
break; break;
case 7: case 7:
user_mqtt_hass_auto(5); UserMqttHassAuto(5);
break; break;
case 8: case 8:
user_mqtt_hass_auto_name(0); UserMqttHassAutoName(0);
break; break;
case 9: case 9:
user_mqtt_hass_auto_name(1); UserMqttHassAutoName(1);
break; break;
case 10: case 10:
user_mqtt_hass_auto_name(2); UserMqttHassAutoName(2);
break; break;
case 11: case 11:
user_mqtt_hass_auto_name(3); UserMqttHassAutoName(3);
break; break;
case 12: case 12:
user_mqtt_hass_auto_name(4); UserMqttHassAutoName(4);
break; break;
case 13: case 13:
user_mqtt_hass_auto_name(5); UserMqttHassAutoName(5);
break; break;
case 14: case 14:
user_mqtt_hass_auto_power_name(); UserMqttHassAutoPowerName();
break; break;
case 15: case 15:
if (buf1 == NULL) break; if (buf1 == NULL) break;
sprintf(buf1, "{\"mac\":\"%s\",\"version\":null,\"socket_0\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_1\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_2\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_3\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_4\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_5\":{\"on\":null,\"setting\":{\"name\":null}}}", strMac); sprintf(buf1, "{\"mac\":\"%s\",\"version\":null,\"socket_0\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_1\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_2\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_3\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_4\":{\"on\":null,\"setting\":{\"name\":null}},\"socket_5\":{\"on\":null,\"setting\":{\"name\":null}}}", strMac);
user_function_cmd_received(0, buf1); UserFunctionCmdReceived(0, buf1);
free(buf1); free(buf1);
break; break;
default: default:
@@ -159,7 +159,7 @@ void user_mqtt_timer_func(void *arg)
} }
/* Application entrance */ /* Application entrance */
OSStatus user_mqtt_init(void) OSStatus UserMqttInit(void)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
@@ -183,7 +183,7 @@ OSStatus user_mqtt_init(void)
/* start mqtt client */ /* start mqtt client */
err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "mqtt_client", err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "mqtt_client",
(mico_thread_function_t) mqtt_client_thread, (mico_thread_function_t) MqttClientThread,
mqtt_thread_stack_size, 0); mqtt_thread_stack_size, 0);
require_noerr_string(err, exit, "ERROR: Unable to start the mqtt client thread."); require_noerr_string(err, exit, "ERROR: Unable to start the mqtt client thread.");
@@ -196,7 +196,7 @@ OSStatus user_mqtt_init(void)
return err; return err;
} }
static OSStatus mqtt_client_release(Client *c, Network *n) static OSStatus UserMqttClientRelease(Client *c, Network *n)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
@@ -213,7 +213,7 @@ static OSStatus mqtt_client_release(Client *c, Network *n)
} }
// publish msg to mqtt server // publish msg to mqtt server
static OSStatus mqtt_msg_publish(Client *c, const char* topic, char qos, char retained, static OSStatus MqttMsgPublish(Client *c, const char* topic, char qos, char retained,
const unsigned char* msg, const unsigned char* msg,
uint32_t msg_len) uint32_t msg_len)
{ {
@@ -246,7 +246,7 @@ static OSStatus mqtt_msg_publish(Client *c, const char* topic, char qos, char re
return err; return err;
} }
void mqtt_client_thread(mico_thread_arg_t arg) void MqttClientThread(mico_thread_arg_t arg)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
@@ -327,13 +327,13 @@ void mqtt_client_thread(mico_thread_arg_t arg)
mqtt_log("MQTT client connect success!"); mqtt_log("MQTT client connect success!");
/* 4. mqtt client subscribe */ /* 4. mqtt client subscribe */
rc = MQTTSubscribe(&c, topic_set, QOS0, messageArrived); rc = MQTTSubscribe(&c, topic_set, QOS0, MessageArrived);
require_noerr_string(rc, MQTT_reconnect, "ERROR: MQTT client subscribe err."); require_noerr_string(rc, MQTT_reconnect, "ERROR: MQTT client subscribe err.");
mqtt_log("MQTT client subscribe success! recv_topic=[%s].", topic_set); mqtt_log("MQTT client subscribe success! recv_topic=[%s].", topic_set);
/*4.1 连接成功后先更新发送一次数据*/ /*4.1 连接成功后先更新发送一次数据*/
isconnect = true; isconnect = true;
mico_init_timer(&timer_handle, 150, user_mqtt_timer_func, &arg); mico_init_timer(&timer_handle, 150, UserMqttTimerFunc, &arg);
mico_start_timer(&timer_handle); mico_start_timer(&timer_handle);
/* 5. client loop for recv msg && keepalive */ /* 5. client loop for recv msg && keepalive */
while (1) while (1)
@@ -363,7 +363,7 @@ void mqtt_client_thread(mico_thread_arg_t arg)
require_string(p_send_msg, exit, "Wrong data point"); require_string(p_send_msg, exit, "Wrong data point");
// send message to server // send message to server
err = mqtt_msg_publish(&c, p_send_msg->topic, p_send_msg->qos, p_send_msg->retained, err = MqttMsgPublish(&c, p_send_msg->topic, p_send_msg->qos, p_send_msg->retained,
(const unsigned char*)p_send_msg->data, (const unsigned char*)p_send_msg->data,
p_send_msg->datalen); p_send_msg->datalen);
@@ -390,7 +390,7 @@ void mqtt_client_thread(mico_thread_arg_t arg)
timer_status=100; timer_status=100;
mqtt_client_release(&c, &n); UserMqttClientRelease(&c, &n);
isconnect = false; isconnect = false;
UserLedSet(-1); UserLedSet(-1);
mico_rtos_thread_msleep(100); mico_rtos_thread_msleep(100);
@@ -401,12 +401,12 @@ void mqtt_client_thread(mico_thread_arg_t arg)
exit: exit:
isconnect = false; isconnect = false;
mqtt_log("EXIT: MQTT client exit with err = %d.", err); mqtt_log("EXIT: MQTT client exit with err = %d.", err);
mqtt_client_release(&c, &n); UserMqttClientRelease(&c, &n);
mico_rtos_delete_thread(NULL); mico_rtos_delete_thread(NULL);
} }
// callback, msg received from mqtt server // callback, msg received from mqtt server
static void messageArrived(MessageData* md) static void MessageArrived(MessageData* md)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
p_mqtt_recv_msg_t p_recv_msg = NULL; p_mqtt_recv_msg_t p_recv_msg = NULL;
@@ -421,7 +421,7 @@ static void messageArrived(MessageData* md)
strncpy(p_recv_msg->topic, md->topicName->lenstring.data, md->topicName->lenstring.len); strncpy(p_recv_msg->topic, md->topicName->lenstring.data, md->topicName->lenstring.len);
memcpy(p_recv_msg->data, message->payload, message->payloadlen); memcpy(p_recv_msg->data, message->payload, message->payloadlen);
err = mico_rtos_send_asynchronous_event(&mqtt_client_worker_thread, user_recv_handler, p_recv_msg); err = mico_rtos_send_asynchronous_event(&mqtt_client_worker_thread, UserRecvHandler, p_recv_msg);
require_noerr(err, exit); require_noerr(err, exit);
exit: exit:
@@ -434,21 +434,21 @@ static void messageArrived(MessageData* md)
} }
/* Application process MQTT received data */ /* Application process MQTT received data */
OSStatus user_recv_handler(void *arg) OSStatus UserRecvHandler(void *arg)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
p_mqtt_recv_msg_t p_recv_msg = arg; p_mqtt_recv_msg_t p_recv_msg = arg;
require(p_recv_msg, exit); require(p_recv_msg, exit);
app_log("user get data success! from_topic=[%s], msg=[%ld].\r\n", p_recv_msg->topic, p_recv_msg->datalen); app_log("user get data success! from_topic=[%s], msg=[%ld].\r\n", p_recv_msg->topic, p_recv_msg->datalen);
user_function_cmd_received(0, p_recv_msg->data); UserFunctionCmdReceived(0, p_recv_msg->data);
free(p_recv_msg); free(p_recv_msg);
exit: exit:
return err; return err;
} }
OSStatus user_mqtt_send_topic(char *topic, char *arg, char retained) OSStatus UserMqttSendTopic(char *topic, char *arg, char retained)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
p_mqtt_send_msg_t p_send_msg = NULL; p_mqtt_send_msg_t p_send_msg = NULL;
@@ -484,13 +484,13 @@ OSStatus user_mqtt_send_topic(char *topic, char *arg, char retained)
} }
/* Application collect data and seng them to MQTT send queue */ /* Application collect data and seng them to MQTT send queue */
OSStatus user_mqtt_send(char *arg) OSStatus UserMqttSend(char *arg)
{ {
return user_mqtt_send_topic(topic_state, arg, 0); return UserMqttSendTopic(topic_state, arg, 0);
} }
//更新ha开关状态 //更新ha开关状态
OSStatus user_mqtt_send_socket_state(char socket_id) OSStatus UserMqttSendSocketState(char socket_id)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -501,7 +501,7 @@ OSStatus user_mqtt_send_socket_state(char socket_id)
{ {
sprintf(topic_buf, "homeassistant/switch/%s/socket_%d/state", strMac, (int)socket_id); sprintf(topic_buf, "homeassistant/switch/%s/socket_%d/state", strMac, (int)socket_id);
sprintf(send_buf, "{\"mac\":\"%s\",\"socket_%d\":{\"on\":%d}}", strMac, socket_id, (int)user_config->socket_configs[(int)socket_id].on); sprintf(send_buf, "{\"mac\":\"%s\",\"socket_%d\":{\"on\":%d}}", strMac, socket_id, (int)user_config->socket_configs[(int)socket_id].on);
oss_status = user_mqtt_send_topic(topic_buf, send_buf, 1); oss_status = UserMqttSendTopic(topic_buf, send_buf, 1);
} }
if (send_buf) free(send_buf); if (send_buf) free(send_buf);
if (topic_buf) free(topic_buf); if (topic_buf) free(topic_buf);
@@ -510,7 +510,7 @@ OSStatus user_mqtt_send_socket_state(char socket_id)
} }
//hass mqtt自动发现数据开关发送 //hass mqtt自动发现数据开关发送
void user_mqtt_hass_auto(char socket_id) void UserMqttHassAuto(char socket_id)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -527,13 +527,13 @@ void user_mqtt_hass_auto(char socket_id)
"\"pl_off\":\"{\\\"mac\\\":\\\"%s\\\",\\\"socket_%d\\\":{\\\"on\\\":0}}\"" "\"pl_off\":\"{\\\"mac\\\":\\\"%s\\\",\\\"socket_%d\\\":{\\\"on\\\":0}}\""
"}", "}",
socket_id, strMac + 8, strMac, socket_id, strMac, socket_id, strMac, socket_id); socket_id, strMac + 8, strMac, socket_id, strMac, socket_id, strMac, socket_id);
user_mqtt_send_topic(topic_buf, send_buf, 1); UserMqttSendTopic(topic_buf, send_buf, 1);
} }
if (send_buf) free(send_buf); if (send_buf) free(send_buf);
if (topic_buf) free(topic_buf); if (topic_buf) free(topic_buf);
} }
void user_mqtt_hass_auto_name(char socket_id) void UserMqttHassAutoName(char socket_id)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -550,7 +550,7 @@ void user_mqtt_hass_auto_name(char socket_id)
"\"pl_off\":\"{\\\"mac\\\":\\\"%s\\\",\\\"socket_%d\\\":{\\\"on\\\":0}}\"" "\"pl_off\":\"{\\\"mac\\\":\\\"%s\\\",\\\"socket_%d\\\":{\\\"on\\\":0}}\""
"}", "}",
user_config->socket_configs[(int)socket_id].name, strMac, socket_id, strMac, socket_id, strMac, socket_id); user_config->socket_configs[(int)socket_id].name, strMac, socket_id, strMac, socket_id, strMac, socket_id);
user_mqtt_send_topic(topic_buf, send_buf, 0); UserMqttSendTopic(topic_buf, send_buf, 0);
} }
if (send_buf) if (send_buf)
free(send_buf); free(send_buf);
@@ -558,7 +558,7 @@ void user_mqtt_hass_auto_name(char socket_id)
free(topic_buf); free(topic_buf);
} }
//hass mqtt自动发现数据功率发送 //hass mqtt自动发现数据功率发送
void user_mqtt_hass_auto_power(void) void UserMqttHassAutoPower(void)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -576,12 +576,12 @@ void user_mqtt_hass_auto_power(void)
"}", "}",
strMac + 8, strMac); strMac + 8, strMac);
user_mqtt_send_topic(topic_buf, send_buf, 1); UserMqttSendTopic(topic_buf, send_buf, 1);
} }
if (send_buf) free(send_buf); if (send_buf) free(send_buf);
if (topic_buf) free(topic_buf); if (topic_buf) free(topic_buf);
} }
void user_mqtt_hass_auto_power_name(void) void UserMqttHassAutoPowerName(void)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -604,7 +604,7 @@ void user_mqtt_hass_auto_power_name(void)
send_buf[16] = 0xe7; send_buf[16] = 0xe7;
send_buf[17] = 0x8e; send_buf[17] = 0x8e;
send_buf[18] = 0x87; send_buf[18] = 0x87;
user_mqtt_send_topic(topic_buf, send_buf, 0); UserMqttSendTopic(topic_buf, send_buf, 0);
} }
if (send_buf) if (send_buf)
free(send_buf); free(send_buf);
@@ -612,7 +612,7 @@ void user_mqtt_hass_auto_power_name(void)
free(topic_buf); free(topic_buf);
} }
void user_mqtt_hass_power(void) void UserMqttHassPower(void)
{ {
char *send_buf = NULL; char *send_buf = NULL;
char *topic_buf = NULL; char *topic_buf = NULL;
@@ -622,13 +622,13 @@ void user_mqtt_hass_power(void)
{ {
sprintf(topic_buf, "homeassistant/sensor/%s/power/state", strMac); sprintf(topic_buf, "homeassistant/sensor/%s/power/state", strMac);
sprintf(send_buf, "{\"power\":\"%d.%d\"}", (int)(power/10), (int)(power%10)); sprintf(send_buf, "{\"power\":\"%d.%d\"}", (int)(power/10), (int)(power%10));
user_mqtt_send_topic(topic_buf, send_buf, 0); UserMqttSendTopic(topic_buf, send_buf, 0);
} }
if (send_buf) free(send_buf); if (send_buf) free(send_buf);
if (topic_buf) free(topic_buf); if (topic_buf) free(topic_buf);
} }
bool user_mqtt_isconnect() bool UserMqttIsConnect()
{ {
return isconnect; return isconnect;
} }

View File

@@ -18,13 +18,13 @@
#define MQTT_SERVER user_config->mqtt_ip #define MQTT_SERVER user_config->mqtt_ip
#define MQTT_SERVER_PORT user_config->mqtt_port #define MQTT_SERVER_PORT user_config->mqtt_port
extern OSStatus user_mqtt_init(void); extern OSStatus UserMqttInit(void);
extern OSStatus user_mqtt_send(char *arg); extern OSStatus UserMqttSend(char *arg);
extern bool user_mqtt_isconnect(void); extern bool UserMqttIsConnect(void);
extern OSStatus user_mqtt_send_socket_state(char socket_id); extern OSStatus UserMqttSendSocketState(char socket_id);
extern void user_mqtt_hass_auto(char socket_id); extern void UserMqttHassAuto(char socket_id);
extern void user_mqtt_hass_auto_name(char socket_id); extern void UserMqttHassAutoName(char socket_id);
extern void user_mqtt_hass_power(void); extern void UserMqttHassPower(void);
extern void user_mqtt_hass_auto_power(void); extern void UserMqttHassAutoPower(void);
extern void user_mqtt_hass_auto_power_name(void); extern void UserMqttHassAutoPowerName(void);
#endif #endif

View File

@@ -49,13 +49,13 @@ static CRC16_Context crc_context;
static md5_context md5; static md5_context md5;
static uint32_t offset = 0; static uint32_t offset = 0;
static OSStatus onReceivedData(struct _HTTPHeader_t * httpHeader, static OSStatus OnReceivedData(struct _HTTPHeader_t * httpHeader,
uint32_t pos, uint32_t pos,
uint8_t *data, uint8_t *data,
size_t len, size_t len,
void * userContext); void * userContext);
static void hex2str(char *hex, int hex_len, char *str) static void Hex2Str(char *hex, int hex_len, char *str)
{ {
int i = 0; int i = 0;
for(i=0; i<hex_len; i++){ for(i=0; i<hex_len; i++){
@@ -63,7 +63,7 @@ static void hex2str(char *hex, int hex_len, char *str)
} }
} }
static void upper2lower(char *str, int len) static void Upper2Ower(char *str, int len)
{ {
int i = 0; int i = 0;
for(i=0; i<len; i++) for(i=0; i<len; i++)
@@ -74,7 +74,7 @@ static void upper2lower(char *str, int len)
} }
} }
static int ota_server_send(char *data, int datalen) static int OtaServerSend(char *data, int datalen)
{ {
int res = 0; int res = 0;
if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){ if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){
@@ -88,7 +88,7 @@ static int ota_server_send(char *data, int datalen)
return res; return res;
} }
static OSStatus ota_server_connect(struct sockaddr_in *addr, socklen_t addrlen) static OSStatus OtaServerConnect(struct sockaddr_in *addr, socklen_t addrlen)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
#if OTA_USE_HTTPS #if OTA_USE_HTTPS
@@ -109,7 +109,7 @@ exit:
return err; return err;
} }
static int ota_server_read_header(HTTPHeader_t *httpHeader) static int OtaServerReadHeader(HTTPHeader_t *httpHeader)
{ {
int res = 0; int res = 0;
if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){ if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){
@@ -124,7 +124,7 @@ static int ota_server_read_header(HTTPHeader_t *httpHeader)
return res; return res;
} }
static int ota_server_read_body(HTTPHeader_t *httpHeader) static int OtaServerReadBody(HTTPHeader_t *httpHeader)
{ {
int res = 0; int res = 0;
if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){ if(ota_server_context->download_url.HTTP_SECURITY == HTTP_SECURITY_HTTP){
@@ -138,7 +138,7 @@ static int ota_server_read_body(HTTPHeader_t *httpHeader)
return res; return res;
} }
static int ota_server_send_header(void) static int OtaServerSendHeader(void)
{ {
char *header = NULL; char *header = NULL;
int j = 0; int j = 0;
@@ -174,14 +174,14 @@ static int ota_server_send_header(void)
j += sprintf(header + j, "\r\n"); j += sprintf(header + j, "\r\n");
ret = ota_server_send((char *) header, strlen(header)); ret = OtaServerSend((char *) header, strlen(header));
// ota_server_log("send: %d\r\n%s", strlen(header), header); // ota_server_log("send: %d\r\n%s", strlen(header), header);
if (header != NULL) free(header); if (header != NULL) free(header);
return ret; return ret;
} }
static void ota_server_socket_close(void) static void OtaServerSocketClose(void)
{ {
#if OTA_USE_HTTPS #if OTA_USE_HTTPS
if (ota_server_context->download_url.ota_ssl) ssl_close(ota_server_context->download_url.ota_ssl); if (ota_server_context->download_url.ota_ssl) ssl_close(ota_server_context->download_url.ota_ssl);
@@ -190,7 +190,7 @@ static void ota_server_socket_close(void)
ota_server_context->download_url.ota_fd = -1; ota_server_context->download_url.ota_fd = -1;
} }
static int ota_server_connect_server(struct in_addr in_addr) static int OtaServerConnectServer(struct in_addr in_addr)
{ {
int err = 0; int err = 0;
struct sockaddr_in server_address; struct sockaddr_in server_address;
@@ -212,7 +212,7 @@ static int ota_server_connect_server(struct in_addr in_addr)
server_address.sin_family = AF_INET; server_address.sin_family = AF_INET;
server_address.sin_addr = in_addr; server_address.sin_addr = in_addr;
err = ota_server_connect(&server_address, sizeof(server_address)); err = OtaServerConnect(&server_address, sizeof(server_address));
if (err != 0) if (err != 0)
{ {
mico_thread_sleep(1); mico_thread_sleep(1);
@@ -223,7 +223,7 @@ static int ota_server_connect_server(struct in_addr in_addr)
return 0; return 0;
} }
static void ota_server_progress_set(OTA_STATE_E state) static void OtaServerProgressSet(OTA_STATE_E state)
{ {
float progress = 0.00; float progress = 0.00;
@@ -233,7 +233,7 @@ static void ota_server_progress_set(OTA_STATE_E state)
ota_server_context->ota_server_cb(state, progress); ota_server_context->ota_server_cb(state, progress);
} }
static void ota_server_thread(mico_thread_arg_t arg) static void OtaServerThread(mico_thread_arg_t arg)
{ {
OSStatus err; OSStatus err;
uint16_t crc16 = 0; uint16_t crc16 = 0;
@@ -249,7 +249,7 @@ static void ota_server_thread(mico_thread_arg_t arg)
ota_server_context->ota_control = OTA_CONTROL_START; ota_server_context->ota_control = OTA_CONTROL_START;
hostent_content = gethostbyname(ota_server_context->download_url.host); hostent_content = gethostbyname(ota_server_context->download_url.host);
require_action_quiet(hostent_content != NULL, DELETE, ota_server_progress_set(OTA_FAIL)); require_action_quiet(hostent_content != NULL, DELETE, OtaServerProgressSet(OTA_FAIL));
pptr=hostent_content->h_addr_list; pptr=hostent_content->h_addr_list;
in_addr.s_addr = *(uint32_t *)(*pptr); in_addr.s_addr = *(uint32_t *)(*pptr);
strcpy(ota_server_context->download_url.ip, inet_ntoa(in_addr)); strcpy(ota_server_context->download_url.ip, inet_ntoa(in_addr));
@@ -263,8 +263,8 @@ static void ota_server_thread(mico_thread_arg_t arg)
InitMd5(&md5); InitMd5(&md5);
} }
httpHeader = HTTPHeaderCreateWithCallback(1024, onReceivedData, NULL, NULL); httpHeader = HTTPHeaderCreateWithCallback(1024, OnReceivedData, NULL, NULL);
require_action(httpHeader, DELETE, ota_server_progress_set(OTA_FAIL)); require_action(httpHeader, DELETE, OtaServerProgressSet(OTA_FAIL));
while (1) while (1)
{ {
@@ -276,11 +276,11 @@ static void ota_server_thread(mico_thread_arg_t arg)
} }
ota_server_context->download_url.ota_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); ota_server_context->download_url.ota_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
err = ota_server_connect_server(in_addr); err = OtaServerConnectServer(in_addr);
require_noerr_action(err, RECONNECTED, ota_server_progress_set(OTA_FAIL)); require_noerr_action(err, RECONNECTED, OtaServerProgressSet(OTA_FAIL));
/* Send HTTP Request */ /* Send HTTP Request */
ota_server_send_header(); OtaServerSendHeader();
FD_ZERO(&readfds); FD_ZERO(&readfds);
FD_SET(ota_server_context->download_url.ota_fd, &readfds); FD_SET(ota_server_context->download_url.ota_fd, &readfds);
@@ -289,7 +289,7 @@ static void ota_server_thread(mico_thread_arg_t arg)
if (FD_ISSET(ota_server_context->download_url.ota_fd, &readfds)) if (FD_ISSET(ota_server_context->download_url.ota_fd, &readfds))
{ {
/*parse header*/ /*parse header*/
err = ota_server_read_header(httpHeader); err = OtaServerReadHeader(httpHeader);
if (ota_server_context->ota_control == OTA_CONTROL_START) if (ota_server_context->ota_control == OTA_CONTROL_START)
{ {
ota_server_context->download_state.download_len = httpHeader->contentLength; ota_server_context->download_state.download_len = httpHeader->contentLength;
@@ -301,7 +301,7 @@ static void ota_server_thread(mico_thread_arg_t arg)
#if OTA_DEBUG #if OTA_DEBUG
PrintHTTPHeader(httpHeader); PrintHTTPHeader(httpHeader);
#endif #endif
err = ota_server_read_body(httpHeader);/*get body data*/ err = OtaServerReadBody(httpHeader);/*get body data*/
require_noerr(err, RECONNECTED); require_noerr(err, RECONNECTED);
/*get data and print*/ /*get data and print*/
break; break;
@@ -317,34 +317,34 @@ static void ota_server_thread(mico_thread_arg_t arg)
if (ota_server_context->download_state.download_len == ota_server_context->download_state.download_begin_pos) if (ota_server_context->download_state.download_len == ota_server_context->download_state.download_begin_pos)
{ {
if(httpHeader->statusCode != 200){ if(httpHeader->statusCode != 200){
ota_server_progress_set(OTA_FAIL); OtaServerProgressSet(OTA_FAIL);
goto DELETE; goto DELETE;
} }
CRC16_Final(&crc_context, &crc16); CRC16_Final(&crc_context, &crc16);
if(ota_server_context->ota_check.is_md5 == true){ if(ota_server_context->ota_check.is_md5 == true){
Md5Final(&md5, (unsigned char *) md5_value); Md5Final(&md5, (unsigned char *) md5_value);
hex2str((char *)md5_value, 16, md5_value_string); Hex2Str((char *)md5_value, 16, md5_value_string);
} }
if (memcmp(md5_value_string, ota_server_context->ota_check.md5, OTA_MD5_LENTH) == 0){ if (memcmp(md5_value_string, ota_server_context->ota_check.md5, OTA_MD5_LENTH) == 0){
ota_server_progress_set(OTA_SUCCE); OtaServerProgressSet(OTA_SUCCE);
mico_ota_switch_to_new_fw(ota_server_context->download_state.download_len, crc16); mico_ota_switch_to_new_fw(ota_server_context->download_state.download_len, crc16);
mico_system_power_perform(mico_system_context_get(), eState_Software_Reset); mico_system_power_perform(mico_system_context_get(), eState_Software_Reset);
}else{ }else{
ota_server_log("OTA md5 check err, Calculation:%s, Get:%s", md5_value_string, ota_server_context->ota_check.md5); ota_server_log("OTA md5 check err, Calculation:%s, Get:%s", md5_value_string, ota_server_context->ota_check.md5);
ota_server_progress_set(OTA_FAIL); OtaServerProgressSet(OTA_FAIL);
} }
goto DELETE; goto DELETE;
} }
RECONNECTED: RECONNECTED:
ota_server_socket_close(); OtaServerSocketClose();
mico_thread_sleep(2); mico_thread_sleep(2);
continue; continue;
} }
DELETE: DELETE:
HTTPHeaderDestory(&httpHeader); HTTPHeaderDestory(&httpHeader);
ota_server_socket_close(); OtaServerSocketClose();
if(ota_server_context != NULL){ if(ota_server_context != NULL){
if(ota_server_context->download_url.url != NULL){ if(ota_server_context->download_url.url != NULL){
free(ota_server_context->download_url.url); free(ota_server_context->download_url.url);
@@ -359,7 +359,7 @@ DELETE:
} }
/*one request may receive multi reply*/ /*one request may receive multi reply*/
static OSStatus onReceivedData(struct _HTTPHeader_t * inHeader, uint32_t inPos, uint8_t * inData, static OSStatus OnReceivedData(struct _HTTPHeader_t * inHeader, uint32_t inPos, uint8_t * inData,
size_t inLen, void * inUserContext) size_t inLen, void * inUserContext)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
@@ -376,7 +376,7 @@ static OSStatus onReceivedData(struct _HTTPHeader_t * inHeader, uint32_t inPos,
MicoFlashWrite(MICO_PARTITION_OTA_TEMP, &offset, inData, inLen); MicoFlashWrite(MICO_PARTITION_OTA_TEMP, &offset, inData, inLen);
ota_server_progress_set(OTA_LOADING); OtaServerProgressSet(OTA_LOADING);
if(ota_server_context->ota_control == OTA_CONTROL_PAUSE){ if(ota_server_context->ota_control == OTA_CONTROL_PAUSE){
while(1){ while(1){
@@ -393,7 +393,7 @@ static OSStatus onReceivedData(struct _HTTPHeader_t * inHeader, uint32_t inPos,
return err; return err;
} }
static OSStatus ota_server_set_url(char *url) static OSStatus OtaServerSetUrl(char *url)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
url_field_t *url_t; url_field_t *url_t;
@@ -428,7 +428,7 @@ exit:
return err; return err;
} }
OSStatus ota_server_start(char *url, char *md5, ota_server_cb_fn call_back) OSStatus OtaServerStart(char *url, char *md5, ota_server_cb_fn call_back)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
@@ -451,38 +451,38 @@ OSStatus ota_server_start(char *url, char *md5, ota_server_cb_fn call_back)
require_action(ota_server_context->download_url.url, exit, err = kNoMemoryErr); require_action(ota_server_context->download_url.url, exit, err = kNoMemoryErr);
memset(ota_server_context->download_url.url, 0x00, strlen(url)); memset(ota_server_context->download_url.url, 0x00, strlen(url));
err = ota_server_set_url(url); err = OtaServerSetUrl(url);
require_noerr(err, exit); require_noerr(err, exit);
if(md5 != NULL){ if(md5 != NULL){
ota_server_context->ota_check.is_md5 = true; ota_server_context->ota_check.is_md5 = true;
memcpy(ota_server_context->ota_check.md5, md5, OTA_MD5_LENTH); memcpy(ota_server_context->ota_check.md5, md5, OTA_MD5_LENTH);
upper2lower(ota_server_context->ota_check.md5, OTA_MD5_LENTH); Upper2Ower(ota_server_context->ota_check.md5, OTA_MD5_LENTH);
} }
ota_server_context->ota_server_cb = call_back; ota_server_context->ota_server_cb = call_back;
err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "OTA", ota_server_thread, OTA_SERVER_THREAD_STACK_SIZE, 0); err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "OTA", OtaServerThread, OTA_SERVER_THREAD_STACK_SIZE, 0);
exit: exit:
return err; return err;
} }
void ota_server_pause(void) void OtaServerPause(void)
{ {
ota_server_context->ota_control = OTA_CONTROL_PAUSE; ota_server_context->ota_control = OTA_CONTROL_PAUSE;
} }
void ota_server_continue(void) void OtaServerContinue(void)
{ {
ota_server_context->ota_control = OTA_CONTROL_CONTINUE; ota_server_context->ota_control = OTA_CONTROL_CONTINUE;
} }
void ota_server_stop(void) void OtaServerStop(void)
{ {
ota_server_context->ota_control = OTA_CONTROL_STOP; ota_server_context->ota_control = OTA_CONTROL_STOP;
} }
OTA_CONTROL_E ota_server_get(void) OTA_CONTROL_E OtaServerGet(void)
{ {
return ota_server_context->ota_control; return ota_server_context->ota_control;
} }

View File

@@ -109,34 +109,34 @@ typedef struct _ota_server_context_t{
* @return kNoErr : on success. * @return kNoErr : on success.
* @return kGeneralErr : if an error occurred * @return kGeneralErr : if an error occurred
*/ */
OSStatus ota_server_start(char *url, char *md5, ota_server_cb_fn call_back); OSStatus OtaServerStart(char *url, char *md5, ota_server_cb_fn call_back);
/** @brief Get OTA server state /** @brief Get OTA server state
* *
* @return OTA_CONTROL_E : state * @return OTA_CONTROL_E : state
*/ */
OTA_CONTROL_E ota_server_state_get(void); OTA_CONTROL_E OtaServerStateGet(void);
/** @brief Pause OTA server daemons /** @brief Pause OTA server daemons
* *
* @return No * @return No
*/ */
void ota_server_pause(void); void OtaServerPause(void);
/** @brief Continue OTA server daemons /** @brief Continue OTA server daemons
* *
* @return No * @return No
*/ */
void ota_server_continue(void); void OtaServerContinue(void);
/** @brief Stop OTA server daemons /** @brief Stop OTA server daemons
* *
* @return No * @return No
*/ */
void ota_server_stop(void); void OtaServerStop(void);
#endif #endif

View File

@@ -10,7 +10,7 @@
float ota_progress = 0; float ota_progress = 0;
static void ota_server_status_handler(OTA_STATE_E state, float progress) static void OtaServerStatusHandler(OTA_STATE_E state, float progress)
{ {
char str[64] = { 0 }; char str[64] = { 0 };
switch (state) switch (state)
@@ -35,14 +35,14 @@ static void ota_server_status_handler(OTA_STATE_E state, float progress)
} }
if (str[0] > 0) if (str[0] > 0)
{ {
user_send(true, str); UserSend(true, str);
} }
} }
void user_ota_start(char *url, char *md5) void UserOtaStart(char *url, char *md5)
{ {
ota_progress = 0; ota_progress = 0;
os_log("ready to ota:%s",url); os_log("ready to ota:%s",url);
ota_server_start(url, md5, ota_server_status_handler); OtaServerStart(url, md5, OtaServerStatusHandler);
} }

View File

@@ -3,6 +3,6 @@
extern float ota_progress; extern float ota_progress;
void user_ota_start(char *url, char *md5); void UserOtaStart(char *url, char *md5);
#endif #endif

View File

@@ -8,9 +8,9 @@
#include "mqtt_server/user_mqtt_client.h" #include "mqtt_server/user_mqtt_client.h"
#include "mqtt_server/user_function.h" #include "mqtt_server/user_function.h"
void rtc_thread(mico_thread_arg_t arg); void RtcThread(mico_thread_arg_t arg);
OSStatus user_sntp_get_time() OSStatus UserSntpGetTime()
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
ntp_timestamp_t current_time; ntp_timestamp_t current_time;
@@ -64,13 +64,13 @@ OSStatus user_sntp_get_time()
return kNoErr; return kNoErr;
} }
OSStatus user_rtc_init(void) OSStatus UserRtcInit(void)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
/* start rtc client */ /* start rtc client */
err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "rtc", err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "rtc",
(mico_thread_function_t) rtc_thread, (mico_thread_function_t) RtcThread,
0x1000, 0); 0x1000, 0);
require_noerr_string(err, exit, "ERROR: Unable to start the rtc thread."); require_noerr_string(err, exit, "ERROR: Unable to start the rtc thread.");
@@ -80,7 +80,7 @@ OSStatus user_rtc_init(void)
return err; return err;
} }
void rtc_thread(mico_thread_arg_t arg) void RtcThread(mico_thread_arg_t arg)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
LinkStatusTypeDef LinkStatus; LinkStatusTypeDef LinkStatus;
@@ -93,7 +93,7 @@ void rtc_thread(mico_thread_arg_t arg)
micoWlanGetLinkStatus(&LinkStatus); micoWlanGetLinkStatus(&LinkStatus);
if (LinkStatus.is_connected == 1) if (LinkStatus.is_connected == 1)
{ {
err = user_sntp_get_time(); err = UserSntpGetTime();
if (err == kNoErr) if (err == kNoErr)
{ {
os_log("sntp success!"); os_log("sntp success!");
@@ -133,7 +133,7 @@ void rtc_thread(mico_thread_arg_t arg)
micoWlanGetLinkStatus(&LinkStatus); micoWlanGetLinkStatus(&LinkStatus);
if (LinkStatus.is_connected == 1) if (LinkStatus.is_connected == 1)
{ {
err = user_sntp_get_time(); err = UserSntpGetTime();
if (err == kNoErr) if (err == kNoErr)
rtc_init = 1; rtc_init = 1;
else else

View File

@@ -7,7 +7,7 @@
#include "micokit_ext.h" #include "micokit_ext.h"
extern OSStatus user_rtc_init(void); extern OSStatus UserRtcInit(void);
#endif #endif

View File

@@ -102,7 +102,7 @@ static void KeyLongPress(void)
{ {
// os_log("KeyLongPress"); // os_log("KeyLongPress");
// UserLedSet(1); // UserLedSet(1);
// user_mqtt_send("mqtt test"); // UserMqttSend("mqtt test");
} }
static void KeyLong10sPress(void) static void KeyLong10sPress(void)
@@ -127,7 +127,7 @@ static void KeyShortPress(void)
for (i = 0; i < SOCKET_NUM; i++) for (i = 0; i < SOCKET_NUM; i++)
{ {
user_mqtt_send_socket_state(i); UserMqttSendSocketState(i);
} }
} }
mico_timer_t user_key_timer; mico_timer_t user_key_timer;

View File

@@ -9,7 +9,7 @@
#define MAX_UDP_DATA_SIZE (1024) #define MAX_UDP_DATA_SIZE (1024)
#define MAX_UDP_SEND_QUEUE_SIZE (5) #define MAX_UDP_SEND_QUEUE_SIZE (5)
mico_queue_t udp_msg_send_queue = NULL; mico_queue_t UdpMsgSend_queue = NULL;
typedef struct typedef struct
{ {
@@ -17,15 +17,15 @@ typedef struct
char data[MAX_UDP_DATA_SIZE]; char data[MAX_UDP_DATA_SIZE];
} udp_send_msg_t, *p_udp_send_msg_t; } udp_send_msg_t, *p_udp_send_msg_t;
static OSStatus udp_msg_send(int socket, const unsigned char* msg, uint32_t msg_len); static OSStatus UdpMsgSend(int socket, const unsigned char* msg, uint32_t msg_len);
void udp_thread(void *arg); void UdpThread(void *arg);
OSStatus user_udp_init(void) OSStatus UserUdpInit(void)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
/* start udp client */ /* start udp client */
err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "udp", err = mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "udp",
(mico_thread_function_t) udp_thread, (mico_thread_function_t) UdpThread,
0x1000, 0); 0x1000, 0);
require_noerr_string(err, exit, "ERROR: Unable to start the rtc thread."); require_noerr_string(err, exit, "ERROR: Unable to start the rtc thread.");
@@ -37,7 +37,7 @@ OSStatus user_udp_init(void)
} }
/*create udp socket*/ /*create udp socket*/
void udp_thread(void *arg) void UdpThread(void *arg)
{ {
UNUSED_PARAMETER(arg); UNUSED_PARAMETER(arg);
@@ -53,11 +53,11 @@ void udp_thread(void *arg)
char *buf = NULL; char *buf = NULL;
/* create udp msg send queue */ /* create udp msg send queue */
err = mico_rtos_init_queue(&udp_msg_send_queue, "uqp_msg_send_queue", sizeof(p_udp_send_msg_t), err = mico_rtos_init_queue(&UdpMsgSend_queue, "uqp_msg_send_queue", sizeof(p_udp_send_msg_t),
MAX_UDP_SEND_QUEUE_SIZE); MAX_UDP_SEND_QUEUE_SIZE);
require_noerr_action(err, exit, os_log("ERROR: create udp msg send queue err=%d.", err)); require_noerr_action(err, exit, os_log("ERROR: create udp msg send queue err=%d.", err));
/* create msg send queue event fd */ /* create msg send queue event fd */
msg_send_event_fd = mico_create_event_fd(udp_msg_send_queue); msg_send_event_fd = mico_create_event_fd(UdpMsgSend_queue);
require_action(msg_send_event_fd >= 0, exit, os_log("ERROR: create msg send queue event fd failed!!!")); require_action(msg_send_event_fd >= 0, exit, os_log("ERROR: create msg send queue event fd failed!!!"));
buf = malloc(1024); buf = malloc(1024);
@@ -91,21 +91,21 @@ void udp_thread(void *arg)
strcpy(ip_address, inet_ntoa(addr.sin_addr)); strcpy(ip_address, inet_ntoa(addr.sin_addr));
if(len<1024) buf[len]=0; if(len<1024) buf[len]=0;
os_log("udp recv from %s:%d, len:%d ", ip_address,addr.sin_port, len); os_log("udp recv from %s:%d, len:%d ", ip_address,addr.sin_port, len);
user_function_cmd_received(1,buf); UserFunctionCmdReceived(1,buf);
// sendto(udp_fd, buf, len, 0, (struct sockaddr *) &addr, sizeof(struct sockaddr_in)); // sendto(udp_fd, buf, len, 0, (struct sockaddr *) &addr, sizeof(struct sockaddr_in));
} }
/* recv msg from user worker thread to be sent to server */ /* recv msg from user worker thread to be sent to server */
if (FD_ISSET(msg_send_event_fd, &readfds)) if (FD_ISSET(msg_send_event_fd, &readfds))
{ {
while (mico_rtos_is_queue_empty(&udp_msg_send_queue) == false) while (mico_rtos_is_queue_empty(&UdpMsgSend_queue) == false)
{ {
// get msg from send queue // get msg from send queue
mico_rtos_pop_from_queue(&udp_msg_send_queue, &p_send_msg, 0); mico_rtos_pop_from_queue(&UdpMsgSend_queue, &p_send_msg, 0);
require_string(p_send_msg, exit, "Wrong data point"); require_string(p_send_msg, exit, "Wrong data point");
// send message to server // send message to server
err = udp_msg_send(udp_fd, (const unsigned char*)p_send_msg->data, p_send_msg->datalen); err = UdpMsgSend(udp_fd, (const unsigned char*)p_send_msg->data, p_send_msg->datalen);
// require_noerr_string(err, MQTT_reconnect, "ERROR: udp publish data err"); // require_noerr_string(err, MQTT_reconnect, "ERROR: udp publish data err");
//os_log("udp send data success! msg=[%ld].\r\n", p_send_msg->datalen); //os_log("udp send data success! msg=[%ld].\r\n", p_send_msg->datalen);
@@ -123,7 +123,7 @@ void udp_thread(void *arg)
} }
// send msg to udp // send msg to udp
static OSStatus udp_msg_send(int socket, const unsigned char* msg, uint32_t msg_len) static OSStatus UdpMsgSend(int socket, const unsigned char* msg, uint32_t msg_len)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
@@ -144,7 +144,7 @@ exit:
} }
/* Application collect data and seng them to udp send queue */ /* Application collect data and seng them to udp send queue */
OSStatus user_udp_send(char *arg) OSStatus UserUdpSend(char *arg)
{ {
OSStatus err = kUnknownErr; OSStatus err = kUnknownErr;
p_udp_send_msg_t p_send_msg = NULL; p_udp_send_msg_t p_send_msg = NULL;
@@ -152,9 +152,9 @@ OSStatus user_udp_send(char *arg)
// app_log("======App prepare to send ![%d]======", MicoGetMemoryInfo()->free_memory); // app_log("======App prepare to send ![%d]======", MicoGetMemoryInfo()->free_memory);
/* Send queue is full, pop the oldest */ /* Send queue is full, pop the oldest */
if (mico_rtos_is_queue_full(&udp_msg_send_queue) == true) if (mico_rtos_is_queue_full(&UdpMsgSend_queue) == true)
{ {
mico_rtos_pop_from_queue(&udp_msg_send_queue, &p_send_msg, 0); mico_rtos_pop_from_queue(&UdpMsgSend_queue, &p_send_msg, 0);
free(p_send_msg); free(p_send_msg);
p_send_msg = NULL; p_send_msg = NULL;
} }
@@ -166,7 +166,7 @@ OSStatus user_udp_send(char *arg)
p_send_msg->datalen = strlen(arg); p_send_msg->datalen = strlen(arg);
memcpy(p_send_msg->data, arg, p_send_msg->datalen); memcpy(p_send_msg->data, arg, p_send_msg->datalen);
err = mico_rtos_push_to_queue(&udp_msg_send_queue, &p_send_msg, 0); err = mico_rtos_push_to_queue(&UdpMsgSend_queue, &p_send_msg, 0);
require_noerr(err, exit); require_noerr(err, exit);
//app_log("Push user msg into send queue success!"); //app_log("Push user msg into send queue success!");

View File

@@ -6,8 +6,8 @@
#include "mico.h" #include "mico.h"
#include "micokit_ext.h" #include "micokit_ext.h"
OSStatus user_udp_init(void); OSStatus UserUdpInit(void);
OSStatus user_udp_send(char *arg); OSStatus UserUdpSend(char *arg);

View File

@@ -12,8 +12,8 @@ char wifi_status = WIFI_STATE_NOCONNECT;
mico_timer_t wifi_led_timer; mico_timer_t wifi_led_timer;
IpStatus ip_status = { 0, ZZ_AP_LOCAL_IP, ZZ_AP_LOCAL_IP, ZZ_AP_NET_MASK }; IpStatus ip_status = { 0, ZZ_AP_LOCAL_IP, ZZ_AP_LOCAL_IP, ZZ_AP_NET_MASK };
char ap_name[32] = { 0 }; char ap_name[32] = { 0 };
char ap_key[32] = { 0 }; char ap_key[32] = { 0 };
//wifi已连接获取到IP地址回调 //wifi已连接获取到IP地址回调
static void WifiGetIpCallback(IPStatusTypedef *pnet, void * arg) static void WifiGetIpCallback(IPStatusTypedef *pnet, void * arg)
@@ -24,7 +24,7 @@ static void WifiGetIpCallback(IPStatusTypedef *pnet, void * arg)
os_log("got IP:%s", pnet->ip); os_log("got IP:%s", pnet->ip);
wifi_status = WIFI_STATE_CONNECTED; wifi_status = WIFI_STATE_CONNECTED;
user_function_cmd_received(1,"{\"cmd\":\"device report\"}"); UserFunctionCmdReceived(1,"{\"cmd\":\"device report\"}");
} }
//wifi连接状态改变回调 //wifi连接状态改变回调
@@ -191,18 +191,18 @@ void ApInit()
os_log("ApInit ap_name[%s] ap_key[%s]", ap_name, ap_key); os_log("ApInit ap_name[%s] ap_key[%s]", ap_name, ap_key);
} }
network_InitTypeDef_st wNetConfig; network_InitTypeDef_st wNetConfig;
memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st)); memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st));
strcpy((char *)wNetConfig.wifi_ssid, ap_name); strcpy((char *)wNetConfig.wifi_ssid, ap_name);
strcpy((char *)wNetConfig.wifi_key, ap_key); strcpy((char *)wNetConfig.wifi_key, ap_key);
wNetConfig.wifi_mode = Soft_AP; wNetConfig.wifi_mode = Soft_AP;
wNetConfig.dhcpMode = DHCP_Server; wNetConfig.dhcpMode = DHCP_Server;
wNetConfig.wifi_retry_interval = 100; wNetConfig.wifi_retry_interval = 100;
strcpy((char *)wNetConfig.local_ip_addr, ZZ_AP_LOCAL_IP); strcpy((char *)wNetConfig.local_ip_addr, ZZ_AP_LOCAL_IP);
strcpy((char *)wNetConfig.net_mask, ZZ_AP_NET_MASK); strcpy((char *)wNetConfig.net_mask, ZZ_AP_NET_MASK);
strcpy((char *)wNetConfig.dnsServer_ip_addr, ZZ_AP_DNS_SERVER); strcpy((char *)wNetConfig.dnsServer_ip_addr, ZZ_AP_DNS_SERVER);
micoWlanStart(&wNetConfig); micoWlanStart(&wNetConfig);
os_log("ApInit ssid[%s] key[%s]", wNetConfig.wifi_ssid, wNetConfig.wifi_key); os_log("ApInit ssid[%s] key[%s]", wNetConfig.wifi_ssid, wNetConfig.wifi_key);
} }