Commit 624ce98e authored by Wenxi XU's avatar Wenxi XU
Browse files

在led_service_func中添加CPU使用率计算逻辑,并根据配置条件设置默认值。

parent 5d20e161
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -177,11 +177,15 @@ void led_serivce_func(void *p1, void *p2, void *p3)
		k_msleep(100);
		k_thread_runtime_stats_all_get(&idle_stats_new);

		#if CONFIG_SCHED_THREAD_USAGE_ALL
		// 计算CPU使用率 (0-100)
		idle_cycles_diff = idle_stats_new.idle_cycles - idle_stats_old.idle_cycles;
		total_cycles_diff =
			idle_stats_new.execution_cycles - idle_stats_old.execution_cycles;
		float cpu_usage = 100.0f * (1.0f - ((float)idle_cycles_diff / total_cycles_diff));
		#else
		float cpu_usage = 0.2f;
		#endif

		// // 映射到RGB值 (红色表示高负载,绿色表示低负载)
		uint8_t red = (uint8_t)((cpu_usage / 100.0f) * 0xff);
@@ -232,6 +236,13 @@ void led_init(void)
			NULL, -1, 0, K_NO_WAIT);
}

#ifndef PWR_INIT
#define PWR_INIT
#endif
#ifndef LED_INIT
#define LED_INIT
#endif

int board_init(void)
{
	k_sleep(K_MSEC(550));