8000 Spresense by kamtom480 · Pull Request #3 · kamtom480/micropython · GitHub
[go: up one dir, main page]

Skip to content

Spresense #3

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

Closed
wants to merge 1,198 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1198 commits
Select commit Hold shift + click to select a range
0557f0b
esp32/network_ppp: Add a timeout for closing PPP connection.
dpgeorge May 8, 2019
e1e3704
stm32/modmachine: Create dedicated asm function to branch to bootloader.
dpgeorge May 15, 2019
016d9a4
various: Add and update my copyright line based on git history.
pfalcon May 14, 2019
653e175
various: Update early copyright years to match actual edit history.
dpgeorge May 17, 2019
1f63e9b
stm32/adc: Fix VBAT_DIV to be 4 for STM32F411.
dpgeorge May 20, 2019
8bec0e8
docs/machine.I2C: Add writevto method to write a vector of byte bufs.
dpgeorge Aug 4, 2018
606ea2b
extmod/machine_i2c: Change C-level API to allow split I2C transactions.
dpgeorge May 8, 2019
38ac697
stm32/machine_i2c: Update to support new C-level I2C API.
dpgeorge May 8, 2019
bb29bde
nrf/machine/i2c: Update to support new C-level I2C API.
dpgeorge May 8, 2019
647b27d
zephyr/machine_i2c: Update to support new C-level I2C API.
dpgeorge May 8, 2019
8bcb552
extmod/machine_i2c: Remove need for temporary memory in writemem() call.
dpgeorge May 8, 2019
b10d066
extmod/machine_i2c: Add i2c.writevto() that can write a vector of bufs.
dpgeorge May 8, 2019
02afc0d
drivers/display/ssd1306.py: Change to use new i2c.writevto() method.
dpgeorge May 8, 2019
1b3c1f9
lib/stm32lib: Update library to fix UART9/10 baudrate on F4 MCUs.
dpgeorge May 20, 2019
e5e4721
docs/pyboard/quickref: Refer to new machine.I2C instead of old pyb.I2C.
dpgeorge May 20, 2019
ed2b6ea
stm32/i2c: Make timeout for hardware I2C configurable.
pi-anl Apr 18, 2019
ddc6576
stm32/machine_i2c: Simplify ROM initialisation of static HW I2C objects.
dpgeorge May 21, 2019
c769da1
stm32/i2c: Support setting the I2C TIMINGR value via keyword arg.
dpgeorge May 21, 2019
fb54736
py/objarray: Add decode method to bytearray.
stinos May 20, 2019
c03f81c
py: Update makefiles to use $(CAT) variable instead of hard coded "cat".
May 20, 2019
85bde08
lib/nrfx: Upgrade nrfx to master.
glennrub May 21, 2019
d80abd0
nrf/nrfx_glue: Adapt to nrfx v.1.7.1.
glennrub May 21, 2019
302ffdb
nrf/uart: Change UART driver to be non-blocking and use IRQs.
dpgeorge May 3, 2019
50d5114
nrf/mpconfigport.h: Enable MICROPY_KBD_EXCEPTION by default.
dpgeorge May 3, 2019
456c89f
nrf/uart: Make UART print output something, and add write method.
dpgeorge May 22, 2019
9cf1cbb
nrf/mphalport: Use wfi to save power while waiting at the UART REPL.
dpgeorge May 22, 2019
a4f4239
py: Update makefiles to use $(TOUCH) instead of hard coded "touch".
May 21, 2019
6cf4e96
py/mkrules.mk: Remove unnecessary ; in makefile.
May 21, 2019
4f44778
stm32/sdcard: Add switch break to ensure only correct SD/MMC IRQ is run.
pi-anl May 23, 2019
2762f32
windows: Fix line wrapping behaviour on the REPL.
stinos Jun 21, 2018
c066dad
mpy-cross/mpconfigport.h: Remove defn of MP_NOINLINE to use global one.
dpgeorge May 24, 2019
b88bf42
zephyr/README: Reorder content related to recently added I2C.
pfalcon Mar 28, 2019
c4a6d9c
zephyr: Switch back to enabling I2C in board-specific configs.
pfalcon Mar 28, 2019
5357dad
esp8266: Fix ticks_ms to correctly handle wraparound of system counter.
dpgeorge May 22, 2019
1470184
stm32/sdram: Update MPU settings to block invalid region, change attrs.
pi-anl May 2, 2019
ab26553
py/vm: Remove obsolete comments about matching of exception opcodes.
dpgeorge May 27, 2019
887a671
esp32/machine_touchpad: Use HW timer for FSM to enable wake-on-touch.
manningt May 15, 2019
8c9758f
unix/modusocket: Raise ETIMEDOUT when connect or accept has timeout.
dpgeorge May 28, 2019
883e987
esp32/modsocket: Raise EAGAIN when accept fails in non-blocking mode.
dpgeorge May 28, 2019
734ada3
extmod/modlwip: Free any incoming bufs/connections before closing PCB.
dpgeorge May 28, 2019
019dd84
extmod/modlwip: Register TCP close-timeout callback before closing PCB.
dpgeorge May 28, 2019
66bcb55
stm32/modmachine: In bootloader() disable caches before reset of periphs
pi-anl May 29, 2019
0bb6b63
stm32/mboot/README: Fix some typos, describe bootloader and fwupdate.py.
dpgeorge May 29, 2019
2715f3b
LICENSE: Update year range in top-level license.
dpgeorge May 29, 2019
6f75c4f
all: Bump version to 1.11.
dpgeorge May 29, 2019
bff4e13
py/nativeglue: Make private glue funs all static, remove commented code.
dpgeorge May 29, 2019
a4f1d82
py/nativeglue: Remove dependency on mp_fun_table in dyn-compiler mode.
dpgeorge May 29, 2019
0c29502
stm32/usb: Refactor CDC VCP code to enable N CDC interfaces.
dpgeorge May 18, 2019
ff91b05
stm32/usb: Support up to 3 VCP interfaces on USB device peripheral.
dpgeorge May 30, 2019
de76f73
esp32/machine_timer: Reuse Timer handles, deallocate only on soft-reset.
dybber May 24, 2019
3fc7c8e
stm32/usb: Include py/mpconfig.h instead of mpconfigboard.h.
dpgeorge May 31, 2019
f8274d5
stm32/boards/make-pins.py: Allow pins.csv to skip or hide board-pin name
dpgeorge May 31, 2019
34cae24
stm32/boards/pllvalues.py: Search nested headers for HSx_VALUE defines.
dpgeorge May 31, 2019
8f55c74
stm32/boards: Add board definition files for PYBD -SF2, -SF3, -SF6.
dpgeorge May 31, 2019
84f1067
travis: Build PYBD_SF2 board as part of the stm32 job.
dpgeorge May 31, 2019
8e3af7d
esp32: Add machine.SDCard class using built-in HW SD/MMC controller.
nickovs May 5, 2019
6077d17
docs/machine: Add initial docs for new machine.SDCard class.
nickovs May 31, 2019
0a6c479
lib/cmsis: Upgrade to CMSIS 5.5.1.
dpgeorge May 29, 2019
4173950
mpy-cross: Do not automatically build mpy-cross, rather do it manually.
dpgeorge May 31, 2019
8000
1043f1a
lib/netutils: Add DHCP server component.
dpgeorge Jun 1, 2019
53f2ac9
gitattributes: Mark *.a files as binary.
dpgeorge Jun 1, 2019
7b70ab7
drivers: Add driver for CYW43xx WiFi SoCs.
dpgeorge Jun 1, 2019
cf1c131
extmod: Add network-level class binding to cyw43 driver.
dpgeorge Jun 1, 2019
345e986
stm32/modpyb: Add pyb.country() function to set the country.
dpgeorge Jun 1, 2019
10e173a
stm32/extint: Add extint_set() function for internal C access to EXTI.
dpgeorge Jun 1, 2019
370a811
stm32/mphalport: Add support for having MAC in OTP region.
dpgeorge Jun 1, 2019
12ed6f9
stm32: Add low-level SDIO interface for cyw43 driver.
dpgeorge Jun 1, 2019
8b7409c
stm32: Integrate in the cyw43 driver and network.WLAN class.
dpgeorge Jun 1, 2019
62fe47a
stm32/boards/PYBD_SFx: Enable CYW43 WLAN driver.
dpgeorge Jun 1, 2019
ce8262a
stm32/modnetwork: Replace generic netif NIC polling with specific code.
dpgeorge Jun 3, 2019
faf3d3e
tools/mpy-tool.py: Fix linking qstrs in native code, and multiple files.
dpgeorge Jun 4, 2019
7cf26ca
py/obj: Optimise small-int comparison to 0 in mp_obj_is_true.
Jongy Jun 4, 2019
cd6b115
extmod: Factor out makefile rules from py.mk to new extmod.mk file.
dpgeorge Jun 5, 2019
399417a
lib: Add new submodule for mbedtls, currently at v2.17.0.
dpgeorge Jun 5, 2019
678ec18
extmod/extmod.mk: Integrate mbedTLS so it is built from source.
dpgeorge Jun 5, 2019
9d72f07
unix/mpconfigport.mk: Update comment about TLS implementations.
dpgeorge Jun 5, 2019
ef7357d
extmod/modussl_mbedtls: Allow to build with object representation D.
dpgeorge Jun 5, 2019
fed4c23
stm32: Integrate optional mbedTLS component for ussl module.
dpgeorge Jun 5, 2019
fd83922
stm32/boards/PYBD_SFx: Enable ussl module using mbedTLS.
dpgeorge Jun 5, 2019
49388e3
extmod/extmod.mk: Include mdns app source in lwIP build.
dpgeorge Jun 5, 2019
9e4b368
stm32: Support optional lwIP mDNS responder.
dpgeorge Jun 5, 2019
62f004b
stm32/lwip_inc: Update to enable mDNS, TCP listen backlog, faster DHCP.
dpgeorge Jun 5, 2019
9d3031c
tools/mpy-tool.py: Fix linking of qstr objects in native ARM Thumb code.
dpgeorge Jun 11, 2019
518aa57
stm32/usbd_msc: Rework USBD MSC code to support multiple logical units.
dpgeorge Jun 11, 2019
829aa58
stm32/usbd_msc: Provide custom irquiry processing by MSC interface.
dpgeorge Jun 11, 2019
38bcc99
stm32/usbd_msc: Provide Mode Sense response data in MSC interface.
dpgeorge Jun 11, 2019
9e68eec
stm32/usb: Use ARG_xxx enums to access kw args in pyb_usb_mode.
dpgeorge Jun 11, 2019
5320024
stm32/usb: Add "msc" kw-arg to pyb.usb_mode to select MSC logical units.
dpgeorge Jun 11, 2019
8b18cfe
stm32/usbd_msc: Allow to compile when USB enabled and SD card disabled.
dpgeorge Jun 11, 2019
14cf91f
stm32: In link script, define start of stack separately from heap end.
chrismas9 May 14, 2019
637aa97
esp8266/uart: Fix invalid ringbuf name when event driven REPL enabled.
Jun 14, 2019
1a51fc9
esp32/machine_sdcard: Fix bug in SPI slot number selection.
nickovs Jun 16, 2019
3ee3995
esp32: Update to use ESP IDF v3.3-beta3.
dpgeorge Jun 17, 2019
34c04d2
py/nlrthumb: Save and restore VFP registers s16-s21 when CPU has them.
dpgeorge Jun 17, 2019
b80bccc
esp32/modnetwork: Still try to reconnect to WLAN even with AUTH_FAIL.
dpgeorge Jun 12, 2019
5da60ff
stm32/boards: Enable ussl module via mbedtls for boards with network.
dpgeorge Jun 24, 2019
205c6d0
stm32/Makefile: Print info messages about use of mboot/QSPI flash.
dpgeorge Jun 24, 2019
04c7cdb
stm32: Enter bootloader via a system reset.
dpgeorge Jun 22, 2019
89ebb33
stm32/boards/pllvalues.py: Support HSx_VALUE defined without uint32_t.
dpgeorge Jun 25, 2019
f96f53c
stm32/boards: Add stm32??xx_hal_conf_base.h files with common settings.
dpgeorge Jun 25, 2019 10000
009b1f6
stm32/boards: Rework all stm32??xx_hal_conf.h files to use common code.
dpgeorge Jun 25, 2019
c60e0a0
travis: Selectively fetch git submodules only when needed.
dpgeorge Jun 24, 2019
cc12f75
travis: Build esp8266 firmware as part of Travis CI.
dpgeorge Jun 24, 2019
e06dcad
travis: Build esp32 firmware as part of Travis CI.
dpgeorge Jun 25, 2019
862cc45
py/mkrules.mk: Use $(CPP) not $(CC) -E for preprocessor rule.
Jun 24, 2019
2f262d5
esp32/Makefile: Include all driver/*.c source files in the build.
nevercast Jun 25, 2019
d21d578
stm32/usb: Fix regression with auto USB PID value giving PID=0xffff.
dpgeorge Jun 25, 2019
d889def
nrf/led: Adjust how board LEDs are defined.
glennrub May 3, 2019
ced340d
unix/unix_mphal: Use CLOCK_MONOTONIC for ticks_ms/us when available.
mzakharocsc Apr 23, 2019
b152bbd
py: Define EMIT_MACHINE_CODE as EMIT_NATIVE || EMIT_INLINE_ASM.
quark-zju May 6, 2019
d165a40
py/persistentcode: Fix compilation with load and save both enabled.
quark-zju May 6, 2019
d86fb67
tests: Rename "bench" tests to "internal_bench" and run-internalbench.py
dpgeorge Jun 18, 2019
e92c9aa
tests: Add performance benchmarking test-suite framework.
dpgeorge Jun 26, 2019
127714c
tests/perf_bench: Add some benchmarks from python-performance.
dpgeorge Jun 26, 2019
73c2694
tests/perf_bench: Add some miscellaneous performance benchmarks.
dpgeorge Jun 26, 2019
73fccf5
tests/perf_bench: Add some viper performance benchmarks.
dpgeorge Jun 26, 2019
9cebead
travis: Enable performance benchmark tests on standard unix build.
dpgeorge Jun 26, 2019
3786592
stm32/boards: Optimise flash and RAM allocation for L4 boards.
chrismas9 May 12, 2019
b7da67c
lib/utils/sys_stdio_mphal: Add support to poll sys.stdin and sys.stdout.
dpgeorge Jun 19, 2019
964ae32
extmod/uos_dupterm: Add mp_uos_dupterm_poll to poll all dupterms.
dpgeorge Jun 24, 2019
c80614d
ports: Provide mp_hal_stdio_poll for sys.stdio polling where needed.
dpgeorge Jun 19, 2019
875af75
lib: Add asf4 as a submodule.
dpgeorge Jun 22, 2019
258d108
lib: Add tinyusb as a submodule.
dpgeorge Jun 22, 2019
f073f2b
tools: Add uf2conv.py from Microsoft/uf2 repository.
dpgeorge Jun 22, 2019
5f9bd11
samd: Add new port to Microchip SAMDxx microcontrollers.
dpgeorge Jun 22, 2019
9ca4789
travis: Add samd port to Travis build.
dpgeorge Jun 22, 2019
999733b
minimal: Use soft float for CROSS=1 Cortex-M4 target.
dpgeorge Jul 1, 2019
89a23a0
esp8266: Provide custom machine_time_pulse_us that feeds soft WDT.
dpgeorge Jun 24, 2019
097b0f9
windows/mpconfigport.h: Define empty MP_WEAK symbol.
dpgeorge Jun 24, 2019
2920d26
py/persistentcode: Ensure prelude_offset is always initialised.
Jun 30, 2019
08075be
samd: Remove "makefile" file.
dpgeorge Jul 2, 2019
62b00dd
py/asmarm: Use __clear_cache on Linux/GCC when creating new asm code.
dlech Jun 27, 2019
f3a5b31
py/nlrthumb: Check __thumb2__ instead of __ARM_ARCH_6M__.
dlech Jun 27, 2019
8dcf25e
stm32/mpu: Add helper functions for configuring MPU.
dpgeorge Jul 2, 2019
f7eb2c7
stm32/eth: Use MPU helper functions to configure MPU for ETH use.
dpgeorge Jul 2, 2019
eca4115
stm32/sdram: Use MPU helper functions to configure MPU for SDRAM use.
dpgeorge Jul 2, 2019
8da39fd
stm32/qspi: Use MPU to allow access to valid memory-mapped QSPI region.
dpgeorge Jul 2, 2019
2034c0a
stm32/qspi: Force a reset of the QSPI peripheral when initialising it.
dpgeorge Jul 2, 2019
caabdd9
stm32/qspi: Handle bus acquisition.
dpgeorge Jul 2, 2019
8cde5fa
drivers/memory/spiflash: Add support to put SPI flash in sleep mode.
dpgeorge Jul 2, 2019
ea033bf
stm32/powerctrl: Add hooks for a board to perform actions on sleep/wake.
dpgeorge Jul 2, 2019
d821a27
stm32/boards/PYBD_SFx: Put SPI flash to sleep during sleep modes.
dpgeorge Jul 2, 2019
6d2e654
stm32/mpconfigport.h: Enable useful networking modules if lwIP enabled.
dpgeorge Jul 3, 2019
46b3cc4
stm32/usb: Add support to auto-detect USB interface, either FS or HS.
dpgeorge Jul 3, 2019
f114ce0
stm32/usb: Add "port" keyword argument to pyb.usb_mode, to select FS/HS.
dpgeorge Jul 3, 2019
14bec79
stm32/spi: Factor out code to calculate SPI source frequency.
dpgeorge Jul 3, 2019
79b6688
stm32/extint: Simplify bitband support config for different MCUs.
dpgeorge Jul 3, 2019
fad3d08
extmod/moduwebsocket: Make close_resp static array const to not use RAM.
dpgeorge Jul 3, 2019
fa2c7ec
extmod/modwebrepl: Make prompt/ver static arrays const to not use RAM.
dpgeorge Jul 3, 2019
ef00048
extmod/modwebrepl: Add config option to put filebuf[512] on stack/bss.
dpgeorge Jul 3, 2019
1d6cb63
extmod/modlwip: For TCP send keep trying tcp_write if it returns ERR_MEM
dpgeorge Jul 3, 2019
c60caf1
extmod/modlwip: Use mp_sched_schedule to schedule socket callbacks.
dpgeorge Jul 3, 2019
f88cb8a
stm32/modmachine: Make RTC class available in machine module.
dpgeorge Jul 3, 2019
3581dee
stm32/boards/PYBD_SF2: Put mbedtls library code in external QSPI flash.
dpgeorge Jul 3, 2019
9083166
lib/stm32lib: Update library for updated H7xx, new L0xx, new WBxx.
dpgeorge Jul 3, 2019
73e8b7e
stm32: Update components to work with new H7xx HAL.
dpgeorge Jul 3, 2019
241e577
stm32/Makefile: Remove Wno-attributes for ll_usb HAL file.
dpgeorge Jul 3, 2019
6b6403c
stm32/Makefile: Use startup_stm32*.s file from stm32lib.
dpgeorge Jul 3, 2019
7cf8285
stm32/boards: Remove startup_stm32*.s files now they are in stm32lib.
dpgeorge Jul 3, 2019
592f684
stm32/mpu: Include MPU functions when ETH is enabled.
dpgeorge Jul 3, 2019
1b79484
lib/lwip: Update lwIP to v2.1.2, tag STABLE-2_1_2_RELEASE.
dpgeorge Jul 4, 2019
04da886
stm32/lwip_inc: Define LWIP_NO_CTYPE_H=1 to use lwIP ctype funcs.
dpgeorge Jul 4, 2019
afb2e9d
stm32/modmachine: Disable IRQs before entering bootloader.
dpgeorge Jul 4, 2019
1cd2bc0
stm32/boards/PYBD_SFx: Configure EN_3V3 pin as output on boot.
dpgeorge Jul 4, 2019
7f33f15
stm32/sdcard: Add hook for a board to power on SD/MMC.
dpgeorge Jul 4, 2019
c1a8c7f
stm32/boards/PYBD_SFx: Automatically turn on EN_3V3 when powering SD/MMC
dpgeorge Jul 4, 2019
fa5c0b8
esp32/network_ppp: Add ppp_set_usepeerdns(pcb, 1) when init'ing iface.
MrSurly Jul 2, 2019
23d9c6a
stm32: Add initial support for STM32L0xx MCUs.
dpgeorge Jul 5, 2019
9c096c1
stm32/boards: Add MCU support files for STM32L072.
dpgeorge Jul 5, 2019
6053e45
stm32/mpconfigport.h: Make "framebuf" module configurable by a board.
dpgeorge Jul 5, 2019
7c2e833
stm32/boards/NUCLEO_L073RZ: Add definition files for new board.
dpgeorge Jul 5, 2019
21ecf8b
stm32/powerctrl: Move L0's SystemClock_Config to powerctrlboot.c file.
dpgeorge Jul 8, 2019
c15dc2c
stm32/powerctrl: Move F0's SystemClock_Config to powerctrlboot.c.
dpgeorge Jul 8, 2019
5fd62c8
stm32: Remove SystemInit funcs, use stm32lib versions instead.
dpgeorge Jul 8, 2019
eea61a0
stm32/boards/NUCLEO_F446RE: Enable DAC.
dpgeorge Jul 8, 2019
64181b5
stm32: Add support for STM32L452 MCUs.
chrismas9 May 20, 2019
c24d811
stm32/boards/NUCLEO_L452RE: Add definition files for new board.
chrismas9 Jun 29, 2019
d43dd88
stm32/boards/NUCLEO_F413ZH: Remove STARTUP_FILE, it's defined globally.
dpgeorge Jul 9, 2019
c8f19f1
stm32/mboot: Make _estack an array to avoid compiler warnings.
dpgeorge Jul 9, 2019
5a81d2d
stm32/mboot: Remove use of BSRRL/H for H7 MCUs due to stm32lib update.
dpgeorge Jul 9, 2019
342539b
stm32/mboot: Use STARTUP_FILE from stm32lib.
dpgeorge Jul 9, 2019
278e9bf
stm32/mboot: Update dependencies to enable parallel build with -j.
8000 dpgeorge Jul 9, 2019
14f61a2
travis: Build stm32 mboot for PYBD_SF6 as part of CI.
dpgeorge Jul 9, 2019
a17b901
stm32/boards/B_L072Z_LRWAN1: Add definition files for new board.
dpgeorge Jul 9, 2019
42d30c5
unix/unix_mphal: Include time.h for CLOCK_MONOTONIC.
Jul 5, 2019
a1c870e
javascript: Enable support for frozen bytecode via FROZEN_MPY_DIR.
Jul 8, 2019
a73859d
py/objgenerator: Add missing #if guard for PY_GENERATOR_PEND_THROW.
laurensvalk Jul 8, 2019
fd49fcb
stm32/gccollect: Always use MP_STATE_THREAD(stack_top) to get stack top.
dpgeorge Jul 11, 2019
d6e3038
ACKNOWLEDGEMENTS: Remove entry as requested by backer.
dpgeorge Jul 12, 2019
82dc985
py/asmarm: Use __builtin___clear_cache instead of __clear_cache.
dlech Jul 5, 2019
154062d
py/makeqstrdata.py: Allow using \r\n as a qstr if a port requires it.
Jul 7, 2019
f302f78
stm32/usb: Add config options to disable USB MSC and/or HID.
dpgeorge Jul 16, 2019
788e7f5
stm32/usbd_cdc_interface: Make CDC TX/RX buffer sizes configurable.
dpgeorge Jul 16, 2019
4c1ad1f
stm32: Add support for USB on L0 MCUs.
dpgeorge Jul 16, 2019
4096fa3
stm32/powerctrlboot: Increase SYSCLK to 32MHz for L0 MCUs.
dpgeorge Jul 16, 2019
102d991
stm32/mphalport: Fix GPIO clock enable for L0 MCUs.
dpgeorge Jul 16, 2019
64aebca
stm32/Makefile: Allow a board to disable float support.
dpgeorge Jul 16, 2019
baea43b
stm32/boards/B_L072Z_LRWAN1: Enable USB VCP support.
dpgeorge Jul 16, 2019
a67d915
travis: Switch unix stackless build to use clang.
dpgeorge Jul 8, 2019
3e55830
tests/stress/recursive_iternext.py: Increase large depth to 5000.
dpgeorge Jul 17, 2019
bc66fe9
py/scheduler: Rename sched_stack to sched_queue.
jimmo Jul 11, 2019
3b3a474
py/objstringio: Guard bytesio_stream_p struct w/ MICROPY_PY_IO_BYTESIO.
Jul 16, 2019
02b2ad4
stm32/boards/STM32F769DISC: Fix length of FLASH_APP section.
dpgeorge Jul 17, 2019
d42392b
stm32/make-stmconst.py: Allow more variation in parens and int-suffix L.
dpgeorge Jul 17, 2019
59b7166
stm32: Add initial support for STM32WBxx MCUs.
dpgeorge Jul 17, 2019
9849567
stm32/boards: Add MCU support files for STM32WB55.
dpgeorge Jul 17, 2019
d2a8fb7
stm32/boards/NUCLEO_WB55: Add definition files for new board.
dpgeorge Jul 17, 2019
0c12adc
stm32/boards/USBDONGLE_WB55: Add definition files for new board.
dpgeorge Jul 17, 2019
3967dd6
tests/run-perfbench.py: Add --emit option to select emitter for tests.
dpgeorge Jul 19, 2019
a293347
esp32: Add support for hardware I2C.
dpgeorge Jul 10, 2019
9da46a9
windows/mpconfigport.h: Don't define restrict/inline/alignof for C++.
stinos Jul 17, 2019
331c224
esp32/Makefile: Fix path expansion for ESPIDF_DRIVER_O.
jimmo Jul 11, 2019
b88e51d
esp32/Makefile: Put OBJ and LIB rule additions in gen_espidf_lib_rule.
dpgeorge Jul 20, 2019
e3e7e3a
esp32/Makefile: Simplify include of IDF source by using wildcards.
dpgeorge Jul 20, 2019
995f9cf
esp32: Pin MicroPython tasks to a specific core.
amirgon Jul 22, 2019
4d94fae
tools/pyboard.py: Add filesystem commands to ls/cat/cp/rm remote files.
dpgeorge Jul 10, 2019
0da2f6f
stm32/flashbdev: Support internal filesystem on STM32F722/23/32/33.
badlyby Jul 19, 2019
09267bb
stm32/boards/stm32f722.ld: Provide memory regions for internal FS.
badlyby Jul 19, 2019
3b258ef
stm32/boards/NUCLEO_F722ZE: Add definition files for new board.
badlyby Jul 19, 2019
e9593d5
py/sequence: Fix grammar in comment about equality.
Jongy Jul 21, 2019
b1129df
stm32/dma: Fix re-start of DMA stream by clearing all event flags.
dpgeorge Jul 25, 2019
fa07ded
stm32/usbd_hid_interface: Rewrite USB HID interface code.
dpgeorge Jul 25, 2019
ad0b7cb
stm32/boards/xxx_WB55: Enable USB HID now that it works on WB MCUs.
dpgeorge Jul 25, 2019
473157e
stm32/usbd_hid_interface: Include extra header to build with threading.
dpgeorge Jul 26, 2019
8f55a8f
travis: Build an stm32 board with threading enabled to test it with CI.
dpgeorge Jul 26, 2019
01054f2
py/objdict: Quote non-string types when used as keys in JSON output.
MrSurly Jul 16, 2019
7c15e50
esp32/Makefile: Include CFLAGS_EXTRA in CFLAGS definition.
dpgeorge Jul 30, 2019
a8e3201
py/builtinimport: Populate __file__ when importing frozen or mpy files.
Jul 8, 2019
60f1063
py/runtime: Allow to override builtins.__import__ with Python func.
Jul 18, 2019
f60229e
py/modio: Call mp_import_name to do resource stream import.
Jul 18, 2019
48f43b7
tests: Add tests for overriding builtins.__import__.
dpgeorge Jul 31, 2019
00e7fe8
docs/library/framebuf: Add missing module reference in example code.
CRImier Jul 29, 2019
80f5cef
extmod/modlwip: Implement raw sockets for lwIP.
dpgeorge Jul 24, 2019
0e2b224
stm32/lwip_inc: Enable raw socket type.
dpgeorge Jul 24, 2019
102815f
stm32/mpconfigport.h: Enable lwIP raw sockets.
dpgeorge Jul 30, 2019
2d3d4f7
esp8266/mpconfigport.h: Enable lwIP raw sockets.
dpgeorge Jul 30, 2019
cd35dd9
py: Allow to pass in read-only buffers to viper and inline-asm funcs.
dpgeorge Aug 5, 2019
efdcd6b
py/showbc: Fix off-by-one when showing address of unknown opcode.
malinah Aug 5, 2019
3d02ebb
stm32/sdcard: Support configuring the SD/MMC bus width to 1 or 4 bits.
cdwilson Aug 2, 2019
5b0fe6f
spresense: Add new port to Spresense board
kamtom480 Aug 12, 2019
13093e7
spresense: Add support for GPIO
kamtom480 Aug 12, 2019
9d1d464
spresense: Add support for SPI
kamtom480 Aug 12, 2019
60fa06a
spresense: Add support for I2C
kamtom480 Aug 12, 2019
2094585
spresense: Add support for UART
kamtom480 Aug 12, 2019
54ba113
spresense: Add support for ADC
kamtom480 Aug 12, 2019
849db5f
spresense: Add support for PWM
kamtom480 Aug 12, 2019
53dbf7b
spresense: Add support for RTC
kamtom480 Aug 12, 2019
3ae1cfc
spresense: Add utime module
kamtom480 Aug 12, 2019
5e9c70e
spresense: Add uos module
kamtom480 Aug 12, 2019
0462707
travis: Add spresense port to Travis build
kamtom480 Aug 12, 2019
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
12 changes: 12 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,15 @@
path = lib/stm32lib
url = https://github.com/micropython/stm32lib
branch = work-F4-1.13.1+F7-1.5.0+L4-1.3.0
[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
285 changes: 214 additions & 71 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,220 @@
sudo: required
dist: trusty
language: c
# global options
dist: xenial
language:
- c
compiler:
- gcc
cache:
directories:
- "${HOME}/persist"
env:
- MAKEOPTS="-j4"

before_script:
# Extra CPython versions
# - sudo add-apt-repository -y ppa:fkrull/deadsnakes
# Extra gcc versions
# - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
- sudo dpkg --add-architecture i386
- sudo apt-get update -qq || true
- sudo apt-get install -y python3 gcc-multilib pkg-config libffi-dev libffi-dev:i386 qemu-system gcc-mingw-w64
- sudo apt-get install -y --force-yes gcc-arm-none-eabi
# For teensy build
- sudo apt-get install realpath
# For coverage testing (a specific urllib3 version is needed for requests and cpp-coveralls to work together)
- sudo pip install -Iv urllib3==1.22
- sudo pip install cpp-coveralls
- gcc --version
- arm-none-eabi-gcc --version
- python3 --version

script:
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/minimal CROSS=1 build/firmware.bin
- ls -l ports/minimal/build/firmware.bin
- tools/check_code_size.sh
- mkdir -p ${HOME}/persist
# Save new firmware for reference, but only if building a main branch, not a pull request
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cp ports/minimal/build/firmware.bin ${HOME}/persist/; fi'
- make ${MAKEOPTS} -C ports/unix deplibs
- make ${MAKEOPTS} -C ports/unix
- make ${MAKEOPTS} -C ports/unix nanbox
- make ${MAKEOPTS} -C ports/bare-arm
- make ${MAKEOPTS} -C ports/qemu-arm -f Makefile.test test
- make ${MAKEOPTS} -C ports/stm32
- make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1
- make ${MAKEOPTS} -C ports/stm32 BOARD=STM32F769DISC
- make ${MAKEOPTS} -C ports/stm32 BOARD=STM32L476DISC
- make ${MAKEOPTS} -C ports/teensy
- make ${MAKEOPTS} -C ports/cc3200 BTARGET=application BTYPE=release
- make ${MAKEOPTS} -C ports/cc3200 BTARGET=bootloader BTYPE=release
- make ${MAKEOPTS} -C ports/windows CROSS_COMPILE=i686-w64-mingw32-

# run tests without coverage info
#- (cd tests && MICROPY_CPYTHON3=python3.4 ./run-tests)
#- (cd tests && MICROPY_CPYTHON3=python3.4 ./run-tests --emit native)

# run tests with coverage info
- make ${MAKEOPTS} -C ports/unix coverage
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests)
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -d thread)
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests --emit native)
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests --via-mpy -d basics float)

# test when input script comes from stdin
- cat tests/basics/0prelim.py | ports/unix/micropython_coverage | grep -q 'abc'

# run coveralls coverage analysis (try to, even if some builds/tests failed)
- (cd ports/unix && coveralls --root ../.. --build-root . --gcov $(which gcov) --gcov-options '\-o build-coverage/' --include py --include extmod)

# run tests on stackless build
- rm -rf ports/unix/build-coverage
- make ${MAKEOPTS} -C ports/unix coverage CFLAGS_EXTRA="-DMICROPY_STACKLESS=1 -DMICROPY_STACKLESS_STRICT=1"
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests)

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)
global:
- MAKEOPTS="-j4"
git:
submodules: false

# define the successive stages
stages:
- name: test

# define the jobs for the stages
# order of the jobs has longest running first to optimise total time
jobs:
include:
# stm32 port
- stage: test
env: NAME="stm32 port build"
install:
# need newer gcc version for Cortex-M7 support
- sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa
- sudo apt-get update -qq || true
- sudo apt-get install gcc-arm-embedded
- sudo apt-get install libnewlib-arm-none-eabi
- arm-none-eabi-gcc --version
script:
- git submodule update --init lib/lwip lib/mbedtls lib/stm32lib
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/stm32
- make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_WIZNET5K=5200 MICROPY_PY_CC3K=1
- make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF2
- make ${MAKEOPTS} -C ports/stm32 BOARD=STM32F769DISC CFLAGS_EXTRA='-DMICROPY_PY_THREAD=1'
- make ${MAKEOPTS} -C ports/stm32 BOARD=STM32L476DISC
- make ${MAKEOPTS} -C ports/stm32/mboot BOARD=PYBD_SF6

# qemu-arm port
- stage: test
env: NAME="qemu-arm port build and tests"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
- sudo apt-get install qemu-system
- arm-none-eabi-gcc --version
- qemu-system-arm --version
script:
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/qemu-arm -f Makefile.test test
after_failure:
- grep "FAIL" ports/qemu-arm/build/console.out

# unix coverage
- stage: test
env: NAME="unix coverage build and tests"
install:
- sudo pip install cpp-coveralls
- gcc --version
- python3 --version
script:
- git submodule update --init lib/axtls lib/berkeley-db-1.xx lib/libffi
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/unix deplibs
- make ${MAKEOPTS} -C ports/unix coverage
# run the main test suite
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests)
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -d thread)
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests --emit native)
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests --via-mpy -d basics float micropython)
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests --via-mpy --emit native -d basics float micropython)
# test when input script comes from stdin
- cat tests/basics/0prelim.py | ports/unix/micropython_coverage | grep -q 'abc'
# run coveralls coverage analysis (try to, even if some builds/tests failed)
- (cd ports/unix && coveralls --root ../.. --build-root . --gcov $(which gcov) --gcov-options '\-o build-coverage/' --include py --include extmod)
after_failure:
- (cd tests && for exp in *.exp; do testbase=$(basename $exp .exp); echo -e "\nFAILURE $testbase"; diff -u $testbase.exp $testbase.out; done)

# standard unix port
- stage: test
env: NAME="unix port build and tests"
script:
- git submodule update --init lib/axtls lib/berkeley-db-1.xx lib/libffi
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/unix deplibs
- make ${MAKEOPTS} -C ports/unix
- make ${MAKEOPTS} -C ports/unix test
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython ./run-perfbench.py 1000 1000)

# unix nanbox
- stage: test
env: NAME="unix nanbox port build and tests"
install:
- sudo apt-get install gcc-multilib libffi-dev:i386
script:
- git submodule update --init lib/axtls lib/berkeley-db-1.xx lib/libffi
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/unix deplibs
- make ${MAKEOPTS} -C ports/unix nanbox
- (cd tests && MICROPY_CPYTHON3=python3 MICROPY_MICROPYTHON=../ports/unix/micropython_nanbox ./run-tests)

# unix stackless
- stage: test
env: NAME="unix stackless port build and tests with clang"
install:
- sudo apt-get install clang
script:
- git submodule update --init lib/axtls lib/berkeley-db-1.xx lib/libffi
- make ${MAKEOPTS} -C mpy-cross CC=clang
- make ${MAKEOPTS} -C ports/unix CC=clang CFLAGS_EXTRA="-DMICROPY_STACKLESS=1 -DMICROPY_STACKLESS_STRICT=1"
- make ${MAKEOPTS} -C ports/unix CC=clang test

# windows port via mingw
- stage: test
env: NAME="windows port build via mingw"
install:
- sudo apt-get install gcc-mingw-w64
script:
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/windows CROSS_COMPILE=i686-w64-mingw32-

# esp32 port
- stage: test
env: NAME="esp32 port build"
install:
- sudo apt-get install python3-pip
- sudo pip3 install pyparsing
- wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
- zcat xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz | tar x
- export PATH=$(pwd)/xtensa-esp32-elf/bin:$PATH
- git clone https://github.com/espressif/esp-idf.git
- git -C esp-idf checkout $(grep "ESPIDF_SUPHASH :=" ports/esp32/Makefile | cut -d " " -f 3)
- git -C esp-idf submodule update --init components/json/cJSON components/esp32/lib components/esptool_py/esptool components/expat/expat components/lwip/lwip components/mbedtls/mbedtls components/micro-ecc/micro-ecc components/nghttp/nghttp2
script:
- git submodule update --init lib/berkeley-db-1.xx
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/esp32 ESPIDF=$(pwd)/esp-idf

# esp8266 port
- stage: test
env: NAME="esp8266 port build"
install:
- wget https://github.com/jepler/esp-open-sdk/releases/download/2018-06-10/xtensa-lx106-elf-standalone.tar.gz
- zcat xtensa-lx106-elf-standalone.tar.gz | tar x
- export PATH=$(pwd)/xtensa-lx106-elf/bin:$PATH
script:
- git submodule update --init lib/axtls lib/berkeley-db-1.xx
- make ${MAKEOPTS} -C mpy-cross
- make ${MAKEOPTS} -C ports/esp8266

# nrf port
- stage: test
env: NAME="nrf port build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
- arm-none-eabi-gcc --version
script:
- git submodule update --init lib/nrfx
- make ${MAKEOPTS} -C ports/nrf

# bare-arm and minimal ports
- stage: test
env: NAME="bare-arm and minimal ports build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
- arm-none-eabi-gcc --version
script:
- make ${MAKEOPTS} -C ports/bare-arm
- make ${MAKEOPTS} -C ports/minimal CROSS=1 build/firmware.bin
- ls -l ports/minimal/build/firmware.bin
- tools/check_code_size.sh
- mkdir -p ${HOME}/persist
# Save new firmware for reference, but only if building a main branch, not a pull request
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cp ports/minimal/build/firmware.bin ${HOME}/persist/; fi'

# cc3200 port
- stage: test
env: NAME="cc3200 port build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
script:
- make ${MAKEOPTS} -C ports/cc3200 BTARGET=application BTYPE=release
- make ${MAKEOPTS} -C ports/cc3200 BTARGET=bootloader BTYPE=release

# samd port
- stage: test
env: NAME="samd port build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
script:
- git submodule update --init lib/asf4 lib/tinyusb
- make ${MAKEOPTS} -C ports/samd

# teensy port
- stage: test
env: NAME="teensy port build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
script:
- make ${MAKEOPTS} -C ports/teensy

# spresense port
- stage: test
env: NAME="spresense port build"
install:
- sudo apt-get install gcc-arm-none-eabi
- sudo apt-get install libnewlib-arm-none-eabi
- git -C ports/spresense clone https://github.com/sonydevworld/spresense-micropython.git spresense-sdk
script:
- make ${MAKEOPTS} -C ports/spresense
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
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
23 changes: 18 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,7 @@ Major components in this repository:
to port MicroPython to another microcontroller.
- tests/ -- test framework and test scripts.
- docs/ -- user documentation in Sphinx reStructuredText format. Rendered
HTML documentation is available at http://docs.micropython.org (be sure
to select needed board/port at the bottom left corner).
HTML documentation is available at http://docs.micropython.org.

Additional components:
- ports/bare-arm/ -- a bare minimum version of MicroPython for ARM MCUs. Used
Expand All @@ -51,15 +50,30 @@ Additional components:
(preliminary but functional).
- ports/pic16bit/ -- a version of MicroPython for 16-bit PIC microcontrollers.
- ports/cc3200/ -- a version of MicroPython that runs on the CC3200 from TI.
- ports/esp8266/ -- an experimental port for ESP8266 WiFi modules.
- ports/esp8266/ -- a version of MicroPython that runs on Espressif's ESP8266 SoC.
- ports/esp32/ -- a version of MicroPython that runs on Espressif's ESP32 SoC.
- ports/nrf/ -- a version of MicroPython that runs on Nordic's nRF51 and nRF52 MCUs.
- extmod/ -- additional (non-core) modules implemented in C.
- tools/ -- various tools, including the pyboard.py module.
- examples/ -- a few example Python scripts.

The subdirectories above may include READMEs with additional info.

"make" is used to build the components, or "gmake" on BSD-based systems.
You will also need bash, gcc, and Python (at least 2.7 or 3.3).
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 @@ -74,7 +88,6 @@ To build (see section below for required dependencies):

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

Then to give it a try:
Expand Down
Loading
0