4254|6

1万

帖子

24

TA的资源

版主

楼主
 

【MicroPython】MicroPython升级到了v1.8 [复制链接]

  本帖最后由 dcexpert 于 2016-5-8 23:45 编辑

MicroPython再次默默升级到了v1.8,大家可以升级一下了。

https://micropython.org/download/

主要升级如下:

  1. Tue, 3 May 2016 17:32:32 +0100

  2. v1.8            First general release of ESP8266 port, and support for frozen bytecode
  3.    
  4.     This release marks the first general release of official ESP8266 support
  5.     within the MicroPython code base.  The ESP8266 port has many improvements
  6.     and additions, including: websocket and webrepl modules, deep-sleep mode,
  7.     reading on UART, enhanced I2C support, enhanced network configuration,
  8.     full sequence of start-up scripts (built-in _boot.py, boot.py and
  9.     main.py), improved filesystem support with automatic flash-size detection
  10.     as well as documentation and a tutorial.
  11.    
  12.     Known issues with ESP8266 port are:
  13.     - Basic SSL support is available but it works only with relatively short
  14.       data lengths (a few kilobytes).
  15.     - WebREPL over SSL is not supported.
  16.     - Only 5 or so WebREPL sessions in succession can be started (including
  17.       file transfer sessions), after that the board requires a hard reset.
  18.     - File transfer over WebREPL has issues with large files (above a few
  19.       tens of kilobytes).
  20.     - By design, only one concurrent WebREPL connection is supported.
  21.     - Soft reset doesn't reset the network stack.
  22.    
  23.     In addition to ESP8266 support, this release brings frozen bytecode
  24.     which allows to compile bytecode offline and link it into the firmware,
  25.     completely eliminating the need for compilation (and the associated
  26.     RAM usage) at runtime.  Basic async/await syntax is now supported, and
  27.     qstrs are now auto-generated in the build system.
  28.    
  29.     A detailed list of changes is given below.
  30.    
  31.     README:
  32.     - explicitly point to required dependencies section
  33.     - promote "docs" and "tests" to "major components"
  34.     - mention support "async" keyword from Python 3.5
  35.    
  36.     ACKNOWLEDGEMENTS:
  37.     - add list of 842 backers from the ESP8266 campaign
  38.    
  39.     py core:
  40.     - modbuiltins: add comment about setting "_" special var
  41.     - add async/await/async for/async with syntax
  42.     - fix constant folding and inline-asm to work with new async grammar
  43.     - emitglue: move typedef of mp_raw_code_t from .c to .h file
  44.     - emitglue: make mp_raw_code_t* arguments constant pointers
  45.     - makeqstrdata: factor out some code to functions that can be reused
  46.     - add ability to have frozen persistent bytecode from .mpy files
  47.     - makeqstrdata: add more names for escaped chars and esc non-printable
  48.     - simplify "and" action within parser by making ident-rules explicit
  49.     - makeqstrdata: fix rendering of qstrs that have non-printable ASCII
  50.     - makeqstrdata: add special case to handle \n qstr
  51.     - declare help, input, open builtins in core
  52.     - map: change hash-table allocation policy to be less aggressive
  53.     - makeqstrdefs: add script to automate extraction of qstr from sources
  54.     - frozenmod: pass the source name of the frozen module to the lexer
  55.     - rework QSTR extraction to work in simple and obvious way
  56.     - divide "split" and "cat" phases of qstr extraction for better efficiency
  57.     - fix bug passing a string as a keyword arg in a dict
  58.     - move call_function_*_protected() functions to py/ for reuse
  59.     - makeqstrdefs.py: windows compatibility
  60.     - obj.h: when constructing a small-int cast to mp_uint_t for bit-shift
  61.     - emitnative: use MP_OBJ_NEW_SMALL_INT instead of manual bit shifting
  62.     - vm: "yield from" didn't handle MP_OBJ_STOP_ITERATION optimization
  63.     - modio: rename module name to "uio" for consistency with other modules
  64.     - modcollections: rename module name have "u" prefix for consistency
  65.    
  66.     extmod:
  67.     - add initial framebuf module
  68.     - add generic machine.I2C class, with bit-bang I2C
  69.     - machine_i2c: fix I2C reading by sending ack/nack at end of byte
  70.     - machine_i2c: implement I2C memory reading/writing
  71.     - moduos_dupterm: don't swallow exceptions in dupterm's read()/write()
  72.     - modlwip: lwip_tcp_receive(): Properly handle EOF for non-blocking sock
  73.     - modlwip: more debug messages for various edge conditions
  74.     - fsusermount: in mount/mkfs, deregister VFS object on error
  75.     - modlwip: lwip_tcp_send(): full error handling
  76.     - modlwip: lwip_tcp_receive(): full error handling
  77.     - modlwip: add ability to run callback on "recv" and "accept" events
  78.     - machine_i2c: allow mp_hal_pin_obj_t to be any type, not a ptr
  79.     - modlwip: protect recv/accept Python callback against exceptions
  80.     - modlwip: workaround esp8266 sendto issue where 1 is returned
  81.     - modlwip: add print_pcbs() debug function
  82.     - modwebsocket: handle CLOSE control frame
  83.     - modussl: throw Python exceptions in case of errors
  84.     - modussl: support server-side SSL sockets
  85.     - modussl: SSL_OK from ssl_read() means "no user data so far"
  86.     - modwebrepl: module to handle WebREPL protocol
  87.     - modwebrepl: initial implementation of "get file" operation
  88.     - modwebrepl: keep reading data when there's something to read
  89.     - modwebrepl: GET_FILE: Send length-prefix chunk with one write()
  90.     - modwebrepl: add rate-limiting workaround for broken network drivers
  91.     - modwebrepl: set debugging by default to off
  92.     - modwebrepl: add support for password
  93.     - modlwip: implement sendall() method for TCP sockets
  94.     - fix typo of macro that detects if float is enabled
  95.    
  96.     lib:
  97.     - utils/printf: rework overriding printer of DEBUG_printf()
  98.     - utils/pyexec: condition-out GC calls from pyexec
  99.     - utils/pyhelp: extract implementation of help(obj) to a library function
  100.     - axtls: update to the latest upstream, fix reported MacOSX build issue
  101.    
  102.     drivers:
  103.     - add SSD1306 OLED driver, with I2C and SPI interfaces
  104.    
  105.     tools:
  106.     - mpy-tool.py: new tool to work with .mpy files; currently it can freeze them
  107.     - mpy-tool.py: add support for Python 2.7
  108.    
  109.     tests:
  110.     - add 6 tests for async await/for/with
  111.     - add .exp files for async tests, so they can run with Python 3.4
  112.     - fix dict1.py so it doesn't rely on the order of dict elems
  113.     - extmod: move split-on-empty-match tests to a separate test file
  114.     - add testcase for yielding from a stopped generator
  115.     - run-bench-tests: process tests in alphabetical order
  116.     - update for _io/_collections module having been renamed
  117.    
  118.     minimal port:
  119.     - add example of frozen persistent bytecode (.mpy file)
  120.     - disable async/await syntax
  121.    
  122.     unix port:
  123.     - build with MICROPY_PY_UHASHLIB_SHA1 if already building with axTLS
  124.     - make sure build dir exists before accessing it for freezing upip
  125.     - Makefile: make install more compatible (BSD, etc.)
  126.    
  127.     windows port:
  128.     - msvc: implement automatic qstr generation using makeqstrdefs
  129.    
  130.     stmhal port:
  131.     - implement basic C-level pin HAL
  132.     - use new generic I2C object in machine module
  133.     - enable framebuf module
  134.     - properly handle RTS/CTS flow control for buf/unbuf transfers
  135.     - add Makefile option FROZEN_MPY_DIR to support frozen bytecode
  136.     - for frozen bytecode generation, add dependency of qstr file
  137.     - l4: add CMSIS files to support STM32L476
  138.     - l4: add basic STM32L4xx HAL files
  139.     - l4: adapt UART HAL to avoid 64-bit integer division
  140.     - update HALCOMMITS due to change to hal
  141.     - l4: add board definition files for STM32L476DISC
  142.     - l4: add line to Makefile for building L4 series
  143.     - l4: modify adc.c to add support for STM32L4 series
  144.     - l4: modify uart.c to support L4 MCU
  145.     - l4: modify usbd_conf.c to support L4 MCU
  146.     - l4: modify rtc.c to support L4 MCU
  147.     - l4: modify timer.c to support L4 MCU
  148.     - fix machine.unique_id() function to work for all MCUs
  149.     - l4: modify mphalport to support L4 MCU
  150.     - l4: modify flash.c and storage.c to support L4 MCU
  151.     - l4: add support for external interrupts/events
  152.     - accel: raise an exception if the accel couldn't be initialised
  153.     - use pyhelp_print_obj function
  154.     - change i2c.scan() method to scan addresses 0x08-0x77
  155.     - fix typo of macro that detects if float is enabled
  156.    
  157.     cc3200 port:
  158.     - use pyhelp_print_obj function
  159.     - change i2c.scan() method to scan addresses 0x08-0x77
  160.     - disable async/await syntax
  161.    
  162.     esp8266 port:
  163.     - enable websocket module
  164.     - modnetwork: .config(): Check interface whose config is requested
  165.     - modnetwork: .config(): Add "authmode" param
  166.     - modnetwork: .config(): Add "password" param (W/O)
  167.     - add Python modules for initial configuration
  168.     - scripts/inisetup.py: set WPA/WPA2 AP mode with a predefined password
  169.     - protect modpyb.h header file from multiple inclusions
  170.     - implement basic C-level pin HAL
  171.     - switch from using custom I2C driver to generic extmod one
  172.     - enable framebuf module
  173.     - in callback helpers, pop nlr_buf on successful call
  174.     - esp_mphal: don't swallow exceptions in dupterm's read()/write()
  175.     - esp_mphal: call_dupterm_read(): Fix order of deactivating on EOF
  176.     - remove pin_id field from C pin object
  177.     - add dummy entries for non-existing pins to simplify pin logic
  178.     - add hard IRQ callbacks for pin change on GPIO0-15
  179.     - separate 1-wire timing funcs from Python module to save iRAM
  180.     - switch integer arith routines to BootROM
  181.     - scripts/port_diag.py: module to collect diagnostic info
  182.     - enable input() builtin
  183.     - scripts/_boot: mount block device on "" instead of "/"
  184.     - moduos: add uos.mkdir function
  185.     - modmachine: add reset_cause() function
  186.     - adapt port to use new auto-qstr generation
  187.     - moduos: add dupterm_notify() function
  188.     - esp_mphal: protect dupterm_task_handler() from recursive exec
  189.     - README.md: update feature list for current state of affairs
  190.     - modesp: allow esp.deepsleep to take 2nd arg for RF wake opt
  191.     - scripts/flashbdev: use all available space in 1MB FlashROM for FS
  192.     - modesp: add flash_size() function
  193.     - scripts: don't try to create filesystem on 512KB devices or less
  194.     - modnetwork: .config(): Add "channel" param
  195.     - scripts/flashbdev: disable debug output/checks
  196.     - scripts/_boot: print notice when initial setup is executed
  197.     - scripts/flashbdev: correct bootloader flash size to match real size
  198.     - modnetwork: .config(): Add "hidden ESSID" param
  199.     - implement basic deep-sleep capabilities
  200.     - add uart_rx_wait and uart_rx_char functions
  201.     - implement UART.read functionality
  202.     - uart: remove obsolete UART rx buffering code
  203.     - esp_mphal: remove mp_hal_feed_watchdog
  204.     - convert mp_hal_pin_obj_t from pin ptr to simple integer
  205.     - allow GPIO16 to be used as a pin in the uPy pin HAL
  206.     - change software SPI driver to use general pin HAL
  207.     - scripts/websocket_helper: module encapsulating handshake sequences
  208.     - scripts/websocket_helper: disable debug output
  209.     - scripts/webrepl: webREPL based on C-level websocket object
  210.     - scripts/webrepl: convert to persistent daemon
  211.     - scripts/webrepl: don't start on import
  212.     - scripts/webrepl: allow to override port
  213.     - scripts/webrepl: print connection address
  214.     - scripts/webrepl: print client address for incoming connections
  215.     - scripts/flashbdev: use all available Flash for filesystem
  216.     - scripts/webrepl: add "ws://" to "daemon started at" message
  217.     - Makefile: add target to build axTLS
  218.     - esp8266.ld: put axTLS to FlashROM
  219.     - Makefile: override abort() when building axtls
  220.     - axtls_helpers: helper/wrapper functions for axTLS
  221.     - tests/onewire.py: don't run test on import
  222.     - Makefile: support linking with axTLS built from source
  223.     - Makefile: enable "ussl" module; axTLS should be built first using "make axtls"
  224.     - move pyb.info() function to esp module and remove pyb module
  225.     - move onewire.py, neopixel.py drivers from tests/ to scripts/
  226.     - scripts/onewire.py: simplify and improve 1-wire driver
  227.     - scripts/neopixel.py: remove test function from neopixel driver
  228.     - set suitable values for axtls's RT_MAX_PLAIN_LENGTH & RT_EXTRA
  229.     - README: add recently required step of 'make axtls'
  230.     - modnetwork: make WLAN.ifconfig() read/write
  231.     - help: implement help() builtin
  232.     - help: add cheatsheet for basic WiFi configuration
  233.     - enable WebREPL file transfer rate limiting
  234.     - enable webrepl module
  235.     - scripts: move all of initial setup to inisetup module
  236.     - scripts/inisetup: create default boot.py in filesystem
  237.     - scripts/webrepl: connection ack prompt is now printed by modwebrepl
  238.     - scripts/webrepl: switch to using _webrepl object wrapper
  239.     - scripts/webrepl: add "first connection" mode to setup password
  240.     - README: mention WebREPL
  241.     - Makefile: be sure to pass cross-compiling AR when building axtls
  242.     - scripts/webrepl_setup: reject too short passwords
  243.     - change platform name from ESP8266 to esp8266
  244.     - modnetwork: remove deprecated wifi_mode()
  245.     - esp_mphal: add ets_esf_free_bufs(), etc. functions
  246.     - modesp: add esf_free_bufs() debugging function
  247.     - modesp: add malloc() and free() functions
  248.     - scripts/inisetup: enable WebREPL auto-start on boot
  249.     - modnetwork: remove .mac() method, move to .config("mac")
  250.     - scripts/inisetup: update for nic.mac() method being gone
  251.     - scripts/neopixel.py: swap red and green in pixel accessor
  252.     - modpybpin: use enum+array instead of struct for parsing args
  253.     - modpybpin: use None instead of PULL_NONE for no-pull config
  254.     - modpybpin: make pin.irq() methods take keyword args
  255.     - tutorial: mention that esptool is available via pip
  256.     - scripts/ntptime: add simple NTP client
  257.    
  258.     docs:
  259.     - esp: enumerate flash access functions
  260.     - machine: start to update for esp8266 port
  261.     - speed_python: clarify/generalize "Buffers" subsection
  262.     - speed_python: generalize "Floating point" subsection
  263.     - speed_python: add many more details on memoryviews
  264.     - machine: reset_cause() has been implemented for esp8266
  265.     - topindex.html: esp8266: Enable quickref/general on the main page
  266.     - esp8266/general: start "General information" for esp8266
  267.     - esp8266: add info about using deep-sleep mode to quickref
  268.     - esp8266/tutorial: add tutorial placeholder page
  269.     - ustruct: there's no complete "struct" module, only "ustruct" subset
  270.     - esp8266: include usocket module reference
  271.     - library/usocket: add link to CPython's socket module
  272.     - usocket: socket-specific exceptions are for WiPy only
  273.     - usocket: socket.IPPROTO_SEC is WiPy-specific
  274.     - usocket: describe address format once at the beginning
  275.     - network: esp8266: scan(): add note that bssid is bytes object
  276.     - library: group MicroPython-specific modules under separate heading
  277.     - library/index: move WiPy "micro-libraries" under corresponding heading
  278.     - library/index: esp8266 has the same set of stdlibs as pyboard/unix
  279.     - module "time" is actually "utime"
  280.     - library/index: make single section for "micro-ified" modules
  281.     - library/index: order sections from the most to least standard modules
  282.     - Makefile: default BUILDDIR based on MICROPY_PORT
  283.     - library: "os" module is actually "uos"
  284.     - fix uos and utime heading underlines to be the correct length
  285.     - library/utime: add more time functions for unix and esp8266 ports
  286.     - utime: describe time() peculiarities in MicroPython
  287.     - utime: describe sleep() peculiarities in MicroPython
  288.     - library: consistently use admonitions for CPython differences
  289.     - ubinascii: clean up grammar
  290.     - network: esp8266: Add wlan.ifconfig() method
  291.     - network: esp8266: Describe wlan.config() method
  292.     - make the short port names in the port/version sidebar lowercase
  293.     - esp8266: update quickref to reflect changes to 1-wire and NeoPixel
  294.     - library/utime: elaborate on epochs and calendar time maintenance
  295.     - esp8266/quickref: add info about WebREPL
  296.     - ustruct: document pack_into(), unpack_from()
  297.     - sys: document sys.modules
  298.     - ustruct: fix argument formatting
  299.     - sys: remove port-specific details from description of stdin/out/err
  300.     - sys: clarify description of sys.exit()
  301.     - sys: clean up print_exception() description
  302.     - sys: describe sys.implementation
  303.     - sys: describe sys.maxsize
  304.     - sys: describe sys.platform is port-neutral manner
  305.     - add _collections module reference
  306.     - add _io module reference
  307.     - _io and _collections were renamed to have standard "u" prefix
  308.     - library/machine.I2C: update to reflect ESP8266 implementation
  309.     - esp8266/general: webREPL is described in quickref for now
  310.     - esp8266/general: add more points to "Multitude of boards" section
  311.     - esp8266/general: fix list formatting
  312.     - esp8266/general: add techspec section
  313.     - esp8266/general: add "Boot process" section
  314.     - esp8266_contents: reference general and tutorial docs
  315.     - network: esp8266: MAC address is set via .config() method
  316.     - esp8266: add ESP8266 tutorial
  317.     - machine: generalize docs from just WiPy to other ports
  318.     - machine: move WiPy-specific hardware details to its general reference
  319.     - machine: more generic description of sleep's, WiPy details to its genref
  320.     - machine: idle() description generalization
  321.     - library/machine.Pin: update pin docs to reflect ESP8266 support
  322.     - esp8266/tutorial: update pins tutorial to reflect changes in API
  323.    
  324.     examples:
  325.     - http_server_ssl.py: add HTTPS server example
复制代码


最新回复

这么快,我刚升级V1.7  详情 回复 发表于 2016-5-14 09:51
点赞 关注
 
 

回复
举报

1万

帖子

24

TA的资源

版主

沙发
 
本帖最后由 dcexpert 于 2016-5-8 23:55 编辑

最大变化就是开始正式支持ESP8266了,以后我们可以用MicroPython玩玩Wifi和网络了。
此外我发现的在NUCLEO开发板上的I2C1问题也修复了。
 
 
 

回复

6111

帖子

4

TA的资源

版主

板凳
 
 
 

回复

111

帖子

0

TA的资源

一粒金砂(高级)

4
 
重温一下git。我一直是直接下载zip file,总是拿不到最新的patch。

点评

我也是习惯下zip。  详情 回复 发表于 2016-5-11 09:41
 
 
 

回复

1万

帖子

24

TA的资源

版主

5
 
allankliu 发表于 2016-5-11 09:13
重温一下git。我一直是直接下载zip file,总是拿不到最新的patch。

我也是习惯下zip。
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

6
 
哇 ESP8266  10元的成本wifi,第一次看到
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

7
 
这么快,我刚升级V1.7
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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