- 06 Jun, 2021 7 commits
-
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Currently only advertising and scanning are supported, using the ring buffer for events (ie not synchronous events at this stage). The ble_gap_advertise.py multi-test passes (tested on a nucleo_wb55rg board). Signed-off-by: Damien George <damien@micropython.org>
-
Maureen Helm authored
Updates the zephyr port build instructions and CI to use the latest zephyr release tag. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
-
Maureen Helm authored
Zephyr's default value for CONFIG_NET_SOCKETS_POSIX_NAMES was changed from false to true between Zephyr v2.5.0 and v2.6.0. This caused conflicts in MicroPython, which uses the zsock_ prefixed functions, so disable it. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
-
Maureen Helm authored
Zephyr's Kconfig symbols and defaults for SDHC/SDMMC disk drivers and the disk access subsystem were reworked between Zephyr v2.5.0 and v2.6.0. Update MicroPython accordingly. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
-
- 05 Jun, 2021 4 commits
-
-
Damien George authored
Following on from ef168348, this adds a coverage build and running of the test suite on an ARM 32-bit Linux-based architecture. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Prior to this commit, cache flushing for ARM native code was done only in the assembler code asm_thumb_end_pass()/asm_arm_end_pass(), at the last pass of the assembler. But this misses flushing the cache when loading native code from an .mpy file, ie in persistentcode.c. The change here makes sure the cache is always flushed/cleaned/invalidated when assigning native code on ARM architectures. This problem was found running tests/micropython/import_mpy_native_gc.py on the mimxrt port. Signed-off-by: Damien George <damien@micropython.org>
-
- 03 Jun, 2021 9 commits
-
-
leo chung authored
"$(BUILD)/partition_table/partition -table.bin" is typing mistake. Signed-off-by: leo chung <gewalalb@gmail.com>
-
robert-hh authored
These are at the moment more or less identical to the Teensy 4.0 files, except for the pins.csv file and the flash size.
-
Philipp Ebensberger authored
This adds the machine.ADC class with the read_u16() method. make-pins.py and supporting files are updated to generate ADC information.
-
robert-hh authored
Besides Python features this includes the extmod modules which make use of the Pin module, especially machine.softSPI, machine.SoftI2C and onewire.
-
robert-hh authored
Since not all boards support double fp, all board specific .mk files are affected too.
-
robert-hh authored
Initial version, using the LP RTC clock. It provides setting the date and time with rtc.init() or rtc.datetime(), and reading the date and time with rtc.datetime() or rtc.now(). The method weekday() reports the weekday of the current date. It starts with 0 for Monday. The tuple order for datetime() and now() matches the CPython sequence: (year, month, day, hour, minute, second, microsecond, TZ). TZ is ignored and reported as None. Microsecond is provided at a best effort. If a battery is not supplied, the default boot date/time is 1970/1/1 0:0:0. With a battery, the clock continues to run even when the board is not powered. The clock is quite precise. If not, using rtc.calibration() may help.
-
robert-hh authored
Setting it to OSC_CLK interferes the utime module's functionality. This is still an area demanding an understanding.
-
robert-hh authored
So there is a 1-1 mapping of hardware timer to Python object.
-
robert-hh authored
The device is unreliable with the WFE included. This needs further investigation.
-
- 01 Jun, 2021 6 commits
-
-
robert-hh authored
It supports three hardware timer channels based on the PIT timers of the MIMXRT MCU. The timer id's are 0, 1 and 2. On soft reboot all active timers will be stopped via finalisers.
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
robert-hh authored
This is required since the Teensy Halfkay loader attempts to erase all of the flash but fails to do so, at least in my tests. Formatting brings it back to a known state.
-
robert-hh authored
This commit adds full support for a filesystem on all boards, with a block device object mimxrt.Flash() and uos.VfsLfs2 enabled. Main changes are: - Refactoring of linker scripts to accomodate reserved area for VFS. VFS will take up most of the available flash. 1M is reserved for code. 9K is reserved for flash configuration, interrupts, etc. - Addition of _boot.py with filesystem init code, called from main.c. - Definition of the mimxrt module with a Flash class in modmimxrt.[ch]. - Implementation of a flash driver class in mimxrt_flash.c. All flashing related functions are stored in ITCM RAM. - Addition of the uos module with filesystem functions. - Implementation of uos.urandom() for the sake of completeness of the uos module. It uses sample code from CircuitPython supplied under MIT license, which uses the NXP SDK example code. Done in collaboration with Philipp Ebensberger aka @alphaFred who contributed the essential part to enable writing to flash while code is executing, among other things.
-
robert-hh authored
-
robert-hh authored
-
- 30 May, 2021 11 commits
-
-
Joseph Chiu authored
Adds support for NeoPixels on GPIO32 and GPIO33 on ESP32. Otherwise, NeoPixels wired to GPIO32/33 wll silently fail without any hints to the user. With thanks to @robert-hh. Fixes issue #7221.
-
IAMLIUBO authored
ATOM is a very small ESP32 development board produced by M5Stack, with a size of 24mm * 24mm, with peripherals such as WS2812, IR, button, MPU6886 (Only Matrix), and 8 GPIO extensions. It also has a plastic shell.
-
Matt Trentini authored
-
Damien George authored
Following CPython change, see https://bugs.python.org/issue37444. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
This was changed in CPython 3.9; see https://bugs.python.org/issue40282. Signed-off-by: Damien George <damien@micropython.org>
-
Macarthur Inbody authored
The random module's getrandbits() method didn't give a proper error message when calling it with a value that was outside of the range of 1-32, which can lead to confusion using this function (which under CPython can accept numbers larger than 32). Now instead of simply giving a ValueError it gives an error message that states that the number of bits is constrained. Also, since the random module's functions getrandbits() and randint() differ from CPython, tests have been added to describe these differences. For getrandbits the relevant documentation is shown and added to the docs. The same is given for randint method so that the information is more easily found. Finally, since the int object lacks the bit_length() method there is a test for that method also to include within the docs, showing the difference to CPython.
-
Damien George authored
Fixes issue #7330. Signed-off-by: Damien George <damien@micropython.org>
-
Jeff Epler authored
Signed-off-by: Jeff Epler <jepler@gmail.com>
-
Jeff Epler authored
asan considers that memcmp(p, q, N) is permitted to access N bytes at each of p and q, even for values of p and q that have a difference earlier. Accessing additional values is frequently done in practice, reading 4 or more bytes from each input at a time for efficiency, so when completing "non_exist<TAB>" in the repl, this causes a diagnostic: ==16938==ERROR: AddressSanitizer: global-buffer-overflow on address 0x555555cd8dc8 at pc 0x7ffff726457b bp 0x7fffffffda20 sp 0x7fff READ of size 9 at 0x555555cd8dc8 thread T0 #0 0x7ffff726457a (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xb857a) #1 0x555555b0e82a in mp_repl_autocomplete ../../py/repl.c:301 #2 0x555555c89585 in readline_process_char ../../lib/mp-readline/re #3 0x555555c8ac6e in readline ../../lib/mp-readline/readline.c:513 #4 0x555555b8dcbd in do_repl /home/jepler/src/micropython/ports/uni #5 0x555555b90859 in main_ /home/jepler/src/micropython/ports/unix/ #6 0x555555b90a3a in main /home/jepler/src/micropython/ports/unix/m #7 0x7ffff619a09a in __libc_start_main ../csu/libc-start.c:308 #8 0x55555595fd69 in _start (/home/jepler/src/micropython/ports/uni 0x555555cd8dc8 is located 0 bytes to the right of global variable 'import_str' defined in '../../py/repl.c:285:23' (0x555555cd8dc0) of size 8 'import_str' is ascii string 'import ' Signed-off-by: Jeff Epler <jepler@gmail.com>
-
Jeff Epler authored
Signed-off-by: Jeff Epler <jepler@gmail.com>
-
Jeff Epler authored
A simple reproducer is: async for x in (): x Before this change, it would cause an assertion error in mpy-cross and micropython-coverage.
-
- 29 May, 2021 3 commits
-
-
Damien George authored
This has been under development since April 2017. See #3034 and #6375. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-