1 Star 2 Fork 2

半斗米/RVBoards D1 CPU 使用率指示器

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
cpu_usage_indicator.go 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
半斗米 提交于 2021-05-31 17:25 . 实现Go版本。
package main
import "fmt"
import "time"
import "os"
import "os/signal"
type app_t struct {
running chan os.Signal
usage uint8
ledr led_t
ledg led_t
stat proc_stat_t
}
func main() {
var app app_t
app.running = make(chan os.Signal, 1)
signal.Notify(app.running, os.Interrupt, os.Kill)
proc_stat_init(&app.stat)
led_init(&app.ledr, "/sys/class/leds/sunxi_led0r/brightness")
led_init(&app.ledg, "/sys/class/leds/sunxi_led0g/brightness")
main_loop:
for true {
time.Sleep(time.Millisecond * 800)
led_set_brightness(&app.ledr, 0)
led_set_brightness(&app.ledg, 0)
time.Sleep(time.Millisecond * 200)
app.usage = proc_stat_get_cpu_usage(&app.stat)
fmt.Printf("\rcpu usage = %d %% ", app.usage)
if app.usage < 30 {
led_set_brightness(&app.ledg, 30)
} else if app.usage < 60 {
led_set_brightness(&app.ledg, 5)
} else if app.usage < 90 {
led_set_brightness(&app.ledr, 15)
} else {
led_set_brightness(&app.ledr, 150)
}
select {
case <- app.running:
break main_loop
default:
}
}
fmt.Printf("\n")
led_fini(&app.ledr)
led_fini(&app.ledg)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/zoomdy/rvboards_d1_cpu_usage_indicator.git
git@gitee.com:zoomdy/rvboards_d1_cpu_usage_indicator.git
zoomdy
rvboards_d1_cpu_usage_indicator
RVBoards D1 CPU 使用率指示器
master

搜索帮助