feat(nuttx): add cpu idle getter (#5814)

Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
This commit is contained in:
VIFEXT
2024-03-12 15:38:19 +08:00
committed by GitHub
parent 2722e390e4
commit eace5e1072
2 changed files with 27 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
#include <time.h>
#include <nuttx/tls.h>
#include <nuttx/clock.h>
#include <syslog.h>
#include "lv_nuttx_cache.h"
#include "lv_nuttx_image_cache.h"
@@ -158,6 +159,26 @@ void lv_nuttx_init(const lv_nuttx_dsc_t * dsc, lv_nuttx_result_t * result)
#endif
}
#ifdef CONFIG_SCHED_CPULOAD
uint32_t lv_nuttx_get_idle(void)
{
struct cpuload_s cpuload;
int ret = clock_cpuload(0, &cpuload);
if(ret < 0) {
LV_LOG_WARN("clock_cpuload failed: %d", ret);
return 0;
}
uint32_t idle = cpuload.active * 100 / cpuload.total;
LV_LOG_TRACE("active = %" LV_PRIu32 ", total = %" LV_PRIu32,
cpuload.active, cpuload.total);
return idle;
}
#endif
/**********************
* STATIC FUNCTIONS
**********************/