examples/natmod: Add .gitignore to ignore generated example .mpy files.
unix/file: Don't raise OSError(EINVAL) on sys.stdin/out/err.flush().
tools/makemanifest.py: Fix build on Windows by adding .exe to mpy-cross.
tests/multi_bluetooth: Add initial tests for bluetooth BLE.
travis: Run multi_net tests as part of coverage job.
tests/multi_net: Add initial set of multi-instance tests for network.
tests/run-multitests.py: Add new test runner for multiple Py instances.
travis: Build stm32 PYBD_SF6 with BTstack as bluetooth stack.
stm32: Refactor Bluetooth HCI RX to be independent of transport layer.
extmod/btstack: Implement notifications/indications for GATT clients.
extmod/btstack: Implement scan and gatt client, connect and disconnect.
extmod/btstack: Implement gatts_db for btstack.
extmod/btstack: Implement service registration.
extmod/btstack: Implement advertising.
stm32/boards/PYBD: Allow building with BTstack (via make command line).
stm32: Add bindings for BTstack implementation.
extmod/btstack: Add empty modbluetooth implementation.
lib: Add BlueKitchen BTstack submodule.
extmod/modbluetooth: Extract out gatts_db functionality from nimble.
extmod/modbluetooth_nimble: Move nimble specific code, factor nimble.mk.
stm32/modnetwork: Remove redundant call to nimble_poll in lwip poll.
zephyr: Mount a file system during init.
travis: For unix tests use Makefile target instead of explicit commands.
tests/run-tests: Consider all tests as native when emit=native is used.
unix/Makefile: Detect and pass thru mpy-cross flags when running tests.
py/modmicropython: Add heap_locked function to test state of heap.
mimxrt: Add MIMXRT1010 board.
mimxrt: Add new, minimal port to NXP i.MX RT series CPUs.
samd: Fix to build with latest tinyusb.
lib/tinyusb: Update to a6b916ba for i.MX support.
py/objstringio: Expose tell() on StringIO and BytesIO objects.
tools/codeformat.py: Eliminate need for sizeof fixup.
py/objstr: Remove duplicate % in error string.
extmod/vfs: Factor out vfs mount-and-chdir helper from stm32.
tools/metrics.py: Use check_call instead of run to error out on error.
extmod/nimble: When getting BLE MAC try public address if random fails.
extmod/modbluetooth: Change scan result's "connectable" to "adv_type"
esp8266/machine_pin: Disable ets_loop_iter during hard IRQ handler.
extmod/nimble: Clarify active state and check for active in all methods.
extmod/modbluetooth: Unify error handling in remaining places.
esp32: Deinitialize Bluetooth on soft reset.
stm32/main: Fix bug mounting 3rd SD partition.
examples/bluetooth: Replace "connectable" parameter with "adv_type".
zephyr: Execute main.py file if it exists.
zephyr: Enable usb mass storage class on mimxrt1050_evk.
stm32/main: Fix bug mounting 3rd SD partition.
examples/bluetooth: Replace "connectable" parameter with "adv_type".
zephyr: Execute main.py file if it exists.
zephyr: Enable usb mass storage class on mimxrt1050_evk
tests/run-multitests.py: Print test summary and do exit(1) on failure.
unix: Remove custom file implementation to use extmod's VFS POSIX one.
extmod/vfs_posix_file: Lock GIL when writing and allow stdio flush.
all: Convert exceptions to use mp_raise_XXX helpers in remaining places.
extmod/modlwip: Properly handle non-blocking and timeout on UDP recv.
extmod/modlwip: Fix polling of UDP socket so it doesn't return HUP.
stm32/mboot: Allow overriding led_init and led_state in board folder.
tools/pydfu.py: Add args for VID/PID & exit with cleaner error handling.
esp32/README.md: Update build instructions for newer toolchain.
esp8266/README.md: Add docker build instructions
tools/pydfu.py: Display any error strings from device/mboot.
stm32/mboot: Protect against invalid address flash writes.
stm32/mboot: Update dfu state/status flags to better match standard