文档章节

MicroPython升级到1.8.6

shaoziyang
 shaoziyang
发布于 2016/11/11 11:31
字数 1144
阅读 74
收藏 0
点赞 0
评论 0

昨天(11月10日),micropython升级到1.8.6版本。

主要更新:

v1.8.6          ESP8266 port uses SDK 2.0, has more heap, has support for 512k devices
    
    This release brings some code size reductions to the core as well as
    more tests and improved coverage which is now at 94.3%.
    
    The time.ticks_diff(a, b) function has changed: the order of the arguments
    has been swapped so that it behaves like "a - b", and it can now return a
    negative number if "a" came before "b" (modulo the period of the ticks
    functions).
    
    For the ESP8266 port the Espressif SDK has been updated to 2.0.0, the
    heap has been increased from 28k to 36k, and there is support for 512k
    devices via "make 512k".  upip is included by default as frozen bytecode.
    The network module now allows access-point reconnection without WiFi
    credentials, and exposes configuration for the station DHCP hostname.  The
    DS18B20 driver now handles negative temperatures, and NeoPixel and APA102
    drivers handle 4 bytes-per-pixel LEDs.
    
    For the CC3200 port there is now support for loading of precompiled .mpy
    files and threading now works properly with interrupts.
    
    A detailed list of changes follows.
    
    py core:
    - py.mk: automatically add frozen.c to source list if FROZEN_DIR is defined
    - be more specific with MP_DECLARE_CONST_FUN_OBJ macros
    - specialise builtin funcs to use separate type for fixed arg count
    - {modbuiltins,obj}: use MP_PYTHON_PRINTER where possible
    - modbuiltins: add builtin "slice", pointing to existing slice type
    - add "delattr" builtin, conditional on MICROPY_CPYTHON_COMPAT
    - sequence: fix reverse slicing of lists
    - fix null pointer dereference in mpz.c, fix missing va_end in warning.c
    - remove asserts that are always true in emitbc.c
    - fix wrong assumption that m_renew will not move if shrinking
    - change config default so m_malloc0 uses memset if GC not enabled
    - add MICROPY_FLOAT_CONST macro for defining float constants
    - move frozen bytecode Makefile rules from ports to common mk files
    - strip leading dirs from frozen mpy files, so any path can be used
    
    extmod:
    - vfs_fat_file: check fatfs f_sync() and f_close() returns for errors
    - vfs_fat_file: make file.close() a no-op if file already closed
    - utime_mphal: ticks_diff(): switch arg order, return signed value
    - utime_mphal: add MP_THREAD_GIL_EXIT/ENTER warppers for sleep functions
    - utime_mphal: implement ticks_add(), add to all maintained ports
    - utime_mphal: allow ticks functions period be configurable by a port
    
    lib:
    - utils/pyhelp.c: use mp_printf() instead of printf()
    - utils/pyexec: add mp_hal_set_interrupt_char() prototype
    - libm: move Thumb-specific sqrtf function to separate file
    
    drivers:
    - add "from micropython import const" when const is used
    
    tools:
    - upgrade upip to 1.1.4: fix error on unix when installing to non-existing
      absolute path
    - pip-micropython: remove deprecated wrapper tool
    - check_code_size.sh: code size validation script for CI
    - replace upip tarball with just source file, to make its inclusion as
      frozen modules in multiple ports less magic
    
    tests:
    - extmod/vfs_fat: improve VFS test coverage
    - basics/builtin_slice: add test for "slice" builtin name
    - basics: add test for builtin "delattr"
    - extmod/vfs_fat_fsusermount: improve fsusermount test coverage
    - extmod/vfs_fat_oldproto: test old block device protocol
    - basics/gc1: garbage collector threshold() coverage
    - extmod/uhashlib_sha1: coverage for SHA1 algorithm
    - extmod/uhashlib_sha256: rename sha256.py test
    - btree1: fix out of memory error running on esp8266
    - extmod/ticks_diff: test for new semantics of ticks_diff()
    - extmod/framebuf1: test framebuffer pixel clear, and text function
    
    minimal port:
    - Makefile: split rule for firmware.bin generation
    
    unix port:
    - Makefile: remove references to deprecated pip-micropython
    - modtime: use ticks_diff() implementation from extmod/utime_mphal.c
    - mphalport.h: add warning of mp_hal_delay_ms() implementation
    - modtime: switch ticks/sleep_ms/us() to utime_mphal
    - fix symbol references for x86 Mac
    - replace upip tarball with just source file
    
    windows port:
    - enable utime_mphal following unix, define mp_hal_ticks_*
    - fix utime_mphal compilation for msvc
    - implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter
    
    qemu-arm port:
    - exclude ticks_diff test for qemu-arm port
    - exclude extmod/vfs_fat_fileio.py test
    - exclude new vfs_fat tests
    - enable software floating point support, and float tests
    
    stmhal port:
    - modutime: refactor to use extmod's version of ticks_cpu
    - refactor pin usage to use mp_hal_pin API
    - led: refactor LED to use mp_hal_pin_output() init function
    - Makefile: use standard rules for frozen module generation
    - modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
    - enable SD power save (disable CLK on idle)
    
    cc3200 port:
    - use mp_raise_XXX helper functions to reduce code size
    - mods/pybspi: allow "write" arg of read/readinto to be positional
    - enable loading of precompiled .mpy files
    - fix thread mutex's so threading works with interrupts
    
    teensy port:
    - update to provide new mp_hal_pin_XXX functions following stmhal
    
    esp8266 port:
    - Makefile: use latest esptool.py flash size auto-detection
    - esp_init_data: auto-initialize system params with vendor SDK 2.0.0
    - esp8266.ld: move help.o to iROM
    - esp8266.ld: move modmachine.o to iROM
    - esp8266.ld: move main.o to iROM
    - add MP_FASTCODE modifier to put a function to iRAM
    - main: mark nlr_jump_fail() as MP_FASTCODE
    - modules/webrepl: enforce only one concurrent WebREPL connection
    - etshal.h: add few more ESP8266 vendor lib prototypes
    - modesp: add flash_user_start() function
    - add support for building firmware version for 512K modules
    - scripts: make neopixel/apa102 handle 4bpp LEDs with common code
    - modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
    - modnetwork: config(): fix copy-paste error in setting "mac"
    - scripts/port_diag: add descriptions for esf_buf types
    - modnetwork.c: allows AP reconnection without WiFi credentials
    - main: bump heap size to 36K
    - etshal.h: add prototypes for SPIRead/SPIWrite/SPIEraseSector
    - etshal.h: adjust size of MD5_CTX structure
    - modules: fix negative temperature in ds18x20 driver
    - rename "machine" module implementation to use contemporary naming
    - rework webrepl_setup to run over wired REPL
    - espneopixel.c: solve glitching LED issues with cpu at 80MHz
    - include upip as a standard frozen bytecode module
    - update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect)
    - modnetwork.c: expose configuration for station DHCP hostname
    
    zephyr port:
    - implement utime module
    - use board/SoC values for startup banner based on Zephyr config
    - initial implementation of machine.Pin
    - zephyr_getchar: update for recent Zephyr refactor of console hooks
    - support time -> utime module "weaklink"
    - README: update for the current featureset, add more info
    - mpconfigport.h: move less important params to the bottom
    - Makefile: allow to adjust heap size from make command line
    - Makefile: update comments to the current state of affairs
    - Makefile: allow to override Zephyr config from make command line
    - Makefile: add minimal port
    - Makefile: add -fomit-frame-pointer to reduce code size
    - mphalport.h: update for new "unified" kernal API (sleep functions)
    
    docs:
    - machine.SPI: bring up to date with Hardware API, make vendor-neutral
    - machine.SPI: improve descriptions of xfer methods
    - library/builtins: add docs for delattr and slice
    - library/network: reword intro paragraph
    - library/network: typo fixes, consistent acronym capitalization
    - library/index: update TOCs so builtins sorted before modules
    - utime: document ticks_cpu() in more detail
    - utime: describe new semantics of ticks_diff() (signed ring arithmetics)
    - utime: add docs for ticks_add(), improvements for other ticks_*()
    - esp8266: update for new WebREPL setup procedure
    - */quickref.rst: use new semantics of ticks_diff()
    - library/machine.Pin: update Pin docs to align with new HW API
    
    travis:
    - integrate tools/check_code_size.sh
    - minimal: Use CROSS=1, for binary size check
    
    examples:
    - http_server_simplistic: add "not suitable for real use" note
    - hwapi: example showing best practices for HW API usage in apps
    - hwapi: add hwconfig for DragonBoard 410c

 

© 著作权归作者所有

共有 人打赏支持
shaoziyang
粉丝 11
博文 75
码字总数 25881
作品 0
武汉
程序员
人生苦短,用 RT-Thread MicroPython 享受编程的乐趣

在 i.MX RT1050 EVK 开发板上实现这样的一个读取板载的 6 轴传感器信息和系统 CPU 利用率等信息,实时显示到网页中效果,你猜需要多少代码? 事实上 RT-Thread 的同事利用 RT-Thread MicroP...

RTThread物联网操作系统 ⋅ 05/02 ⋅ 0

Micropython TPYBoard拼插编程之按键控制LED灯

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter ⋅ 04/18 ⋅ 0

[Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter ⋅ 04/17 ⋅ 0

第一款Micropython图形化编辑器—Python Editor

当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你具体怎么做,一切答案都是肤浅的。 就拿我自己来说,初...

bodasisiter ⋅ 04/23 ⋅ 0

精彩源于起点——2018年潍坊市首次青少年Python编程公开课

有一种语言叫计算机语言 I want to talk with Computer 春遇到冬,有了岁月 天遇到地,有了永恒 我们拥有的, 不止是长大, 还有那份长大的悲欢经历。 未来会有很多可能, 但一切源于万象开始...

bodasisiter ⋅ 05/07 ⋅ 0

Micropython之萝卜狗远程门禁控制系统

  * 本文作者:_橙子 ゝ,本文属FreeBuf原创奖励计划,未经许可禁止转载   当代社会,我们进公司需要门禁卡,出入小区需要门禁卡,门禁系统又称出入管理控制系统(ACCESS CONTROL SYSTEM)...

FreeBuf ⋅ 05/24 ⋅ 0

Micropython TurnipBit的蓝牙使用

为了部落 什么是TurnipBit开发板 TurnipBit开发板由TurnipSmart公司制作的一款MicroPython开发板,基于nrf51822芯片为主控芯片,以MKL26Z128VFM4芯片作为边载辅助芯片,板载5*5LED灯,板载加...

bodasisiter ⋅ 05/19 ⋅ 0

RT-Thread 软件包介绍

1、软件包的目的 软件包在高级语言中非常常见,很多高级语言都有对应的软件包平台,比如 Python 的 PyPi,Ruby 的 Gems 等等。软件包生态对于一门语言的选择至关重要,因为这些软件包具有很强...

RTThread物联网操作系统 ⋅ 05/17 ⋅ 0

[Micropython]TPYBoard v10x MFRC522智能门禁系统

MF RC522 是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。也就是射频卡。 经常忘带钥匙,最尴尬的上周竟然去开4楼的门,(家住五楼,无电梯),开了好一会没打开,事后对4...

bodasisiter ⋅ 05/10 ⋅ 0

MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B

一、实验目的 了解ws2812b的工作原理 学习ws2812b的驱动方法 二、实验器材 TPYBoard v102 1块 ws2812b RGB-Ring-8 1个 micro USB数据线 1条 杜邦线 若干 三、WS2812B的介绍 WS2812B是一个集控...

bodasisiter ⋅ 06/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

来自一个优秀Java工程师的简历

写在前面: 鉴于前几天的一份前端简历,虽然带着很多不看好的声音,但却帮助了很多正在求职路上的人,不管评论怎么说,我还是决定要贴出一份后端的简历。 XXX ID:357912485 目前正在找工作 ...

颖伙虫 ⋅ 24分钟前 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部