Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1299 commits
Select commit Hold shift + click to select a range
1937fb2
extmod/nimble: Clarify active state and check for active in all methods.
jimmo Feb 24, 2020
41a9f1d
extmod/modbluetooth: Unify error handling in remaining places.
friebel Jan 1, 2020
bd746a4
esp32: Deinitialize Bluetooth on soft reset.
friebel Mar 7, 2020
dd0bc26
extmod/modbluetooth: Change scan result's "connectable" to "adv_type".
dpgeorge Mar 10, 2020
7bf6256
extmod/nimble: When getting BLE MAC try public address if random fails.
dpgeorge Mar 11, 2020
554c01f
tools/metrics.py: Use check_call instead of run to error out on error.
dpgeorge Mar 11, 2020
ed84855
extmod/vfs: Factor out vfs mount-and-chdir helper from stm32.
dpgeorge Mar 11, 2020
fccf175
py/objstr: Remove duplicate % in error string.
tomlogic Mar 9, 2020
8a4ce6b
tools/codeformat.py: Eliminate need for sizeof fixup.
dlech Mar 9, 2020
ed93778
py/objstringio: Expose tell() on StringIO and BytesIO objects.
pi-anl Mar 10, 2020
6cea369
lib/tinyusb: Update to a6b916ba for i.MX support.
jimmo Jan 15, 2020
211032a
samd: Fix to build with latest tinyusb.
jimmo Jan 15, 2020
f46782d
mimxrt: Add new, minimal port to NXP i.MX RT series CPUs.
jimmo Jan 20, 2020
7eea0d8
mimxrt: Add MIMXRT1010 board.
jimmo Jan 30, 2020
86bfabe
py/modmicropython: Add heap_locked function to test state of heap.
pi-anl Jun 28, 2019
359213f
unix/Makefile: Detect and pass thru mpy-cross flags when running tests.
dpgeorge Mar 11, 2020
ea1ea90
tests/run-tests: Consider all tests as native when emit=native is used.
dpgeorge Mar 11, 2020
f552451
travis: For unix tests use Makefile target instead of explicit commands.
dpgeorge Mar 11, 2020
5feb54a
zephyr: Mount a file system during init.
MaureenHelm Feb 27, 2020
78c7e4a
zephyr: Enable usb mass storage class on mimxrt1050_evk.
MaureenHelm Oct 16, 2019
110a610
zephyr: Execute main.py file if it exists.
MaureenHelm Mar 10, 2020
baf8aa2
examples/bluetooth: Replace "connectable" parameter with "adv_type".
friebel Mar 11, 2020
eae495a
stm32/main: Fix bug mounting 3rd SD partition.
dpgeorge Mar 12, 2020
00267aa
extmod/modlwip: Fix polling of UDP socket so it doesn't return HUP.
dpgeorge Mar 16, 2020
8f0778b
extmod/modlwip: Properly handle non-blocking and timeout on UDP recv.
dpgeorge Mar 17, 2020
ad9a0ec
all: Convert exceptions to use mp_raise_XXX helpers in remaining places.
dpgeorge Mar 18, 2020
68b1bc2
extmod/vfs_posix_file: Lock GIL when writing and allow stdio flush.
dpgeorge Mar 18, 2020
2cdf1d2
unix: Remove custom file implementation to use extmod's VFS POSIX one.
dpgeorge Mar 18, 2020
19ea30b
tests/run-multitests.py: Print test summary and do exit(1) on failure.
dpgeorge Mar 18, 2020
8d34344
esp8266/modmachine: Implement machine.soft_reset().
dpgeorge Mar 20, 2020
0cd1308
esp8266/README.md: Add docker build instructions.
jimmo Mar 2, 2020
9715905
esp32/README.md: Update build instructions for newer toolchain.
jimmo Mar 2, 2020
2966d83
tools/pydfu.py: Add args for VID/PID & exit with cleaner error handling.
pi-anl Feb 24, 2020
03b1ed8
stm32/mboot: Allow overriding led_init and led_state in board folder.
pi-anl Feb 24, 2020
b41d08c
stm32/mboot: Update dfu state/status flags to better match standard.
pi-anl Feb 24, 2020
f7130a9
stm32/mboot: Protect against invalid address flash writes.
pi-anl Feb 24, 2020
38ccb4c
tools/pydfu.py: Display any error strings from device/mboot.
pi-anl Mar 5, 2020
9dd470b
stm32/mboot: Update LED0 state from systick handler.
pi-anl Mar 5, 2020
40255af
stm32/mboot: Remove unnecessary test for led being 1 in led_state.
dpgeorge Mar 24, 2020
76a5b3a
zephyr: Update machine.Pin class to use new zephyr gpio api.
MaureenHelm Mar 19, 2020
1b3e0e1
tools/codeformat.py: Include all msvc C code in auto-format.
stinos Mar 20, 2020
f62cc41
windows/msvc: Fix warnings regarding function declarations.
stinos Mar 20, 2020
feb2577
all: Remove spaces between nested paren and inside function arg paren.
dpgeorge Mar 20, 2020
9fa3216
esp8266/modnetwork: Add support for wlan.ifconfig('dhcp').
dpgeorge Mar 21, 2020
b1066a9
unix: Remove custom definition of MP_PLAT_PRINT_STRN.
dlech Mar 21, 2020
100012b
windows: Remove custom definition of MP_PLAT_PRINT_STRN.
dlech Mar 21, 2020
3b07736
unix,windows: Use STDIN_FILENO, STDOUT_FILENO macros where appropriate.
dlech Mar 21, 2020
d0edaf8
windows/windows_mphal: Fix missing semicolon.
dlech Mar 21, 2020
58d9a48
extmod/vfs_posix_file: Include unistd.h to get STD{IN,OUT,ERR}_FILENO.
dlech Mar 21, 2020
2f7d2bb
py/stream.h: Include sys/types.h to get size_t and off_t for POSIX API.
dlech Mar 21, 2020
fbfea3b
drivers/onewire: Fix undefined variable errors.
amotl Mar 23, 2020
bf4fb16
esp32/modsocket: Handle poll of a closed socket.
dpgeorge Mar 23, 2020
c5cc641
ports: Add lib/libm/roundf.c to bare-metal Makefile's.
v923z Mar 24, 2020
f8fc786
py/mpconfig.h: Enable MICROPY_MODULE_GETATTR by default.
dpgeorge Feb 29, 2020
ab00f4c
qemu-arm: Set default board as mps2-an385 to get more flash for tests.
dpgeorge Mar 2, 2020
98ab764
travis: Print errors out for OSX job.
dpgeorge Mar 2, 2020
c47a3dd
py/pairheap: Properly unlink node on pop and delete.
dpgeorge Mar 13, 2020
6c7e78d
py/pairheap: Add helper function to initialise a new node.
dpgeorge Mar 16, 2020
f9741d1
unix/coverage: Init all pairheap test nodes before using them.
dpgeorge Mar 13, 2020
f05ae41
stm32/softtimer: Initialise pairing-heap node before pushing to heap.
dpgeorge Mar 16, 2020
63b9944
extmod/uasyncio: Add new implementation of uasyncio module.
dpgeorge Nov 13, 2019
c4935f3
tests/extmod: Add uasyncio tests.
dpgeorge Nov 13, 2019
5d09a40
tests/run-tests: Skip uasyncio if no async, and skip one test on native.
dpgeorge Jan 23, 2020
3667eff
travis: Exclude some uasyncio tests on OSX.
dpgeorge Mar 3, 2020
18fa65e
tests: Make default MICROPYPATH include extmod to find uasyncio.
dpgeorge Mar 9, 2020
38904b8
tests/multi_net: Add uasyncio test for TCP server and client.
dpgeorge Mar 9, 2020
081d067
tests/net_inet: Add uasyncio internet tests.
dpgeorge Mar 12, 2020
bc009fd
extmod/uasyncio: Add optional implementation of core uasyncio in C.
dpgeorge Mar 12, 2020
91dd394
unix: Enable uasyncio C helper module on coverage build.
dpgeorge Mar 12, 2020
c99322f
docs/library: Add initial docs for uasyncio module.
dpgeorge Mar 20, 2020
3b68f36
extmod/uasyncio: Add manifest.py for freezing uasyncio Py files.
dpgeorge Mar 21, 2020
35e2dd0
stm32: Enable and freeze uasyncio.
dpgeorge Mar 21, 2020
1d4d688
esp8266: Enable and freeze uasyncio.
dpgeorge Mar 22, 2020
ad004db
esp32: Enable and freeze uasyncio.
dpgeorge Mar 22, 2020
dbba6b0
stm32/mpconfigport.h: Remove unused root pointer for BTstack bindings.
dpgeorge Mar 25, 2020
5e6cee0
unix/mpthreadport: Fix crash when thread stack size <= 8k.
dlech Mar 27, 2020
9418611
unix: Implement PEP 475 to retry syscalls failing with EINTR.
dlech Jan 23, 2020
0608fbf
travis: Use custom PPA to get pre-built uncrustify.
dlech Mar 9, 2020
6c77d5c
travis: Use grep with --text on qemu-arm output.
dlech Mar 27, 2020
09154f5
stm32/mpconfigport.h: Make most extended modules configurable by board.
dpgeorge Mar 28, 2020
83461e3
stm32/boards: Disable pend_throw, uheapq, utimeq on small-flash boards.
dpgeorge Mar 28, 2020
b56caaf
travis: Build NUCLEO_L073RZ instead of B_L072Z_LRWAN1 for stm32 job.
dpgeorge Mar 28, 2020
1a3e386
all: Remove spaces inside and around parenthesis.
dpgeorge Mar 26, 2020
6883233
tests/basics/dict_pop.py: Remove extra comma in call and fix grammar.
dlech Mar 27, 2020
1cf994c
tools/pyboard.py: Support setting device/baudrate from shell env vars.
larsks Mar 25, 2020
3a0f64f
tools/pyboard.py: Add -d as an alias for --device.
larsks Mar 25, 2020
a2110bd
all: Fix implicit casts of float/double, and signed comparison.
dlech Mar 20, 2020
2461349
travis: Build full unix coverage build on osx job.
dlech Mar 21, 2020
488613b
tests/micropython/heapalloc_fail_set.py: Remove extra trailing comma.
dlech Mar 28, 2020
3dc324d
tests: Format all Python code with black, except tests in basics subdir.
dlech Mar 23, 2020
6110cd3
tests/float: Add new lexer test to test parsing of float without prefix.
dlech Mar 28, 2020
581f913
tests/run-tests: Add commands to print and clean *.exp,out files.
dlech Mar 27, 2020
8fff0b0
unix/mpthreadport: Ensure enough thread stack to detect overflow.
dpgeorge Mar 28, 2020
711dd39
extmod/uasyncio: Don't create a Loop instance in get_event_loop().
dpgeorge Mar 30, 2020
b389bc0
extmod/uasyncio: Implement Loop.stop() to stop the event loop.
dpgeorge Mar 30, 2020
aca19c2
extmod/uasyncio: Add error message to Lock.release's RuntimeError.
kevinkk525 Mar 28, 2020
f97b539
extmod/uasyncio: Add StreamReader/StreamWriter as aliases of Stream cls.
dpgeorge Apr 1, 2020
e97bb58
esp32/README.md: Fix typo in venv instructions.
jimmo Mar 31, 2020
15f41c2
extmod/uasyncio: Add global exception handling methods.
kevinkk525 Mar 30, 2020
df156b1
docs,tests: Add docs and test for uasyncio custom exc handler methods.
dpgeorge Apr 1, 2020
e0905e8
esp8266: Change from FAT to littlefs v2 as default filesystem.
dpgeorge Mar 26, 2020
497ca99
esp8266/makeimg.py: Print out info about RAM segments when building fw.
dpgeorge Apr 4, 2020
ad2b318
travis: Build GENERIC_1M board as part of esp8266 job.
dpgeorge Apr 4, 2020
312c699
esp32: Change from FAT to littlefs v2 as default filesystem.
dpgeorge Mar 27, 2020
a9a745e
py: Use preprocessor to detect error reporting level (terse/detailed).
jimmo Sep 26, 2019
994c1dd
stm32/Makefile: Add missing ordering dependency on generated headers.
jimmo Mar 4, 2020
c34e7b9
py/dynruntime.mk: Set MICROPY_ENABLE_DYNRUNTIME instead of per module.
jimmo Mar 4, 2020
1921224
extmod/modubinascii: Make code private and module self-contained.
jimmo Sep 26, 2019
154b4eb
py: Implement "common word" compression scheme for error messages.
jimmo Sep 26, 2019
92c83bd
windows: Update genhdr.targets to match makeqstrdefs.py args.
jimmo Mar 4, 2020
85858e7
py/objexcept: Allow compression of exception message text.
jimmo Jan 29, 2020
def76fe
all: Use MP_ERROR_TEXT for all error messages.
jimmo Mar 2, 2020
073b9a5
ports: Enable error text compression for various ports, but not all.
jimmo Mar 4, 2020
8680a74
drivers/display/ssd1306.py: Change the SET_COM_PIN_CFG setting.
robert-hh Mar 29, 2020
fa285be
lib/btstack: Update to latest master btstack commit.
dpgeorge Apr 5, 2020
899e89d
extmod/btstack: Pass through SCAN_RSP events.
dpgeorge Apr 5, 2020
c5a21a9
extmod/modbluetooth: Provide FLAG_WRITE_NO_RESPONSE for characteristics.
dpgeorge Apr 5, 2020
bd56337
travis: Make OSX build work again by not installing pkgconfig.
stinos Apr 6, 2020
7a07e71
lib/littlefs: Update littlefs2 to v2.2.0.
dpgeorge Apr 5, 2020
a5f2ae1
tests/extmod: Update littlefs test output to match new library version.
dpgeorge Apr 5, 2020
4914731
py/parse: Remove unnecessary check in const folding for ** operator.
dpgeorge Apr 6, 2020
e292296
py/objexcept: Remove optional TimeoutError exception.
dpgeorge Apr 7, 2020
d6f8096
esp32/espneopixel: Use integer arithmetic to compute timing values.
dpgeorge Apr 8, 2020
7409467
docs/library: Note that uasyncio.wait_for() can raise exception.
peterhinch Apr 8, 2020
e880c8d
travis: Split esp32 ESP-IDF v3 and v4 builds to separate jobs.
tve Apr 11, 2020
f66c989
tests/run-tests: Make diff tool user configurable.
stinos Mar 30, 2020
45cf764
unix: Fix behaviour of COPT/NDEBUG for unix variants.
jimmo Apr 3, 2020
c2cfbcc
unix: Implement MICROPY_BEGIN/END_ATOMIC_SECTION protection macros.
jimmo Apr 3, 2020
243805d
py/scheduler: Fix race in checking scheduler pending state.
jimmo Apr 3, 2020
8470cd0
py/scheduler: Add assert that scheduler is locked when unlocking.
jimmo Apr 3, 2020
1bbc15d
unix/Makefile: Fix regression using install on non-GNU systems.
dlech Apr 8, 2020
db137e7
extmod/uasyncio: Add Loop.new_event_loop method.
dpgeorge Apr 9, 2020
8e048d2
all: Clean up error strings to use lowercase and change cannot to can't.
dpgeorge Apr 9, 2020
7654907
py/makecompresseddata.py: Don't prefix str with mark if not compressed.
dpgeorge Apr 9, 2020
bd63c26
py/scope: Add assert to check that low numbered qstrs do fit in uint8_t.
Ecco Apr 10, 2020
5f0661b
extmod/uasyncio: Change cannot to can't in error message, and test exp.
dpgeorge Apr 14, 2020
2725a79
py: Always give noop defines when MICROPY_ROM_TEXT_COMPRESSION disabled.
dpgeorge Apr 13, 2020
f534b99
esp32: Update to ESP IDF v3.3.2.
dpgeorge Apr 11, 2020
803e5ea
mpy-cross/main: Fix stderr_print_strn parameter type.
dlech Apr 13, 2020
6943fb6
mpy-cross/main: Print uncaught nlr jump to stderr.
dlech Apr 13, 2020
7942d0b
stm32/storage: Fix start address of second, internal block device.
hoihu Apr 13, 2020
2883369
stm32/mboot/README: Clarify that mboot can access FAT formatted FS only.
hoihu Apr 13, 2020
91a6ddc
travis: Decrease build duration by starting OSX build early.
stinos Apr 9, 2020
4677315
travis: Finish jobs early after test failure.
stinos Apr 9, 2020
b909e8b
Revert "all: Fix implicit casts of float/double, and signed comparison."
stinos Mar 31, 2020
0ba68f8
all: Fix implicit floating point promotion.
stinos Apr 9, 2020
7fb9edf
tests/float: Fix cmath_fun_special for MICROPY_FLOAT_IMPL_FLOAT.
stinos Apr 1, 2020
dc4d119
py/objarray: Fix sign mismatch in comparison.
stinos Mar 31, 2020
bcf01d1
all: Fix implicit conversion from double to float.
stinos Mar 31, 2020
70affd9
all: Fix implicit floating point to integer conversions.
stinos Apr 13, 2020
f31f9a8
py/objint: Do not use fpclassify.
stinos Apr 6, 2020
30840eb
all: Enable extra conversion warnings where applicable.
stinos Apr 9, 2020
8ee2e1f
stm32/mboot: Expose custom DFU USB VID/PID values at makefile level.
pi-anl Feb 24, 2020
1b1ceb6
docs/library: Document that char_data/notify_data are also references.
friebel Apr 13, 2020
388d419
py/makecompresseddata.py: Make compression deterministic.
dpgeorge Apr 19, 2020
a442357
tools/metrics.py: Add option to diff to error if delta above threshold.
dpgeorge Apr 19, 2020
1cc24cd
tools/metrics.py: Don't build mpy-cross if not needed by any ports.
dpgeorge Apr 19, 2020
17dc863
tools/metrics.py: Use OrderedDict when reading build log.
dpgeorge Apr 19, 2020
8267f08
travis: Use tools/metrics.py to compute size diff of minimal ports.
dpgeorge Apr 18, 2020
6e2871d
tools/check_code_size.sh: Remove unused script.
dpgeorge Apr 20, 2020
6a1c7ea
README: Update Travis CI links to point to travis-ci.com.
dpgeorge Apr 22, 2020
a177831
esp32/modesp32: Add idf_heap_info(capabilities) to esp32 module.
tve Mar 29, 2020
1ae7e0e
esp32: Consolidate check_esp_err functions and add IDF error string.
tve Mar 31, 2020
d624356
all: Remove commented-out include statements.
stinos Apr 16, 2020
84fa331
all: Format code to add space after C++-style comment start.
stinos Apr 16, 2020
0bfd55a
README: Fix small typo, dfeault -> default.
keshto Apr 21, 2020
0dceab0
lib/mynewt-nimble: Update submodule to NimBLE release 1.3.0.
jimmo Apr 22, 2020
347c891
extmod/nimble: Update to work with NimBLE 1.3.
jimmo Apr 27, 2020
57fce3b
py/objdict: Fix popitem for ordered dicts.
jimmo Apr 22, 2020
e08ca78
py/stream: Remove mp_stream_errno and use system errno instead.
dpgeorge Apr 20, 2020
bd6ca15
py/modio: Allow uio.IOBase streams to return errno for read/write error.
dpgeorge Apr 20, 2020
4fa6d93
tests/extmod: Add btree test for errors raised by btree DB library.
dpgeorge Apr 20, 2020
cb5994d
unix/modmachine: Add machine.idle(), implemented using sched_yield.
jimmo Apr 7, 2020
0da47ec
stm32/Makefile: Rename SRC_LIB to LIB_SRC_C to match other ports.
jimmo Apr 7, 2020
8119ec0
extmod/modbluetooth: Don't hold atomic section during mp_sched_schedule.
jimmo Apr 7, 2020
50e44f4
stm32/main: Peform a clean shutdown of btstack on soft reset.
jimmo Apr 7, 2020
c987adb
extmod/btstack: Implement more robust init/deinit sequencing.
jimmo Apr 7, 2020
7563d58
unix: Add support for modbluetooth and BLE using btstack.
jimmo Apr 7, 2020
f588138
tests/run-multitests.py: Allow filtering out lines from stdout.
jimmo Apr 7, 2020
9b06efb
tests/multi_bluetooth/ble_gap_advertise: Fix bytes/str compare warning.
jimmo Apr 7, 2020
59a7865
tests/run-multitests.py: Add shortcuts for local Python instances.
jimmo Apr 7, 2020
af22619
unix: Enable modbluetooth on the "dev" and "coverage" variants.
jimmo Apr 7, 2020
c37fd78
lib/btstack: Update to c8b9823 for USB HCI reset timeout fix.
jimmo Apr 16, 2020
ebfd9ff
extmod/modbluetooth: Fix sign compare and unused variable warnings.
jimmo Apr 17, 2020
2e3c427
unix: Add btstack to the unix submodules list.
jimmo Apr 20, 2020
7104260
all: Factor gchelper code to one place and use it for unix & ARM ports.
jimmo Apr 23, 2020
5c8bf12
all: Fix auto-enable of MICROPY_GCREGS_SETJMP to select GC behaviour.
dpgeorge Apr 30, 2020
4371c97
travis: Make sure upstream/master exists when computing size-diff check.
dpgeorge Apr 30, 2020
544c308
py/scheduler: Add option to wrap mp_sched_schedule in arbitrary attr.
dpgeorge Apr 23, 2020
0bd58a5
esp8266/machine_pin: Move pin_intr_handler to iRAM, de-support hard IRQ.
dpgeorge Apr 23, 2020
419d1aa
esp8266/mpconfigport.h: Add definitions for BEGIN/END_ATOMIC_SECTION.
dpgeorge Apr 23, 2020
391927c
docs/library: Note that machine.Pin.irq's hard arg may not be supported.
dpgeorge Apr 30, 2020
73c5815
extmod/modbtree: Retain reference to underlying stream so it's not GC'd.
dpgeorge Apr 20, 2020
309c19d
tests/cpydiff: Add cpydiff test for __all__ used in imported package.
jimmo Apr 28, 2020
7d97d24
docs/library: Fix docs for machine.WDT to specify millisecond timeout.
tve May 2, 2020
952ff8a
esp32: Improve support for OTA updates.
tve Apr 2, 2020
40e9227
esp32/partitions: Update comments in files regarding offset.
tve Apr 30, 2020
4ede703
py/parse: Support constant folding of power operator for integers.
dpgeorge Apr 7, 2020
138a28d
tests/thread/thread_stacksize1.py: Increase stack size for CPython.
yangfl May 1, 2020
25434e9
zephyr: Use zephyr build system to merge configurations.
MaureenHelm May 2, 2020
e2def20
stm32/boards/PYBD_SF2: Put BTstack library in external QSPI XIP flash.
dpgeorge May 5, 2020
037c83b
tests/multi_bluetooth: Fix typo printing wrong IRQ type.
dpgeorge May 8, 2020
a5ea4b9
extmod/vfs_lfsx: Fix path handling in uos.stat() to consider cur dir.
robert-hh Apr 29, 2020
d3ea28d
extmod/vfs_lfsx: Normalize path name in chdir.
robert-hh May 3, 2020
0f83ef3
extmod/vfs_lfsx: Fix rename to respect cur dir for new path.
robert-hh May 4, 2020
f792e6c
py/scheduler: Convert mp_sched_full and mp_sched_num_pending to macros.
dpgeorge May 2, 2020
e12de1f
esp8266: Clean up Pin intr handler by moving all code to machine_pin.c.
dpgeorge May 2, 2020
caa7725
esp8266/boards: Move py/pairheap.c code from iRAM to iROM.
dpgeorge May 2, 2020
f2218c2
esp8266/esp_mphal: Move most functions in esp_mphal.c from iRAM to iROM.
dpgeorge May 2, 2020
67fca2b
esp8266/uart: Move a few functions from iRAM to iROM.
dpgeorge May 2, 2020
035059e
tests/run-multitests.py: Add TRACE banner and move TEST output to end.
dpgeorge May 2, 2020
172fc04
py/parse: Make mp_parse_node_extract_list return size_t instead of int.
dpgeorge May 4, 2020
adb6733
tests/run-tests: Skip REPL feature checks when running via pyboard.py.
dpgeorge May 9, 2020
ab4e197
esp32/modsocket: Fix getaddrinfo to raise on error.
tve Apr 28, 2020
f385b7b
stm32/README: Reorg DFU flashing instructions with addition for PYBD.
tve Apr 24, 2020
3b6c911
extmod/modbluetooth: Add support for changing the GAP device name.
dpgeorge May 8, 2020
c9611b2
README: Change --help option to -h to match micropython executable.
hcs0 May 9, 2020
18fb5b4
extmod/nimble: Make error code mapping default to MP_EIO.
friebel Apr 27, 2020
801f7dc
py/nativeglue.h: Rename "setjmp" entry to "setjmp_" to avoid any clash.
dpgeorge May 14, 2020
8f3167a
esp8266/boards: Allow configuring btree/FAT/LFS2 support when building.
rroemhild May 11, 2020
d739967
stm32: Add support for F412 MCUs.
TPRoberts May 14, 2020
463c0fb
stm32/boards: Add board config for Nucleo-F412ZG development board.
TPRoberts May 14, 2020
7dffbfd
extmod/vfs_lfsx: Fix import_stat so it takes into account current dir.
dpgeorge May 14, 2020
eb5e9c0
nrf/Makefile: Don't use -fno-builtin for Cortex-M0 builds.
dpgeorge May 14, 2020
8f34877
nrf/mphalport: Remove need for "syntax unified" in mp_hal_delay_us.
dpgeorge May 14, 2020
9ee5aff
lib/nrfx: Upgrade to nrfx v2.0.0.
dpgeorge May 15, 2020
e7f8c7d
nrf: Update to work with nrfx v2.0.0, to match TinyUSB.
jimmo Mar 25, 2020
1f1b787
travis: Build more boards as part of nrf job.
jimmo Mar 25, 2020
cd9a8c1
nrf: Add openocd as a supported flasher.
jimmo Apr 20, 2020
dd8db97
unix/main: Enter REPL when inspect active, even with stdin redirected.
rockindy May 14, 2020
cae77da
docs/develop: Fix module/source name in Makefile of native example.
dpgeorge May 16, 2020
e32302c
esp8266/esppwm: Fix PWM glitch when setting duty on different channel.
EddieParis Apr 22, 2020
b3bc980
mimxrt/boards: Add MIMXRT1060_EVK board.
Albort12138 May 7, 2020
25bc42e
powerpc: Fix Makefile rule when linking.
shenki May 26, 2020
b65482f
powerpc: Set better default compiler.
shenki May 26, 2020
a9d9649
travis: Run apt commands once, to slightly speed up the CI.
shenki May 26, 2020
d680306
travis: Set build name so it appears in the web interfaces.
shenki May 26, 2020
4bbba30
lib/utils: Lock the scheduler when executing hard callback functions.
dpgeorge May 27, 2020
a902b69
py/py.mk: Use additional CFLAGS to compile string0.c.
dpgeorge May 21, 2020
81db22f
py/modmath: Work around msvc float bugs in atan2, fmod and modf.
stinos May 17, 2020
97ccde0
py/ringbuf: Fix compilation with msvc.
stinos May 17, 2020
9523ca9
windows: Make appveyor.yml self-contained.
stinos May 17, 2020
093fd80
py/modsys: Use consistent naming pattern for module-level const objects.
dlech May 22, 2020
2d1fef7
tools/codeformat.py: Use -q option on uncrustify to make output quiet.
dlech May 26, 2020
1662a0b
esp32/machine_sdcard: Add "freq" keyword arg to SDCard constructor.
ccccmagicboy Feb 25, 2020
50a7ba2
esp32/modmachine: Fix machine.reset_cause to use IDF's esp_reset_reason.
tve May 2, 2020
f03d030
powerpc/uart: Choose which UART to use at build time, not runtime.
shenki May 26, 2020
5cfc09f
travis: For powerpc job, build both UART variants.
shenki May 26, 2020
8f64267
tools/codeformat.py: Add verbose option to pass to uncrustify and black.
dlech May 27, 2020
22806ed
extmod/vfs: Retain previous working directory if chdir fails.
dpgeorge May 28, 2020
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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
*.bat text eol=crlf

# These are binary so should never be modified by git.
*.a binary
*.png binary
*.jpg binary
*.dxf binary
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@
######################
*.swp

# Build directory
# Build directories
######################
build/
build-*/

# Test failure outputs
######################
Expand Down
18 changes: 18 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,21 @@
[submodule "lib/nrfx"]
path = lib/nrfx
url = https://github.com/NordicSemiconductor/nrfx.git
[submodule "lib/mbedtls"]
path = lib/mbedtls
url = https://github.com/ARMmbed/mbedtls.git
[submodule "lib/asf4"]
path = lib/asf4
url = https://github.com/adafruit/asf4
[submodule "lib/tinyusb"]
path = lib/tinyusb
url = https://github.com/hathach/tinyusb
[submodule "lib/mynewt-nimble"]
path = lib/mynewt-nimble
url = https://github.com/apache/mynewt-nimble.git
[submodule "lib/btstack"]
path = lib/btstack
url = https://github.com/bluekitchen/btstack.git
[submodule "lib/nxp_driver"]
path = lib/nxp_driver
url = https://github.com/hathach/nxp_driver.git
308 changes: 254 additions & 54 deletions .travis.yml

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion ACKNOWLEDGEMENTS
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,6 @@ today. The names appear in order of pledging.
1642 Udine
1643 Simon Critchley
1644 Sven Haiges, Germany
1645 Yi Qing Sim
1646 "silicium" ("silicium_one", if "silicium" is busy)
1648 Andy O'Malia, @andyomalia
1650 RedCamelApps.com
Expand Down
35 changes: 27 additions & 8 deletions CODECONVENTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,18 @@ It's also ok to drop file extensions.

Besides prefix, first line of a commit message should describe a
change clearly and to the point, and be a grammatical sentence with
final full stop. First line should fit within 78 characters. Examples
final full stop. First line should fit within 72 characters. Examples
of good first line of commit messages:

py/objstr: Add splitlines() method.
py: Rename FOO to BAR.
docs/machine: Fix typo in reset() description.
ports: Switch to use lib/foo instead of duplicated code.

After the first line, add an empty line and in following lines describe
a change in a detail, if needed. Any change beyond 5 lines would likely
require such detailed description.
After the first line add an empty line and in the following lines describe
the change in a detail, if needed, with lines fitting within 75 characters
(with an exception for long items like URLs which cannot be broken). Any
change beyond 5 lines would likely require such detailed description.

To get good practical examples of good commits and their messages, browse
the `git log` of the project.
Expand All @@ -47,14 +48,27 @@ address on it construes your sign-off of the following:
a valid and active email address by which you can be contacted in the
foreseeable future.

Code auto-formatting
====================

Both C and Python code are auto-formatted using the `tools/codeformat.py`
script. This uses [uncrustify](https://github.com/uncrustify/uncrustify) to
format C code and [black](https://github.com/psf/black) to format Python code.
After making changes, and before committing, run this tool to reformat your
changes to the correct style. Without arguments this tool will reformat all
source code (and may take some time to run). Otherwise pass as arguments to
the tool the files that changed and it will only reformat those.

Python code conventions
=======================

Python code follows [PEP 8](http://legacy.python.org/dev/peps/pep-0008/).
Python code follows [PEP 8](https://legacy.python.org/dev/peps/pep-0008/) and
is auto-formatted using [black](https://github.com/psf/black) with a line-length
of 99 characters.

Naming conventions:
- Module names are short and all lowercase; eg pyb, stm.
- Class names are CamelCase, with abreviations all uppercase; eg I2C, not
- Class names are CamelCase, with abbreviations all uppercase; eg I2C, not
I2c.
- Function and method names are all lowercase with words separated by
a single underscore as necessary to improve readability; eg mem_read.
Expand All @@ -64,7 +78,12 @@ Naming conventions:
C code conventions
==================

When writing new C code, please adhere to the following conventions.
C code is auto-formatted using [uncrustify](https://github.com/uncrustify/uncrustify)
and the corresponding configuration file `tools/uncrustify.cfg`, with a few
minor fix-ups applied by `tools/codeformat.py`. When writing new C code please
adhere to the existing style and use `tools/codeformat.py` to check any changes.
The main conventions, and things not enforceable via the auto-formatter, are
described below.

White space:
- Expand tabs to 4 spaces.
Expand Down Expand Up @@ -125,7 +144,7 @@ Braces, spaces, names and comments:
foo(x + TO_ADD, some_value - 1);
}

for (int my_counter = 0; my_counter < x; my_counter++) {
for (int my_counter = 0; my_counter < x; ++my_counter) {
}
}

Expand Down
53 changes: 53 additions & 0 deletions CODEOFCONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
MicroPython Code of Conduct
===========================

The MicroPython community is made up of members from around the globe with a
diverse set of skills, personalities, and experiences. It is through these
differences that our community experiences great successes and continued growth.
When you're working with members of the community, this Code of Conduct will
help steer your interactions and keep MicroPython a positive, successful, and
growing community.

Members of the MicroPython community are open, considerate, and respectful.
Behaviours that reinforce these values contribute to a positive environment, and
include: acknowledging time and effort, being respectful of differing viewpoints
and experiences, gracefully accepting constructive criticism, and using
welcoming and inclusive language.

Every member of our community has the right to have their identity respected.
The MicroPython community is dedicated to providing a positive experience for
everyone, regardless of age, gender identity and expression, sexual orientation,
disability, physical appearance, body size, ethnicity, nationality, race, or
religion (or lack thereof), education, or socio-economic status.

Unacceptable behaviour includes: harassment, trolling, deliberate intimidation,
violent threats or language directed against another person; insults, put downs,
or jokes that are based upon stereotypes, that are exclusionary, or that hold
others up for ridicule; unwelcome sexual attention or advances; sustained
disruption of community discussions; publishing others' private information
without explicit permission; and other conduct that is inappropriate for a
professional audience including people of many different backgrounds.

This code of conduct covers all online and offline presence related to the
MicroPython project, including GitHub and the forum. If a participant engages
in behaviour that violates this code of conduct, the MicroPython team may take
action as they deem appropriate, including warning the offender or expulsion
from the community. Community members asked to stop any inappropriate behaviour
are expected to comply immediately.

Thank you for helping make this a welcoming, friendly community for everyone.

If you believe that someone is violating the code of conduct, or have any other
concerns, please contact a member of the MicroPython team by emailing
contact@micropython.org.

License
-------

This Code of Conduct is licensed under the Creative Commons
Attribution-ShareAlike 3.0 Unported License.

Attributions
------------

Based on the Python code of conduct found at https://www.python.org/psf/conduct/
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2013, 2014 Damien P. George
Copyright (c) 2013-2019 Damien P. George

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
36 changes: 24 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/micropython/micropython.png?branch=master)](https://travis-ci.org/micropython/micropython) [![Coverage Status](https://coveralls.io/repos/micropython/micropython/badge.png?branch=master)](https://coveralls.io/r/micropython/micropython?branch=master)
[![Build Status](https://travis-ci.com/micropython/micropython.png?branch=master)](https://travis-ci.com/micropython/micropython) [![Coverage Status](https://coveralls.io/repos/micropython/micropython/badge.png?branch=master)](https://coveralls.io/r/micropython/micropython?branch=master)

The MicroPython project
=======================
Expand Down Expand Up @@ -64,6 +64,17 @@ You will also need bash, gcc, and Python 3.3+ available as the command `python3`
(if your system only has Python 2.7 then invoke make with the additional option
`PYTHON=python2`).

The MicroPython cross-compiler, mpy-cross
-----------------------------------------

Most ports require the MicroPython cross-compiler to be built first. This
program, called mpy-cross, is used to pre-compile Python scripts to .mpy
files which can then be included (frozen) into the firmware/executable for
a port. To build mpy-cross use:

$ cd mpy-cross
$ make

The Unix version
----------------

Expand All @@ -75,8 +86,8 @@ Alternatively, fallback implementation based on setjmp/longjmp can be used.

To build (see section below for required dependencies):

$ git submodule update --init
$ cd ports/unix
$ make submodules
$ make

Then to give it a try:
Expand All @@ -88,7 +99,7 @@ Use `CTRL-D` (i.e. EOF) to exit the shell.
Learn about command-line options (in particular, how to increase heap size
which may be needed for larger applications):

$ ./micropython --help
$ ./micropython -h

Run complete testsuite:

Expand Down Expand Up @@ -116,13 +127,14 @@ Debian/Ubuntu/Mint derivative Linux distros, install `build-essential`
Other dependencies can be built together with MicroPython. This may
be required to enable extra features or capabilities, and in recent
versions of MicroPython, these may be enabled by default. To build
these additional dependencies, first fetch git submodules for them:
these additional dependencies, in the port directory you're
interested in (e.g. `ports/unix/`) first execute:

$ git submodule update --init
$ make submodules

Use the same command to get the latest versions of dependencies, as
they are updated from time to time. After that, in the port directory
(e.g. `ports/unix/`), execute:
This will fetch all the relevant git submodules (sub repositories) that
the port needs. Use the same command to get the latest versions of
submodules as they are updated from time to time. After that execute:

$ make deplibs

Expand All @@ -132,11 +144,11 @@ options (like cross-compiling), the same set of options should be passed
to `make deplibs`. To actually enable/disable use of dependencies, edit
`ports/unix/mpconfigport.mk` file, which has inline descriptions of the options.
For example, to build SSL module (required for `upip` tool described above,
and so enabled by dfeault), `MICROPY_PY_USSL` should be set to 1.
and so enabled by default), `MICROPY_PY_USSL` should be set to 1.

For some ports, building required dependences is transparent, and happens
automatically. They still need to be fetched with the git submodule command
above.
automatically. But they still need to be fetched with the `make submodules`
command.

The STM32 version
-----------------
Expand All @@ -148,8 +160,8 @@ https://launchpad.net/gcc-arm-embedded

To build:

$ git submodule update --init
$ cd ports/stm32
$ make submodules
$ make

You then need to get your board into DFU mode. On the pyboard, connect the
Expand Down
15 changes: 15 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,21 @@ In `micropython/docs`, build the docs:

You'll find the index page at `micropython/docs/build/html/index.html`.

Having readthedocs.org build the documentation
----------------------------------------------

If you would like to have docs for forks/branches hosted on GitHub, GitLab or
BitBucket an alternative to building the docs locally is to sign up for a free
https://readthedocs.org account. The rough steps to follow are:
1. sign-up for an account, unless you already have one
2. in your account settings: add GitHub as a connected service (assuming
you have forked this repo on github)
3. in your account projects: import your forked/cloned micropython repository
into readthedocs
4. in the project's versions: add the branches you are developing on or
for which you'd like readthedocs to auto-generate docs whenever you
push a change

PDF manual generation
---------------------

Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
#
# We don't follow "The short X.Y version" vs "The full version, including alpha/beta/rc tags"
# breakdown, so use the same version identifier for both to avoid confusion.
version = release = '1.10'
version = release = '1.12'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -159,7 +159,7 @@
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = 'favicon.ico'
html_favicon = 'static/favicon.ico'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
25 changes: 21 additions & 4 deletions docs/develop/cmodules.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _cmodules:

MicroPython external C modules
==============================

Expand All @@ -17,6 +19,10 @@ more sense to keep this external to the main MicroPython repository.
This chapter describes how to compile such external modules into the
MicroPython executable or firmware image.

An alternative approach is to use :ref:`natmod` which allows writing custom C
code that is placed in a .mpy file, which can be imported dynamically in to
a running MicroPython system without the need to recompile the main firmware.


Structure of an external C module
---------------------------------
Expand Down Expand Up @@ -48,7 +54,7 @@ A MicroPython user C module is a directory with the following files:
See below for full usage example.


Basic Example
Basic example
-------------

This simple module named ``example`` provides a single function
Expand All @@ -71,8 +77,6 @@ Directory::
#include "py/runtime.h"
#include "py/builtin.h"

#define MODULE_EXAMPLE_ENABLED (1)

// This is the function which will be called from Python as example.add_ints(a, b).
STATIC mp_obj_t example_add_ints(mp_obj_t a_obj, mp_obj_t b_obj) {
// Extract the ints from the micropython input objects
Expand Down Expand Up @@ -119,6 +123,19 @@ Directory::
# This is not actually needed in this example.
CFLAGS_USERMOD += -I$(EXAMPLE_MOD_DIR)

Finally you will need to define ``MODULE_EXAMPLE_ENABLED`` to 1. This
can be done by adding ``CFLAGS_EXTRA=-DMODULE_EXAMPLE_ENABLED=1`` to
the ``make`` command, or editing ``mpconfigport.h`` or
``mpconfigboard.h`` to add

.. code-block:: c

#define MODULE_EXAMPLE_ENABLED (1)

Note that the exact method depends on the port as they have different
structures. If not done correctly it will compile but importing will
fail to find the module.


Compiling the cmodule into MicroPython
--------------------------------------
Expand Down Expand Up @@ -146,7 +163,7 @@ Building for stm32 port:
.. code-block:: bash

cd my_project/micropython/ports/stm32
make USER_C_MODULES=../../../modules all
make USER_C_MODULES=../../../modules CFLAGS_EXTRA=-DMODULE_EXAMPLE_ENABLED=1 all


Module usage in MicroPython
Expand Down
2 changes: 2 additions & 0 deletions docs/develop/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ See the `getting started guide
:maxdepth: 1

cmodules.rst
qstr.rst
natmod.rst
Loading