utils – 常见功能模块

utils 模块源代码在文件夹 TaoLiSystem/core/utils.py 下,汇集了系统反复调用的一些函数,便于系统开发。

重要

2024.7.18 更新深度睡眠 deepsleep_irc 与浅度睡眠函数 lightsleep_irc

函数

utils.importModule(name)

动态导入一个模块,importModule 函数并不是在 utils 中定义的,main.py 调用时会动态创建这个函数。

  • name – 导入的模块名称。

utils.convert_ms_to_hms(milliseconds)

转化毫秒到时分秒,返回一个元组 (hours, minutes, seconds, remaining_ms) ,元组内元素均为 int 型。

  • milliseconds – 毫秒

例如:

>>> import time
>>> from TaoLiSystem.core import utils
>>> utils.convert_ms_to_hms(time.ticks_ms())
(11, 38, 15, 650)
utils.isEnableWIFI()

是否启用 WIFI ,系统内部函数。

utils.isEnableBluetooth()

是否启用蓝牙,系统内部函数。

utils.enableBluetooth()

启用蓝牙,是系统内部逻辑函数。

utils.disableBluetooth()

禁用蓝牙,是系统内部逻辑函数,一般没有用,内核代码限制。

utils.enableWIFI()

启用WIFI,是系统内部逻辑函数。创建一个 wifi 实例,并放在全局变量中,方便程序全局访问。

utils.disableWIFI()

禁用WIFI,从全局变量中禁用 wifi 并释放。

utils.delete_folder(folder)

删除一个空或者非空文件夹下的子目录以及文件。

  • folder – 文件夹路径

utils.gc_collect()

调用 gc.collect() 反复清理内存,让清理彻底。返回清理之后的可以内存。

utils.compare_and_clean_modules(imported_not_modules[, KEEP_MODULES])

比较现在已经导入的模块,通过比较 imported_not_modules 而后清理多余加载的模块。

  • imported_not_modules – 没有加载的模块列表,用于比较。

  • KEEP_MODULES – 要保留的模块列表。

utils.debug(g, l[, None])

变量监控与调试工具。

  • g – 全局变量

  • l – 局部变量

  • v – 额外传入的变量,用于监控变量

使用方法:

from TaoLiSystem.core import utils

a = input("你好!皮卡丘:")
a = utils.debug(globals(), locals(), a)

print(a)

代码输出:


../_images/core_utils.png

备注

注意直接执行 exe a=10 并不会将原代码中的a值改变,因为函数内的变量表与原代码的变量表是相互隔离的。

utils.lightsleep_irc([tip, callback])

让系统进入浅度睡眠,睡眠后按下 A 键进行按键中断唤醒。浅度睡眠可以节约系统资源。 使用 button_a.__pin.irq(trigger=Pin.WAKE_LOW, wake=machine.PIN_WAKE) 设置回调,之后还原。

  • tip – 是否启用提示,如果为 True ,则会弹出 “已从浅度睡眠中唤醒” 的提示框。

  • callback – 在唤醒之后执行的函数,因为唤醒之后可能会导致程序代码次序执行问题,故设置了回调。

utils.deepsleep_irc()

让系统进入深度睡眠,睡眠后按下 A 键进行按键中断唤醒。深度睡眠非常节约系统资源,但是唤醒后直接重启掌控板。 使用 button_a.__pin.irq(trigger=Pin.WAKE_LOW, wake=machine.PIN_WAKE) 设置回调。