V1.5: 电能日志/上报改为每10s一条(ENERGY_REPORT_INTERVAL_MS宏),运行时间仍60s
This commit is contained in:
parent
499aa9a9a9
commit
3647d0fb14
|
|
@ -3,4 +3,4 @@
|
||||||
/* 本文件为 UTF-8 编码:ARMCC 原样输出字符串字面量的字节,
|
/* 本文件为 UTF-8 编码:ARMCC 原样输出字符串字面量的字节,
|
||||||
* 串口收到即为 UTF-8(串口工具编码选 UTF-8 即可正确显示中文) */
|
* 串口收到即为 UTF-8(串口工具编码选 UTF-8 即可正确显示中文) */
|
||||||
const char FMT_UPTIME[] = "> 运行时间: %u天--%02u小时--%02u分钟";
|
const char FMT_UPTIME[] = "> 运行时间: %u天--%02u小时--%02u分钟";
|
||||||
const char FMT_UPTIME_EN[] = "> 运行时间: %u天--%02u小时--%02u分钟 电能: %.2fkWh 电压: %.1fV 电流: %.2fA 功率: %.1fW";
|
const char FMT_ENERGY[] = "> 电能: %.2fkWh 电压: %.1fV 电流: %.2fA 功率: %.1fW";
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
|
|
||||||
/* 中文日志格式串(UTF-8 编码,定义在 log_cn.c —— 串口工具编码选 UTF-8 即可正确显示) */
|
/* 中文日志格式串(UTF-8 编码,定义在 log_cn.c —— 串口工具编码选 UTF-8 即可正确显示) */
|
||||||
extern const char FMT_UPTIME[]; /* "> 运行时间: %u天--%02u小时--%02u分钟" */
|
extern const char FMT_UPTIME[]; /* "> 运行时间: %u天--%02u小时--%02u分钟" */
|
||||||
extern const char FMT_UPTIME_EN[]; /* 运行时间 + 电能 */
|
extern const char FMT_ENERGY[]; /* 电能 + 电压/电流/功率 */
|
||||||
|
|
||||||
#endif /* LOG_CN_H */
|
#endif /* LOG_CN_H */
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,9 @@ static void app_task(void *arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 电能日志/上报间隔:想改频率就改这个宏(单位 ms) */
|
||||||
|
#define ENERGY_REPORT_INTERVAL_MS 10000u
|
||||||
|
|
||||||
/*==== sys_task:系统辅助(LED/电量/蓝牙命令/运行时长)====*/
|
/*==== sys_task:系统辅助(LED/电量/蓝牙命令/运行时长)====*/
|
||||||
static void sys_task(void *arg)
|
static void sys_task(void *arg)
|
||||||
{
|
{
|
||||||
|
|
@ -198,6 +201,7 @@ static void sys_task(void *arg)
|
||||||
uint32_t batt_tick = HAL_GetTick();
|
uint32_t batt_tick = HAL_GetTick();
|
||||||
uint32_t up_last = HAL_GetTick();
|
uint32_t up_last = HAL_GetTick();
|
||||||
uint32_t up_print = HAL_GetTick();
|
uint32_t up_print = HAL_GetTick();
|
||||||
|
uint32_t en_print = HAL_GetTick();
|
||||||
uint64_t up_ms = 0;
|
uint64_t up_ms = 0;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
@ -229,27 +233,26 @@ static void sys_task(void *arg)
|
||||||
up_print = now;
|
up_print = now;
|
||||||
if (g_net_mqtt_ready) {
|
if (g_net_mqtt_ready) {
|
||||||
uint32_t mins = (uint32_t)(up_ms / 60000);
|
uint32_t mins = (uint32_t)(up_ms / 60000);
|
||||||
if (hlw8032_online()) {
|
log_info(FMT_UPTIME,
|
||||||
/* 每分钟随心跳上报一次累计电量(标识符 energy),日志同步显示 */
|
(unsigned)(mins / 1440),
|
||||||
float kwh = hlw8032_get_energy_kwh();
|
(unsigned)((mins % 1440) / 60),
|
||||||
NET_publish_energy(kwh);
|
(unsigned)(mins % 60));
|
||||||
log_info(FMT_UPTIME_EN,
|
|
||||||
(unsigned)(mins / 1440),
|
|
||||||
(unsigned)((mins % 1440) / 60),
|
|
||||||
(unsigned)(mins % 60), (double)kwh,
|
|
||||||
(double)hlw8032_get_voltage_v(),
|
|
||||||
(double)hlw8032_get_current_a(),
|
|
||||||
(double)hlw8032_get_power_w());
|
|
||||||
} else {
|
|
||||||
log_info(FMT_UPTIME,
|
|
||||||
(unsigned)(mins / 1440),
|
|
||||||
(unsigned)((mins % 1440) / 60),
|
|
||||||
(unsigned)(mins % 60));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 电能日志+上报:联网且计量芯片在线时每 ENERGY_REPORT_INTERVAL_MS 一条 */
|
||||||
|
if (g_net_mqtt_ready && hlw8032_online() &&
|
||||||
|
(HAL_GetTick() - en_print) >= ENERGY_REPORT_INTERVAL_MS) {
|
||||||
|
en_print = HAL_GetTick();
|
||||||
|
float kwh = hlw8032_get_energy_kwh();
|
||||||
|
NET_publish_energy(kwh);
|
||||||
|
log_info(FMT_ENERGY, (double)kwh,
|
||||||
|
(double)hlw8032_get_voltage_v(),
|
||||||
|
(double)hlw8032_get_current_a(),
|
||||||
|
(double)hlw8032_get_power_w());
|
||||||
|
}
|
||||||
|
|
||||||
vTaskDelay(20);
|
vTaskDelay(20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue