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(串口工具编码选 UTF-8 即可正确显示中文) */
|
||||
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 即可正确显示) */
|
||||
extern const char FMT_UPTIME[]; /* "> 运行时间: %u天--%02u小时--%02u分钟" */
|
||||
extern const char FMT_UPTIME_EN[]; /* 运行时间 + 电能 */
|
||||
extern const char FMT_ENERGY[]; /* 电能 + 电压/电流/功率 */
|
||||
|
||||
#endif /* LOG_CN_H */
|
||||
|
|
|
|||
|
|
@ -191,6 +191,9 @@ static void app_task(void *arg)
|
|||
}
|
||||
}
|
||||
|
||||
/* 电能日志/上报间隔:想改频率就改这个宏(单位 ms) */
|
||||
#define ENERGY_REPORT_INTERVAL_MS 10000u
|
||||
|
||||
/*==== sys_task:系统辅助(LED/电量/蓝牙命令/运行时长)====*/
|
||||
static void sys_task(void *arg)
|
||||
{
|
||||
|
|
@ -198,6 +201,7 @@ static void sys_task(void *arg)
|
|||
uint32_t batt_tick = HAL_GetTick();
|
||||
uint32_t up_last = HAL_GetTick();
|
||||
uint32_t up_print = HAL_GetTick();
|
||||
uint32_t en_print = HAL_GetTick();
|
||||
uint64_t up_ms = 0;
|
||||
|
||||
for (;;) {
|
||||
|
|
@ -229,27 +233,26 @@ static void sys_task(void *arg)
|
|||
up_print = now;
|
||||
if (g_net_mqtt_ready) {
|
||||
uint32_t mins = (uint32_t)(up_ms / 60000);
|
||||
if (hlw8032_online()) {
|
||||
/* 每分钟随心跳上报一次累计电量(标识符 energy),日志同步显示 */
|
||||
float kwh = hlw8032_get_energy_kwh();
|
||||
NET_publish_energy(kwh);
|
||||
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));
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue