Tags: snowshow/micropython
Tags
v1.3.7
Port to ESP8266, add uhashlib, improved CAN driver. py core: - support more ops for bytes/bytarray - support __hash__ for user-defined types - support for float/double arrays in array module - shorter error messages for TERSE message option - add seek via ioctl to stream protocol extmod: - add uhashlib with sha256 unix port: - heapsize can take w specifier for word adjustment stmhal port: - CAN init now takes sjw, bs1, bs2 args - add CAN filter management - fix HAL error raising bug esp8266 port: - new port to ESP8266 wifi chip docs: - minor additions
Improved documentation, and other small changes. py core: - add builtin round function - gc.enable/disable still allows manual GC (as per CPython) - fix builtin callable for user-defined types - fix bug for right shift of small int by large amount unix port: - add "fast" version - improve uctypes, including sizeof function stmhal port: - support for extended CAN frames - USB_VCP works with select - experimental support for RTS/CTS in UART - make UART bits count number of data bits, not incl parity - pyb.freq now allows 8MHz and 16MHz docs: - revamp and merge all inline docs into Sphinx framework - add a few more tutorials
RAM savings, memoryview, quick-ref and more. Improvements to core: - make better use of bytecode coding space - about 10% RAM savings in bytecode - add uheapq module - add memoryview builtin - add compile builtin - support in VM for KeyboardInterrupt - fix integer modulo with negative arguments - small GC fixes - add 2nd arg to readinto New features in unix port: - CTRL-C raises KeyboardInterrupt - heapsize option takes K and M - -m option to execute library module stmhal improvements: - make MMA_INT/PB2 pin available - add pyb.hard_reset() - cc3k recv improments - all HAL errors now raise OSError with POSIX error code - USB config improved for windows (CDC on Windows 10 without driver) - use different USB PID when in CDC+HID mode (so HID works in Windows) - boot.py and main.py use \r\n for newlines - change SPI phase from 1,2 to 0,1 to match industry conventions - allow DAC object to be init'd from pin - improved raw REPL control codes - improved pyboard.py script docs: - add quick reference page with pinout
Add regex and CAN, improve UART, and more. py core: - add basic regex support using re1.5 library - replace zlibd with uzlib - compiler returns proper exception on SyntaxError - proper context saving for eval/exec - use mp_[u]int_t in most places instead of [u]int - better ARM support in native emitter - autodetect machine endianness - better big endian support - memory errors from locked gc can be reported - more robust lexer when out of memory - rename modules to begin with u-, and add module weak links - more native binops in viper emitter - native pointers with load+store in viper - fix GC realloc so that chunks are shrunk correctly - compiler optimisations for constant if/while conds - add kwargs for builtin open() and FileIO - enable unicode on windows stmhal port: - add basic CAN bus support - overhaul UART class to use read/write - add NRF24L01 driver (in pure Python) - pyb.freq can change SYSCLK - add pyb.stop and pyb.standby - can set Timer freq using float - Timer supports complementary channel and deadtime - add retry for SD card init
Network support in stmhal, and improved viper compiler. Changes in core: - tidy up native emitter and assemblers - viper can compiler more binary ops - viper supports casting (int, ptr8, ptr16) - viper can compile native stores (eg p[1] = 42) - remove IOError (use OSError instead) stmhal port: - fix OSX mass storage issue, so pyboard can be left plugged in - add network and usocket modules with CC3000 and WIZnet5k support (disabled by default) - improved percent option in timer PWM - add pyb.elapsed_millis, pyb.elapsed_micros - internal flash is labelled as "pybflash" on creation - don't init NSS pin when initialising SPI bus with NSS_SOFT mode
Changes in core: - bytecode prelude uses less RAM - free non-interned strings earlier - add builtins module - add ujson module with dumps and loads - mpz div changed so that mpz is more efficient - some compiler optimisations - some simplifications of the code - bug fix memcpy -> memmove - changed most instances of int/uint to mp_int_t/mp_uint_t - added ioctl method to stream protocol - divmod, % and // support for floati 8000 ng-point numbers Native emitter enhancements: - bug fixes - support for delete name and global - support for end finally - x86 support - x86-64 can use extended regs unix port: - MIPS compilation support stmhal port: - add generic select module - ability to select/poll on UART objects - proper SDHC support (cards > 4gb now work) - enhanced timer support (PWM, OC, IC) - big fix with miss-aligned stack pointer - more math functions implemented Added drivers subdirectory with WIZNet5200 support (disabled by default). Added docs subdirectory and moved to Sphinx docs. Improved teensy support.
Bug fixes, viper improvements, and more New features in core: - min and max accept key= argument - accepts user defined ==, >, <=, >= - native support for ARM (non thumb) - cut RAM and ROM usage of zlibd - significant GC allocation speed up Viper improvements: - type annotations - store to global - call functions with native types - raise exceptions Bug fixes to core: - fix multiplication of a sequence by negative number - GC bug fix where native code was being collected - int(b'1234') now works - can now make strings longer than 64k unix port: - modtermios for unix - make install for unix stmhal port: - reduced code size by 35k - put some code into first 16k block - in safe mode SD card is still presented as MSD - SD card init fixes; should be more reliable - added time.mktime; enhanced time.localtime - new Pin functions: mode, pull, af - nestable enable_irq/disable_irq - added pyb.micros() - added USB_VCP.any() - STM32F4DISC accel support via staccel.py script
v1.3: New features and many bug fixes. New features include: - file.flush, os.stat - unicode enabled by default on unix and stmhal ports - print function accepts file= argument - I2C object allows for 16-bit mem addr - emergency exception buffer for improved exception traceback - USB_VCP object - 0:/ and 1:/ changed to /flash and /sd - improved Pin object - can set pin alternate function from Python - builtin reversed, can len() and subscr range objects - added moductypes - added modzlibd for DEFLATE decompression Code improvements include: - more efficient line-number to bytecode mapping - new STM HAL driver v1.3.0 Bug fixes include: - mpz (bignum) fixes - accel startup improved - important bug fix in GC
PreviousNext