8000 Micropython 25ae98f merge by dhalbert · Pull Request #1068 · adafruit/circuitpython · GitHub
[go: up one dir, main page]

Skip to content

Micropython 25ae98f merge #1068

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 839 commits into from
Jul 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
839 commits
Select commit Hold shift + click to select a range
d4f8414
stm32/adc: Use mp_hal_pin_config() instead of HAL_GPIO_Init().
dpgeorge May 2, 2018
dcfd2de
stm32/dac: Make deinit disable the output buffer on H7 and L4 MCUs.
dpgeorge May 2, 2018
00a659f
stm32/dac: Implement printing of a DAC object.
dpgeorge May 2, 2018
edb600b
stm32/mphalport: Optimise the way that GPIO clocks are enabled.
dpgeorge May 2, 2018
4c0f664
stm32/flash: Remove unused src parameter from flash_erase().
dpgeorge May 2, 2018
2664466
stm32/dma: Always deinit/reinit DMA channels on L4 MCUs.
doc-hex Apr 13, 2018
a03e6c1
stm32/irq: Define IRQ priorities directly as encoded hardware values.
dpgeorge May 2, 2018
051686b
stm32/main: Clean up and optimise initial start-up code of the MCU.
dpgeorge May 2, 2018
db2bdad
tests/pyb: Update tests to run correctly on PYBv1.0.
dpgeorge May 2, 2018
6410e17
esp8266: Disable DEBUG_PRINTERS for 512k build.
dpgeorge May 2, 2018
60db809
py/builtinhelp: Change occurrence of mp_uint_t to size_t.
dpgeorge May 2, 2018
89b1c4a
extmod/vfs: Delegate import_stat to vfs.stat to allow generic FS import.
dpgeorge May 2, 2018
5eb198c
tests/run-tests: Support esp32 as a target for running the test suite.
aykevl Jan 2, 2018
fb7dabb
esp32/README: Add --init to submodule update command.
torwag Jan 3, 2018
6681eb8
esp32/modsocket: Correctly handle reading from a peer-closed socket.
dpgeorge May 2, 2018
4fa7d36
esp32: Use mp_rom_map_elem_t and MP_ROM_xxx macros for const dicts.
dpgeorge May 2, 2018
5936168
extmod/uzlib: Fix C-language sequencing error with uzlib_get_byte calls.
dpgeorge May 2, 2018
12a3fcc
esp32/modsocket: Check for pending events during blocking socket calls.
dpgeorge May 2, 2018
318f874
extmod/modlwip: In ioctl handle case when socket is in an error state.
dpgeorge May 4, 2018
b614dc7
stm32/dma: Fix duplicate typedef of struct, it's typedef'd in dma.h.
dpgeorge May 4, 2018
cb3456d
stm32: Don't use %lu or %lx for formatting, use just %u or %x.
dpgeorge May 4, 2018
aea71db
stm32/Makefile: Use -O2 to optimise compilation of lib/libc/string0.c.
dpgeorge May 4, 2018
3cf02be
py/emitnx86: Fix 32-bit x86 native emitter build by including header.
dpgeorge May 4, 2018
4b5111f
tests/cpydiff: Remove core_function_unpacking now that it succeeds.
dpgeorge May 4, 2018
cd9d71e
tests/cpydiff: Remove types_str_decodeerror now that it succeeds.
dpgeorge May 4, 2018
74ab341
tests/cpydiff: Remove working cases from types_float_rounding.
dpgeorge May 4, 2018
2ada112
tests/cpydiff: Remove types_int_tobytesfloat now that it doesn't fail.
dpgeorge May 8, 2018
e638def
stm32/i2c: Make sure stop condition is sent after receiving addr nack.
dpgeorge May 9, 2018
e1bc854
stm32/usb: Fix broken pyb.have_cdc() so it works again.
dpgeorge May 9, 2018
c1115d9
stm32/usb: Use correct type for USB HID object.
dpgeorge May 9, 2018
eb88803
py/{modbuiltins,repl}: Start qstr probing from after empty qstr.
dpgeorge May 9, 2018
bc87b86
py/runtime: Add mp_load_method_protected helper which catches exceptions
dpgeorge May 10, 2018
5298606
py/modbuiltins: Make built-in hasattr work properly for user types.
dpgeorge May 10, 2018
7241d90
py/repl: Use mp_load_method_protected to prevent leaking of exceptions.
dpgeorge May 10, 2018
29d28c2
py/modbuiltins: In built-in dir make use of mp_load_method_protected.
dpgeorge May 10, 2018
3678a6b
py/modbuiltins: Make built-in dir support the __dir__ special method.
dpgeorge May 10, 2018
b208aa1
stm32/README: Update to reflect current MCU support.
dpgeorge May 11, 2018
095d397
py/objdeque: Fix sign extension bug when computing len of deque object.
dpgeorge May 11, 2018
6046e68
py/repl: Initialise q_last variable to prevent compiler warnings.
dpgeorge May 11, 2018
d2c1db1
tests/float/float_parse: Allow test to run on 32-bit archs.
dpgeorge May 11, 2018
421b84a
docs: Bump version to 1.9.4.
dpgeorge May 11, 2018
7541be5
tests/basics/special_methods2: Enable some additional tests that work.
dpgeorge May 11, 2018
9630376
py/mpconfig.h: Be stricter when autodetecting machine endianness.
dpgeorge May 7, 2018
9f4eda5
stm32/usbd_conf.h: Remove unused macros and clean up header file.
dpgeorge May 11, 2018
56a273e
stm32/usbd_conf: Changes files to unix line endings and apply styling.
dpgeorge May 11, 2018
abde0fa
stm32/usbdev: Convert files to unix line endings.
dpgeorge May 11, 2018
4b3c629
.gitattributes: Remove special text handling of stm32 usbdev files.
dpgeorge May 11, 2018
aeaace0
stm32/usbdev: Remove unused RxState variable, and unused struct.
dpgeorge May 11, 2018
749b161
py/mpstate.h: Adjust start of root pointer section to exclude non-ptrs.
dpgeorge May 12, 2018
67e1a4f
esp32: Update to latest ESP IDF version.
wijnen May 9, 2018
1f1623d
stm32/usbdev: Be honest about data not being written to HID endpoint.
doc-hex May 11, 2018
ca36645
stm32/usbd_hid_interface: Address possible race condition vs. interrupt.
doc-hex May 11, 2018
b21415e
stm32/i2c: Add new hardware I2C driver for F4 MCUs.
dpgeorge May 14, 2018
ce824bb
stm32/machine_i2c: Use new F4 hardware I2C driver for machine.I2C class.
dpgeorge May 14, 2018
a0f7b4c
stm32/accel: Switch pyb.Accel to use new C-level I2C API.
dpgeorge May 14, 2018
92c5e27
stm32/modpyb: Introduce MICROPY_PY_PYB_LEGACY config option for pyb mod.
dpgeorge May 14, 2018
88c26a4
stm32/pyb_i2c: Put pyb.I2C under MICROPY_PY_PYB_LEGACY setting.
dpgeorge May 14, 2018
fb25c81
stm32/modpyb: Remove unused includes and clean up comments.
dpgeorge May 14, 2018
ed32284
stm32/usb: Use usbd_cdc_itf_t pointer directly in USB_VCP class.
dpgeorge May 14, 2018
bf08a99
stm32/usb: Combine CDC lower-layer and interface state into one struct.
dpgeorge May 14, 2018
ed92d62
stm32/usb: Combine HID lower-layer and interface state into one struct.
dpgeorge May 14, 2018
68271a2
stm32/usb: Make CDC endpoint definitions private to core usbdev driver.
dpgeorge May 14, 2018
91bca34
stm32/usb: Change CDC tx/rx funcs to take CDC state, not usbdev state.
dpgeorge May 14, 2018
2e565cc
stm32/usb: Change HID report funcs to take HID state, not usbdev state.
dpgeorge May 14, 2018
47ecbbb
stm32/usb: Add ability to have 2x VCP interfaces on the one USB device.
dpgeorge May 14, 2018
e6b66f1
stm32/usb: Initialise cdc variable to prevent compiler warnings.
dpgeorge May 14, 2018
c97607d
py/nlrx86: Use naked attribute on nlr_push for gcc 8.0 and higher.
dpgeorge May 15, 2018
cdaace1
esp32/modnetwork: Fix STA/AP activate/deactivate for new IDF API.
dpgeorge May 15, 2018
b9ff46f
stm32: Enable UART7/8 on F4 series that have these peripherals.
wtgRyan May 15, 2018
1b7487e
py/vm: Adjust #if logic for gil_divisor so braces are balanced.
dpgeorge May 16, 2018
a883fe1
py/objfun: Fix variable name in DECODE_CODESTATE_SIZE() macro.
tomlogic May 17, 2018
9c20447
extmod/modlwip: Update to work with lwIP v2.0.
dpgeorge May 17, 2018
7d7b9cd
lib/lwip: Update lwIP to v2.0.3, tag STABLE-2_0_3_RELEASE.
dpgeorge May 17, 2018
94a79f3
esp8266/mpconfigport.h: Add some weak links to common Python modules.
dpgeorge May 17, 2018
f8a5cd2
esp8266/modnetwork: Return empty str for hostname if STA is inactive.
dpgeorge May 17, 2018
dd13065
esp8266/modnetwork: Raise ValueError when getting invalid WLAN id.
dpgeorge May 17, 2018
1e2a6a8
extmod/modlwip: Set POLLHUP flag for sockets that are new.
dpgeorge May 17, 2018
58331e3
esp8266/modmachine: Allow I2C and SPI to be configured out of the build.
dpgeorge May 17, 2018
46ce395
py/vm: Use enum names instead of magic numbers in multi-opcode dispatch.
dpgeorge May 18, 2018
869024d
py/vm: Improve performance of opcode dispatch when using switch stmt.
dpgeorge May 18, 2018
3e6ab82
py/repl: Fix handling of unmatched brackets and unfinished quotes.
Li-Weiwei May 18, 2018
708cdb6
stm32: Add support for STM32L496 MCU.
tobbad May 18, 2018
4005c63
stm32/boards: Add board ld and af.csv files for STM32L496 MCU.
tobbad May 18, 2018
769e37b
stm32/boards: Add config files for new board, STM32L496GDISC.
tobbad May 18, 2018
43d08d6
py/misc.h: Add MP_STATIC_ASSERT macro to do static assertions.
dpgeorge May 18, 2018
828ce16
py/compile: Change comment about ITER_BUF_NSLOTS to a static assertion.
dpgeorge May 18, 2018
3ea0862
tools/pydfu.py: Fix typo in comments.
kebwi May 18, 2018
1050045
zephyr/README: Hint about existence of qemu_x86_nommu.
pfalcon Dec 14, 2017
9480c18
zephyr/main: After builtin testsuite, drop to REPL.
pfalcon Jan 12, 2018
080b0be
zephyr/mpconfigport.h: Enable uhashlib and ubinascii modules.
pfalcon May 8, 2017
0e52ee9
zephyr/modzsensor: Zephyr sensor subsystem bindings.
pfalcon Jan 16, 2018
7afbc49
zephyr/prj_base.conf: Enable DHCP and group static IPs together.
pfalcon Jan 23, 2018
5a02337
zephyr: Add prj_disco_l475_iot1.conf with sensor drivers.
pfalcon Jan 19, 2018
478410b
zephyr/Makefile: Add kobj_types_h_target to Z_EXPORTS.
pfalcon May 2, 2018
2923671
esp32/Makefile: Update to latest ESP IDF version.
dpgeorge May 21, 2018
afd0701
esp8266: Change UART(0) to attach to REPL via uos.dupterm interface.
dpgeorge May 15, 2018
bc6c0b2
py/emitbc: Avoid undefined behavior calling memset() with NULL 1st arg.
jepler May 19, 2018
5efc575
py/parsenum: Use int instead of mp_int_t for parsing float exponent.
dpgeorge May 21, 2018
4f71a2a
py/parsenum: Avoid undefined behavior parsing floats with large expon…
jepler May 19, 2018
60eb530
py/objfloat: Fix undefined shifting behavior in high-quality float hash.
jepler May 19, 2018
c4dafce
py/mpz: Avoid undefined behavior at integer overflow in mpz_hash.
jepler May 19, 2018
95e43ef
py/objfloat: Fix undefined integer behavior hashing negative zero.
jepler May 19, 2018
1ad0013
tests: Add some tests for bigint hash, float hash and float parsing.
dpgeorge May 21, 2018
cac2edd
minimal/main: Allow to compile without GC enabled.
DanielShaulov May 20, 2018
6bd7874
py/gc: When GC threshold is hit don't unnecessarily collect twice.
dpgeorge May 21, 2018
6c95593
stm32/rtc: Don't try to set SubSeconds value on RTC.
dpgeorge May 21, 2018
41766ba
extmod/modlwip: Allow to compile with MICROPY_PY_LWIP disabled.
dpgeorge May 21, 2018
cda9641
stm32: Integrate lwIP as implementation of usocket module.
dpgeorge May 21, 2018
f68e722
stm32/rng: Use Yasmarang for rng_get() if MCU doesn't have HW RNG.
dpgeorge May 22, 2018
e773a2c
stm32/main: Use consistent indenting of macro #if's.
dpgeorge May 22, 2018
f2ec792
py/parsenum: Adjust braces so they are balanced.
dpgeorge May 22, 2018
b318ebf
py/modbuiltins: Add support for rounding integers.
honza-klu Jan 9, 2018
20b4b85
ports: Enable MICROPY_PY_BUILTINS_ROUND_INT on selected ports.
dpgeorge May 22, 2018
771cb35
py/objgenerator: Save state in old_globals instead of local variable.
dpgeorge May 22, 2018
400273a
py/objgenerator: Protect against reentering a generator.
dpgeorge May 22, 2018
0a25fff
py/emit: Combine fast and deref into one function for load/store/delete.
dpgeorge May 18, 2018
e686c94
py/emit: Combine yield value and yield-from emit funcs into one.
dpgeorge May 18, 2018
26b5754
py/emit: Combine build tuple/list/map emit funcs into one.
dpgeorge May 18, 2018
d298013
py/emit: Combine name and global into one func for load/store/delete.
dpgeorge May 22, 2018
a4941a8
py/emit: Combine load/store/delete subscr into one emit function.
dpgeorge May 22, 2018
6211d97
py/emit: Combine load/store/delete attr into one emit function.
dpgeorge May 22, 2018
8a513da
py/emit: Combine break_loop and continue_loop into one emit function.
dpgeorge May 22, 2018
d97906c
py/emit: Combine import from/name/star into one emit function.
dpgeorge May 22, 2018
436e0d4
py/emit: Merge build set/slice into existing build emit function.
dpgeorge May 22, 2018
18e6358
py/emit: Combine setup with/except/finally into one emit function.
dpgeorge May 22, 2018
df9b7e8
esp32/esp32.custom_common.ld: Put soc code in iram0.
dpgeorge May 23, 2018
4200018
stm32: Remove unneeded HTML release notes from usbdev and usbhost dirs.
dpgeorge May 24, 2018
f47eeab
stm32: Add low-level hardware I2C slave driver.
dpgeorge May 24, 2018
15ddc20
stm32: Add new component, the mboot bootloader.
dpgeorge May 24, 2018
dfeaea1
py/objtype: Remove TODO comment about needing to check for property.
dpgeorge May 25, 2018
ef4c8e6
esp32: Silence ESP-IDF log messages when in raw REPL mode.
nickzoic May 24, 2018
aa4a7a8
stm32/usb: Guard USB device code with #if for whether USB is enabled.
dpgeorge May 28, 2018
f497723
stm32: Allow to have no storage support if there are no block devices.
dpgeorge May 28, 2018
070937f
stm32: Add support for Cortex-M0 CPUs.
dpgeorge May 28, 2018
5c06859
stm32/timer: Make timer_get_source_freq more efficient by using regs.
dpgeorge May 28, 2018
6d83468
stm32: Allow a board to disable MICROPY_VFS_FAT.
dpgeorge May 28, 2018
191e2cf
lib/stm32lib: Update library to include support for STM32F0 MCUs.
dpgeorge May 28, 2018
4a7d157
stm32/boards: Add startup_stm32f0.s for STM32F0 MCUs.
dpgeorge May 28, 2018
ea7e747
stm32: Add support for STM32F0 MCUs.
dpgeorge May 28, 2018
1163400
stm32/boards: Add alt-func CSV list and linker script for STM32F091.
dpgeorge May 28, 2018
e681372
stm32/boards: Add NUCLEO_F091RC board configuration files.
dpgeorge May 28, 2018
98d1609
stm32/README: Update to include STM32F0 in list of supported MCUs.
dpgeo 8000 rge May 28, 2018
50bc34d
stm32/boards: Split combined alt-func labels and fix some other errors.
rolandvs May 29, 2018
958fa74
stm32/boards: Ensure USB OTG power is off for NUCLEO_F767ZI.
rolandvs May 29, 2018
a1acbad
stm32/flash: Increase H7 flash size to full 2MiB.
dpgeorge May 29, 2018
05b13fd
py/objtype: Fix assertion failures in mp_obj_new_type by checking types.
jepler Mar 25, 2018
c60589c
py/objtype: Fix assertion failures in super_attr by checking type.
jepler Mar 25, 2018
98b9f0f
extmod/modussl_mbedtls: Populate sock member right away in wrap_socket.
dpgeorge May 31, 2018
ea22406
extmod/modussl_mbedtls: Use mbedtls_entropy_func for CTR-DRBG entropy.
dpgeorge May 31, 2018
6d87aa5
stm32/modnetwork: Don't take netif's down when network is deinited.
dpgeorge Jun 1, 2018
7437215
stm32/modnetwork: Change base entry of NIC object from type to base.
dpgeorge Jun 1, 2018
d9f1ece
stm32/modnetwork: Provide generic implementation of ifconfig method.
dpgeorge Jun 1, 2018
5a5bc4a
drivers/wiznet5k: Fix bug with MACRAW socket calculating packet size.
dpgeorge Jun 1, 2018
7d86ac6
stm32: Add network driver for Wiznet5k using MACRAW mode and lwIP.
dpgeorge Jun 1, 2018
309fe39
stm32/modnetwork: Fix arg indexing in generic ifconfig method.
dpgeorge Jun 3, 2018
1427f8f
py/stream: Move definition of mp_stream_p_t from obj.h to stream.h.
dpgeorge Jun 4, 2018
df13ecd
cc3200/mods: Include stream.h to get definition of mp_stream_p_t.
dpgeorge Jun 4, 2018
bc92206
esp32/Makefile: Extract common C & C++ flags for consistent compilation.
projectgus Jun 4, 2018
a90124a
esp32: Add support for building with external SPI RAM.
dpgeorge Jun 5, 2018
aace60a
esp8266/modules/ntptime.py: Remove print of newly-set time.
dpgeorge Jun 5, 2018
172c23f
extmod/vfs: Use u_rom_obj properly in argument structures.
dpgeorge Jun 6, 2018
f35aae3
extmod/vfs_fat: Rename FileIO/TextIO types to mp_type_vfs_fat_XXX.
dpgeorge Jun 6, 2018
8d82b0e
extmod: Add VfsPosix filesystem component.
dpgeorge Jun 6, 2018
a93144c
py/reader: Allow MICROPY_VFS_POSIX to work with MICROPY_READER_POSIX.
dpgeorge Jun 6, 2018
d4ce57e
extmod/vfs: Add fast path for stating VfsPosix filesystem.
dpgeorge Jun 6, 2018
1d40f12
unix: Support MICROPY_VFS_POSIX and enable it in coverage build.
dpgeorge Jun 6, 2018
6c02da2
tests/extmod: Add test for importing a script from a user VFS.
dpgeorge Jun 6, 2018
5ef0d2a
tests/extmod: Remove conditional import of uos_vfs, it no longer exists.
dpgeorge Jun 6, 2018
fadd6bb
unix/moduos_vfs: Add missing uos functions from traditional uos module.
dpgeorge Jun 6, 2018
c117eff
extmod/vfs: Introduce a C-level VFS protocol, with fast import_stat.
dpgeorge Jun 6, 2018
a8b9e71
py/mpconfig.h: Add default MICROPY_VFS_FAT config value.
dpgeorge Jun 6, 2018
b789c64
travis: Install explicit version of urllib3 for coveralls.
dpgeorge Jun 6, 2018
db5d8c9
py/obj.h: Introduce a "flags" entry in mp_obj_type_t.
dpgeorge May 25, 2018
bace1a1
py/objtype: Don't expose mp_obj_instance_attr().
dpgeorge May 25, 2018
36c1052
py/objtype: Optimise instance get/set/del by skipping special accessors.
dpgeorge May 25, 2018
93150a0
ports: Enable descriptors on stm32, esp8266, esp32 ports.
dpgeorge Jun 8, 2018
190c7db
stm32/mpconfigport.h: Enable DELATTR_SETATTR and BUILTINS_NOTIMPLEMENTED
dpgeorge Jun 8, 2018
a12d046
tests/pyb: Make i2c and pyb1 pyboard tests run again.
dpgeorge Jun 8, 2018
039f196
esp32/modnetwork: Fix isconnected() when using static IP config.
glenn20 Jun 4, 2018
24c416c
stm32/mboot: Increase USB rx_buf and DFU buf sizes to full 2048 bytes.
dpgeorge Jun 8, 2018
8fb95d6
tools/pydfu.py: Increase download packet size to full 2048 bytes.
dpgeorge Jun 8, 2018
522ea80
py/gc: Add gc_sweep_all() function to run all remaining finalisers.
dpgeorge May 31, 2018
8000
b2fa1b5
ports: Call gc_sweep_all() when doing a soft reset.
dpgeorge May 31, 2018
6a445b6
py/lexer: Add support for underscores in numeric literals.
dpgeorge Jun 1, 2018
af0932a
py/modio: Add uio.IOBase class to allow to define user streams.
dpgeorge Jun 4, 2018
565f590
ports: Enable IOBase on unix, stm32, esp8266 and esp32.
dpgeorge Jun 4, 2018
9144b1f
tests/io: Add simple IOBase test.
dpgeorge Jun 4, 2018
c901cc6
tests/extmod: Add test for VFS and user-defined filesystem and files.
dpgeorge Jun 4, 2018
b045ebd
extmod/moduhashlib: Prefix all Python methods and objects with uhashlib.
Jongy Jun 8, 2018
38682d4
extmod/moduhashlib: Reorder funcs so that they are grouped by hash type.
Jongy Jun 8, 2018
6630354
extmod/moduhashlib: Allow to disable the sha256 class.
Jongy Jun 8, 2018
6963ee9
extmod/moduhashlib: Allow using the sha256 implementation of mbedTLS.
Jongy Jun 9, 2018
c2fb725
extmod/moduhashlib: Make function objects STATIC.
Jongy Jun 9, 2018
0501427
esp32: Remove port-specific uhashlib implementation and use common one.
dpgeorge Jun 12, 2018
7ad04d1
py/mkrules.mk: Regenerate all qstrs when config files change.
dpgeorge Jun 9, 2018
5042d98
stm32/Makefile: Rebuild all qstrs when any board configuration changes.
dpgeorge Jun 9, 2018
0359064
extmod/uos_dupterm: Use native C stream methods on dupterm object.
dpgeorge Jun 12, 2018
d11fb09
extmod/modussl_axtls: Fix __del__ to point to mp_stream_close_obj.
dpgeorge Jun 13, 2018
cf1509c
esp32/fatfs_port: Implement get_fattime so FAT files have a timestamp.
dpgeorge Jun 13, 2018
86fe73b
drivers/memory/spiflash: Move cache buffer to user-provided config.
dpgeorge Jun 7, 2018
335d26b
stm32/boards/STM32L476DISC: Update SPI flash config for cache change.
dpgeorge Jun 7, 2018
cc5a940
drivers/memory/spiflash: Rename functions to indicate they use cache.
dpgeorge Jun 7, 2018
b78ca32
drivers/memory/spiflash: Add functions for direct erase/read/write.
dpgeorge Jun 7, 2018
37a7257
stm32/timer: Support TIM1 on F0 MCUs.
dpgeorge Jun 15, 2018
bc5e8a2
stm32/i2c: Fix num_acks calculation in i2c_write for F0 and F7 MCU's.
dpgeorge Jun 15, 2018
7be4a23
stm32/i2cslave: Fix ordering of event callbacks in slave IRQ handler.
dpgeorge Jun 15, 2018
d61d119
esp32: Update to latest ESP IDF.
dpgeorge Jun 15, 2018
34b2f6b
esp32/modules: Include umqtt library in frozen modules.
dpgeorge Jun 15, 2018
8b8c083
drivers/sdcard: Change driver to use new block-device protocol.
dpgeorge Jun 15, 2018
1747d15
drivers/sdcard: Fix bug in computing number of sectors on SD Card.
dpgeorge Jun 15, 2018
564abb0
extmod/vfs_fat_diskio: Factor disk ioctl code to reduce code size.
dpgeorge Jun 16, 2018
ceff433
stm32/mboot: Adjust user-reset-mode timeout so it ends with mode=1.
dpgeorge Jun 18, 2018
31cf49c
examples/embedding: Add code markup and fix typo in README.md.
dpgeorge Jun 18, 2018
6abede2
py/stream: Introduce and use efficient mp_get_stream to access stream_p.
dpgeorge Jun 13, 2018
e8398a5
extmod: Update to use new mp_get_stream helper.
dpgeorge Jun 13, 2018
a5f5552
tests/unix/extra_coverage: Don't test stream objs with NULL write fun.
dpgeorge Jun 13, 2018
0ecce77
tests/extmod/ujson_dump.py: Add test for dump to non-stream object.
dpgeorge Jun 13, 2018
48829cd
tests/extmod: Add test for ujson.dump writing to a user IOBase object.
dpgeorge Jun 13, 2018
0d3de68
stm32/boards/stm32f091_af.csv: Split labels that are multiple funcs.
rolandvs Jun 13, 2018
ca2b1d6
stm32/boards/NUCLEO_F091RC: Add Arduino-named pins and rename CPU pins.
rolandvs Jun 13, 2018
c00ee20
py/objarray: Replace 0x80 with new MP_OBJ_ARRAY_TYPECODE_FLAG_RW macro.
dpgeorge Jun 18, 2018
338af99
stm32/can: Use MP_OBJ_ARRAY_TYPECODE_FLAG_RW where appropriate.
dpgeorge Jun 18, 2018
e49cd10
stm32/spi: Fix SPI driver so it can send/recv more than 65535 bytes.
dpgeorge Jun 18, 2018
6d8816f
tests/import: Add test for importing invalid .mpy file.
dpgeorge Jun 18, 2018
5962c21
stm32/mboot: Define constants for reset mode cycling and timeout.
dpgeorge Jun 19, 2018
561ae9a
stm32/boards/NUCLEO_F091RC: Fix TICK_INT_PRIORITY so it is highest prio.
dpgeorge Jun 20, 2018
2c8d130
py/stream: Update comment for mp_stream_write_adaptor.
dpgeorge Jun 20, 2018
582b190
py: Add checks for stream objects in print() and sys.print_exception().
dpgeorge Jun 20, 2018
b92a8ad
tests: Add tests using "file" argument in print and sys.print_exception.
dpgeorge Jun 20, 2018
34344a4
py/stream: Remove stray empty line at start of file.
dpgeorge Jun 20, 2018
7f41f73
stm32/qspi: Don't require data reads and writes to be a multiple of 4.
dpgeorge Jun 22, 2018
ec7982e
stm32/mboot: Add support for erase/read/write of external SPI flash.
dpgeorge Jun 22, 2018
92667dc
tools/pydfu.py: Add support for multiple memory segments.
dpgeorge Jun 22, 2018
a2ac7e4
stm32/boards: Add .ld and af.csv files for STM32F722.
dpgeorge Jun 22, 2018
c149197
py/compile: Combine break and continue compile functions.
dpgeorge Jun 19, 2018
d23bec3
py/compile: Combine subscript_2 and subscript_3 into one function.
dpgeorge Jun 19, 2018
1a7109d
py/compile: Combine global and nonlocal statement compile functions.
dpgeorge Jun 19, 2018
36e474e
py/compile: Combine or_test and and_test compile functions.
dpgeorge Jun 19, 2018
25ae98f
py/compile: Combine expr, xor_expr and and_expr into one function.
dpgeorge Jun 19, 2018
7c21960
WIP: after merge; before testing
dhalbert Jul 11, 2018
0d27f4d
continued WIP: almost compiling
dhalbert Jul 12, 2018
e2e01ef
compiles and runs; hangs on import storage;storage.VfsFat.<tab>
dhalbert Jul 14, 2018
2809b4f
Merge branch 'master' into micropython-25ae98f-merge
dhalbert Jul 16, 2018
bc760dd
WIP: complete manual inspection of all significant changes
dhalbert Jul 24, 2018
f48b700
merge finished
dhalbert Jul 28, 2018
2e260a0
Merge remote-tracking branch 'adafruit/master' into micropython-25ae9…
dhalbert Jul 28, 2018
a5068ea
fix .travis.yml
dhalbert Jul 28, 2018
bfbb5cd
put back test in qemu-arm build
dhalbert Jul 29, 2018
c76a4d4
remove qemu-arm build; fix docs build bugs
dhalbert Jul 29, 2018
b100617
Download arm-none toolchain only when necessary.
dhalbert Jul 30, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
tests/basics/string_cr_conversion.py -text
tests/basics/string_crlf_conversion.py -text
ports/stm32/pybcdc.inf_template -text
ports/stm32/usbd_* -text
ports/stm32/usbdev/** -text
ports/stm32/usbhost/** -text
ports/cc3200/hal/aes.c -text
ports/cc3200/hal/aes.h -text
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
url = https://github.com/atgreen/libffi
[submodule "lib/lwip"]
path = lib/lwip
url = http://git.savannah.gnu.org/r/lwip.git
url = https://git.savannah.gnu.org/r/lwip.git
[submodule "lib/berkeley-db-1.xx"]
path = lib/berkeley-db-1.xx
url = https://github.com/pfalcon/berkeley-db-1.xx
Expand Down
8 changes: 0 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ env:
- TRAVIS_BOARD=gemma_m0
- TRAVIS_BOARD=feather52832
- TRAVIS_BOARD=pca10056
- TRAVIS_TEST=qemu
- TRAVIS_TEST=unix
- TRAVIS_TEST=docs

Expand All @@ -49,9 +48,7 @@ notifications:
before_script:
- sudo dpkg --add-architecture i386

- ([[ -z "$TRAVIS_TEST" ]] || sudo apt-get install -y qemu-system)
- ([[ -z "$TRAVIS_BOARD" ]] || (wget https://s3.amazonaws.com/adafruit-circuit-python/gcc-arm-embedded_7-2018q2-1~trusty1_amd64.deb && sudo dpkg -i gcc-arm-embedded*_amd64.deb))
- ([[ $TRAVIS_TEST != "qemu" ]] || (wget https://s3.amazonaws.com/adafruit-circuit-python/gcc-arm-embedded_7-2018q2-1~trusty1_amd64.deb && sudo dpkg -i gcc-arm-embedded*_amd64.deb))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this whole line. This has it always download it when the line above covers the other cases.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Roger. Missed that overlap.


# For nrf builds
- ([[ $TRAVIS_BOARD != "feather52832" && $TRAVIS_BOARD != "pca10056" ]] || sudo ports/nrf/drivers/bluetooth/download_ble_stack.sh)
Expand Down Expand Up @@ -80,10 +77,6 @@ script:
- ([[ $TRAVIS_TEST != "unix" ]] || make -C ports/unix coverage -j2)
- echo -en 'travis_fold:end:unix\\r'

- echo 'Building qemu' && echo -en 'travis_fold:start:qemu\\r'
- ([[ $TRAVIS_TEST != "qemu" ]] || make -C ports/qemu-arm test -j2)
- echo -en 'travis_fold:end:qemu\\r'

# run tests without coverage info
#- (cd tests && MICROPY_CPYTHON3=python3.4 ./run-tests -j1)
#- (cd tests && MICROPY_CPYTHON3=python3.4 ./run-tests -j1 --emit native)
Expand Down Expand Up @@ -115,4 +108,3 @@ script:

after_failure:
- (cd tests && for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff -u $testbase.exp $testbase.out; done)
- (grep "FAIL" ports/qemu-arm/build/console.out)
1 change: 1 addition & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
"ports/cc3200",
"ports/cc3200/FreeRTOS",
"ports/cc3200/hal",
"ports/esp32",
"ports/esp8266/boards",
"ports/esp8266/common-hal",
"ports/esp8266/modules",
Expand Down
4 changes: 2 additions & 2 deletions docs/library/array.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Classes

.. method:: append(val)

Append new element to the end of array, growing it.
Append new element ``val`` to the end of array, growing it.

.. method:: extend(iterable)

Append new elements as contained in an iterable to the end of
Append new elements as contained in `iterable` to the end of
array, growing it.
2 changes: 1 addition & 1 deletion docs/library/btree.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
:synopsis: simple BTree database

The ``btree`` module implements a simple key-value database using external
storage (disk files, or in general case, a random-access stream). Keys are
storage (disk files, or in general case, a random-access ``stream``). Keys are
stored sorted in the database, and besides efficient retrieval by a key
value, a database also supports efficient ordered range scans (retrieval
of values with the keys in a given range). On the application interface
Expand Down
8 changes: 8 additions & 0 deletions docs/library/framebuf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,14 @@ Constants

Red Green Blue (16-bit, 5+6+5) color format

.. data:: framebuf.GS2_HMSB

Grayscale (2-bit) color format

.. data:: framebuf.GS4_HMSB

Grayscale (4-bit) color format

.. data:: framebuf.GS8

Grayscale (8-bit) color format
43 changes: 9 additions & 34 deletions docs/library/micropython.rst
F438
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,17 @@ Functions
compilation of scripts, and returns ``None``. Otherwise it returns the current
optimisation level.

.. function:: alloc_emergency_exception_buf(size)
The optimisation level controls the following compilation features:

Allocate *size* bytes of RAM for the emergency exception buffer (a good
size is around 100 bytes). The buffer is used to create exceptions in cases
when normal RAM allocation would fail (eg within an interrupt handler) and
therefore give useful traceback information in these situations.
- Assertions: at level 0 assertion statements are enabled and compiled into the
bytecode; at levels 1 and higher assertions are not compiled.
- Built-in ``__debug__`` variable: at level 0 this variable expands to ``True``;
at levels 1 and higher it expands to ``False``.
- Source-code line numbers: at levels 0, 1 and 2 source-code line number are
stored along with the bytecode so that exceptions can report the line number
they occurred at; at levels 3 and higher line numbers are not stored.

A good way to use this function is to put it at the start of your main script
(eg ``boot.py`` or ``main.py``) and then the emergency exception buffer will be active
for all the code following it.
The default optimisation level is usually level 0.

.. function:: mem_info([verbose])

Expand Down Expand Up @@ -90,29 +91,3 @@ Functions
This function can be used to prevent the capturing of Ctrl-C on the
incoming stream of characters that is usually used for the REPL, in case
that stream is used for other purposes.

.. function:: schedule(func, arg)

Schedule the function *func* to be executed "very soon". The function
is passed the value *arg* as its single argument. "Very soon" means that
the MicroPython runtime will do its best to execute the function at the
earliest possible time, given that it is also trying to be efficient, and
that the following conditions hold:

- A scheduled function will never preempt another scheduled function.
- Scheduled functions are always executed "between opcodes" which means
that all fundamental Python operations (such as appending to a list)
are guaranteed to be atomic.
- A given port may define "critical regions" within which scheduled
functions will never be executed. Functions may be scheduled within
a critical region but they will not be executed until that region
is exited. An example of a critical region is a preempting interrupt
handler (an IRQ).

A use for this function is to schedule a callback from a preempting IRQ.
Such an IRQ puts restrictions on the code that runs in the IRQ (for example
the heap may be locked) and scheduling a function to call later will lift
those restrictions.

There is a finite stack to hold the scheduled functions and `schedule`
will raise a `RuntimeError` if the stack is full.
6 changes: 3 additions & 3 deletions docs/library/sys.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,15 +105,15 @@ Constants

.. data:: stderr

Standard error stream.
Standard error ``stream``.

.. data:: stdin

Standard input stream.
Standard input ``stream``.

.. data:: stdout

Standard output stream.
Standard output ``stream``.

.. data:: version

Expand Down
35 changes: 18 additions & 17 deletions docs/library/uctypes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This module implements "foreign data interface" for MicroPython. The idea
behind it is similar to CPython's ``ctypes`` modules, but the actual API is
different, streamlined and optimized for small size. The basic idea of the
module is to define data structure layout with about the same power as the
C language allows, and the access it using familiar dot-syntax to reference
C language allows, and then access it using familiar dot-syntax to reference
sub-fields.

.. seealso::
Expand All @@ -31,55 +31,55 @@ Following are encoding examples for various field types:

* Scalar types::

"field_name": uctypes.UINT32 | 0
"field_name": offset | uctypes.UINT32

in other words, value is scalar type identifier ORed with field offset
(in bytes) from the start of the structure.

* Recursive structures::

"sub": (2, {
"b0": uctypes.UINT8 | 0,
"b1": uctypes.UINT8 | 1,
"sub": (offset, {
"b0": 0 | uctypes.UINT8,
"b1": 1 | uctypes.UINT8,
})

i.e. value is a 2-tuple, first element of which is offset, and second is
a structure descriptor dictionary (note: offsets in recursive descriptors
are relative to a structure it defines).
are relative to the structure it defines).

* Arrays of primitive types::

"arr": (uctypes.ARRAY | 0, uctypes.UINT8 | 2),
"arr": (offset | uctypes.ARRAY, size | uctypes.UINT8),

i.e. value is a 2-tuple, first element of which is ARRAY flag ORed
with offset, and second is scalar element type ORed number of elements
in array.

* Arrays of aggregate types::

"arr2": (uctypes.ARRAY | 0, 2, {"b": uctypes.UINT8 | 0}),
"arr2": (offset | uctypes.ARRAY, size, {"b": 0 | uctypes.UINT8}),

i.e. value is a 3-tuple, first element of which is ARRAY flag ORed
with offset, second is a number of elements in array, and third is
descriptor of element type.

* Pointer to a primitive type::

"ptr": (uctypes.PTR | 0, uctypes.UINT8),
"ptr": (offset | uctypes.PTR, uctypes.UINT8),

i.e. value is a 2-tuple, first element of which is PTR flag ORed
with offset, and second is scalar element type.

* Pointer to an aggregate type::

"ptr2": (uctypes.PTR | 0, {"b": uctypes.UINT8 | 0}),
"ptr2": (offset | uctypes.PTR, {"b": 0 | uctypes.UINT8}),

i.e. value is a 2-tuple, first element of which is PTR flag ORed
with offset, second is descriptor of type pointed to.

* Bitfields::

"bitf0": uctypes.BFUINT16 | 0 | 0 << uctypes.BF_POS | 8 << uctypes.BF_LEN,
"bitf0": offset | uctypes.BFUINT16 | lsbit << uctypes.BF_POS | bitsize << uctypes.BF_LEN,

i.e. value is type of scalar value containing given bitfield (typenames are
similar to scalar types, but prefixes with "BF"), ORed with offset for
Expand All @@ -88,20 +88,21 @@ Following are encoding examples for various field types:
BF_POS and BF_LEN positions, respectively. Bitfield position is counted
from the least significant bit, and is the number of right-most bit of a
field (in other words, it's a number of bits a scalar needs to be shifted
right to extra the bitfield).
right to extract the bitfield).

In the example above, first UINT16 value will be extracted at offset 0
In the example above, first a UINT16 value will be extracted at offset 0
(this detail may be important when accessing hardware registers, where
particular access size and alignment are required), and then bitfield
whose rightmost bit is least-significant bit of this UINT16, and length
is 8 bits, will be extracted - effectively, this will access
least-significant byte of UINT16.
whose rightmost bit is *lsbit* bit of this UINT16, and length
is *bitsize* bits, will be extracted. For example, if *lsbit* is 0 and
*bitsize* is 8, then effectively it will access least-significant byte
of UINT16.

Note that bitfield operations are independent of target byte endianness,
in particular, example above will access least-significant byte of UINT16
in both little- and big-endian structures. But it depends on the least
significant bit being numbered 0. Some targets may use different
numbering in their native ABI, but ``uctypes`` always uses normalized
numbering in their native ABI, but ``uctypes`` always uses the normalized
numbering described above.

Module contents
Expand Down
2 changes: 1 addition & 1 deletion docs/library/uio.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

|see_cpython_module| :mod:`cpython:io`.

This module contains additional types of stream (file-like) objects
This module contains additional types of ``stream`` (file-like) objects
and helper functions.

Conceptual hierarchy
Expand Down
15 changes: 14 additions & 1 deletion docs/library/ujson.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,24 @@ data format.
Functions
---------

.. function:: dump(obj, stream)

Serialise ``obj`` to a JSON string, writing it to the given *stream*.

.. function:: dumps(obj)

Return ``obj`` represented as a JSON string.

.. function:: load(stream)

Parse the given ``stream``, interpreting it as a JSON string and
deserialising the data to a Python object. The resulting object is
returned.

Parsing continues until end-of-file is encountered.
A :exc:`ValueError` is raised if the data in ``stream`` is not correctly formed.

.. function:: loads(str)

Parse the JSON ``str`` and return an object. Raises ValueError if the
Parse the JSON *str* and return an object. Raises :exc:`ValueError` if the
string is not correctly formed.
14 changes: 8 additions & 6 deletions docs/library/ure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ Supported operators are:
``'.'``
Match any character.

``'[]'``
Match set of characters. Individual characters and ranges are supported.
``'[...]'``
Match set of characters. Individual characters and ranges are supported,
including negated sets (e.g. ``[^a-c]``).

``'^'``

Expand All @@ -38,18 +39,19 @@ Supported operators are:

``'|'``

``'()'``
``'(...)'``
Grouping. Each group is capturing (a substring it captures can be accessed
with `match.group()` method).

Counted repetitions (``{m,n}``), more advanced assertions, named groups,
etc. are not supported.
**NOT SUPPORTED**: Counted repetitions (``{m,n}``), more advanced assertions
(``\b``, ``\B``), named groups (``(?P<name>...)``), non-capturing groups
(``(?:...)``), etc.


Functions
---------

.. function:: compile(regex_str)
.. function:: compile(regex_str, [flags])

Compile regular expression, return `regex <regex>` object.

Expand Down
Loading
0