Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mPyHotReloadFramework (mpyhr)

Vite 风格的 MicroPython 热重载框架。改本地 .py → 通过串口帧协议推送到板子 → 在一个永不重启的 asyncio loop 内部局部热重载,硬件外设与应用状态不丢失

  • host/ — PC 端 Python CLI(包 mpyhr),复用 mpremote 传输层做引导部署。
  • device/ — 部署到板子的 MicroPython 运行时(supervisor loop + registry + 五级中间态守护)。
  • examples/ — 最小用户 app 示例(LED 计数器、OLED 计数器)。
  • tests/ — 纯 CPython 单测 + unix-port 端到端测试(零硬件)。

设计文档见仓库根的设计计划。核心约定:

  1. 跨 reload 存活的只能是 state 里的数据;代码执行位置一律丢弃重做。
  2. reload 只在边界(帧/事务)发生,绝不打断进行中的操作。
  3. 硬件由持久 registry 持有,构造一次,重载模块通过 setup(resources, state) 复用。

开发

uv sync                 # 安装 host 依赖
uv run pytest           # 跑纯 CPython 测试

用户 app 契约

def setup(resources, state):       # 每次(重)载一次:幂等建硬件、初始化 state、注册 disposer
    ...
async def render(resources, state):  # 一个安全工作单元(一帧/一事务),持久数据进 state
    ...

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages