3103|0

1万

帖子

25

TA的资源

版主

楼主
 

MicroPython版本1.13发布了 [复制链接]

 

来自官方论坛:https://forum.micropython.org/viewtopic.php?t=8979&p=50627#p50627

经过漫长的延迟和疯狂的一年,团队很高兴宣布MicroPython的下一版本v1.13!

v1.13新的uasyncio模块,代码格式,带有unix支持的BTstack绑定

此版本的MicroPython包括uasyncio模块的新实现,旨在与CPython的asyncio模块更加兼容。主要更改是为每个协程使用一个Task对象,从而允许在各个地方(例如主运行循环,等待事件的任务,锁或其他任务)的队列更加灵活。它不再需要为主运行循环预分配固定的队列大小。配对堆用于将Task排队,并且可以选择用C实现核心。

现在,使用uncrustify(针对C代码)和Black(针对Python代码)自动格式化了此存储库中的大多数代码。tools / codeformat.py脚本用于应用这种格式。选择了unrustify选项,以使其与现有的C样式尽可能地匹配,但是仍然进行了许多更改以使代码样式一致。

已为ubluetooth模块添加了BlueKitchen BTstack绑定,作为NimBLE堆栈的可选替代方案。现在可以使用这些绑定通过BLE支持构建unix端口,这些绑定可与USB蓝牙适配器一起使用(默认情况下,在dev和coverage变体上启用此功能)。

蓝牙的其他新增功能包括:用于服务/特性/描述符发现的新事件完成;阅读完成的新事件并表示已确认;并支持BLE.gap_scan()中的主动扫描。另请参见下文,了解对ubluetooth BLE API的重大更改。

已经实现了PEP 526,它为变量注释添加了新语法,例如“ x:int = 1”。PEP 572也已实现,它为赋值表达式添加了“:=”运算符,例如“ if x:= 1:...”。

整个代码库现在支持使用“常用字”方案压缩错误消息(那些字符串用作异常实例的参数),该方案可用于减小代码大小。

其他新功能包括:支持相等和不相等测试的非布尔结果;增加了micropython.heap_locked()函数来测试堆的状态;viper uint操作数在本机发射器中的二进制运算;littlefs v2文件系统上的mtime支持(如果需要,可以禁用)。

从.mpy文件导入ARM机器代码时,已进行了重要的错误修复:系统现在可以正确跟踪分配给机器代码的可执行内存,因此垃圾回收器不会回收该内存。

为了进行测试,添加了多实例测试运行程序(请参阅tests / run-multitests.py),该运行程序允许在两个或多个MicroPython目标上运行同步测试。当前用于需要多个设备之间通信的网络和BLE测试。

现在,在unix端口中,将不同的版本组织成不同的版本,类似于裸机上的板。PEP 475已实现,可重试EINTR失败的系统调用。

stm32端口获得了对STM32WB MCU的更好支持,并具有ADC,SPI和DMA支持,以及对这些MCU的mboot支持。Mboot还添加了可选的littlefs支持。

esp8266端口现在包括三个通用板定义:GENERIC_512K,GENERIC_1M和GENERIC,后者用于具有2M或更多闪存的模块。此端口还将默认文件系统更改为littlefs,并且不再支持硬管IRQ。有关更多详细信息,请参见下面的重大更改。

esp32端口现在在IDF v3和v4版本上都启用了蓝牙支持(通过NimBLE)。还将默认文件系统从FAT更改为littlefs v2(但是具有FAT文件系统的现有设备将继续工作而不做任何更改)。

还有一个针对NXP i.MX RT系列CPU的新mimxrt端口。

此版本中的重大更改是:

  • 异步-不再等待__aiter__的结果。__aiter__方法应该返回一个异步可迭代对象,但它本身不是可等待的。查看提交
    链接已隐藏,如需查看请登录或者注册
  • 在ubluetooth中,IRQ事件常量的值都已更改(从位字段到顺序整数),并且应通过用新的const定义替换const定义来相应地更新Python代码。 https://docs.micropython.org/en/latest/ ... BLE.irq 另请参阅 
    链接已隐藏,如需查看请登录或者注册
  • 在ubluetooth中,_IRQ_SCAN_RESULT事件的IRQ数据的“可连接”条目已更改为“ adv_type”。现有的可连接值是布尔值,现在True变为0x00,False变为0x02。查看提交
    链接已隐藏,如需查看请登录或者注册
  • 对于esp8266,默认文件系统已从FAT更改为littlefs v2。固件和文件系统的闪存布局已更改,可以为固件和冻结的字节码提供更多空间。升级现有esp8266设备时,文件系统将重新格式化,因此应首先备份文件。查看提交
    链接已隐藏,如需查看请登录或者注册
  • 对于esp8266,machine.Pin不再支持将IRQ引脚配置为“ hard = True”(因为中断处理代码已移至iRAM)。使用引脚IRQ的现有代码应删除所有“ hard = True”参数。查看提交
    链接已隐藏,如需查看请登录或者注册
  • 对于unix端口,二进制文件被重命名为micropython-variant(不再是micropython_variant)。查看提交
    链接已隐藏,如需查看请登录或者注册
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表