Commit Graph

6899 Commits

Author SHA1 Message Date
Maureen Helm
f17c0db5f7 zephyr: Update disk access configuration for Zephyr v2.6.0.
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>
2021-06-06 20:17:42 +10:00
root
b2dea8ae0d Fix for issue #3383 - SAMD51 microcontroller.cpu.voltage 2021-06-05 16:17:14 -05:00
Damien George
36cb365cad unix/main: Increase stack limit on ARM architectures.
Signed-off-by: Damien George <damien@micropython.org>
2021-06-05 11:03:09 +10:00
Scott Shawcroft
bc014cecb5
Merge pull request #4859 from DavePutz/hcsr04_fix
Fix pulsein pause and resume functions to handle HCSR04
2021-06-04 13:26:05 -07:00
Scott Shawcroft
121ea4283f
Merge pull request #4855 from jepler/update-run-tests
run_tests: Parallelism improvements, partial sync with micropython
2021-06-04 10:36:50 -07:00
root
57334c812e Fix pulsein pause and resume functions to handle HCSR04 2021-06-04 12:10:41 -05:00
ZodiusInfuser
af7557b53b
Updated with final USB PID 2021-06-04 16:02:32 +01:00
Jeff Epler
a99eba35b8
Merge pull request #4809 from DavePutz/issue_4266
Fix for Issue #4266 - second PWMAudioOut interferes with the first one
2021-06-03 19:08:28 -05:00
Jeff Epler
e6fe55349d run_tests: Parallelism improvements, partial sync with micropython
Take changes from https://github.com/micropython/micropython/pull/3694
(expected to be merged soon) as well as other accumulated stuff from
upstream that we want.

Leave our desired differences, including:
 * silencing warnings in python3
 * renaming the file descriptors returned by openpty()
 * adding ulab tests
 * Adding "." to the import path for skip_if

This speeds up `make test_full` and should also reduce the time in CI
a little bit.
2021-06-03 16:17:47 -05:00
leo chung
fad0efdcf2 esp32/Makefile: Fix wrong target for partition-table.bin.
"$(BUILD)/partition_table/partition  -table.bin" is typing mistake.

Signed-off-by: leo chung <gewalalb@gmail.com>
2021-06-04 01:04:35 +10:00
robert-hh
53fea8598e mimxrt/boards: Add board configuration files for Teensy 4.1.
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.
2021-06-04 01:00:39 +10:00
Philipp Ebensberger
b8c65b174f mimxrt/machine_adc: Add the ADC class to the machine module.
This adds the machine.ADC class with the read_u16() method.  make-pins.py
and supporting files are updated to generate ADC information.
2021-06-04 00:51:58 +10:00
ZodiusInfuser
6011db3aec Added board definition 2021-06-03 15:49:23 +01:00
robert-hh
bbdc98f72e mimxrt: Enable many Python and some extmod features.
Besides Python features this includes the extmod modules which make use of
the Pin module, especially machine.softSPI, machine.SoftI2C and onewire.
2021-06-04 00:38:18 +10:00
robert-hh
a40e1473dc mimxrt: Add floating point support.
Since not all boards support double fp, all board specific .mk files are
affected too.
2021-06-04 00:37:22 +10:00
George White
9cde8a2265
MicroMod SAMD51 - correct I2C_INT pin 2021-06-03 06:05:13 -04:00
George White
26c6bd2346
MicroMod SAMD51 - correct SCL2 2021-06-03 05:39:09 -04:00
George White
6e36f30d9f
MicroMod SAMDt1 - correct board nane 2021-06-03 05:36:05 -04:00
robert-hh
2f365d234e mimxrt/machine_rtc: Add the RTC class to the machine module.
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.
2021-06-03 15:24:04 +10:00
George White
2b068414e1
Fix missing comma
Doh
2021-06-02 23:13:08 -04:00
robert-hh
d79105d7c0 mimxrt/machine_timer: Leave the Timer clock source at IPG clock.
Setting it to OSC_CLK interferes the utime module's functionality.  This is
still an area demanding an understanding.
2021-06-03 13:03:02 +10:00
robert-hh
cdd95ce737 mimxrt/machine_timer: Reuse any existing timer objects.
So there is a 1-1 mapping of hardware timer to Python object.
2021-06-03 13:02:51 +10:00
George White
0437199706
Fix some pin mappings
Conflicts:
	ports/atmel-samd/boards/sparkfun_samd51_micromod/pins.c
2021-06-02 22:22:04 -04:00
robert-hh
5226d6e1ee mimxrt: Remove __WFE() from MICROPY_EVENT_POLL_HOOK.
The device is unreliable with the WFE included.  This needs further
investigation.
2021-06-03 12:21:36 +10:00
George White
4c493c86c8 Add Sparkfun MicroMod SAMD51 2021-06-02 22:05:58 -04:00
George White
db1830d62b Add Sparkfun MicroMod SAMD51 2021-06-02 21:53:23 -04:00
Dan Halbert
51fc9027eb Remove non-product Adafruit boards 2021-06-02 12:41:07 -04:00
Dan Halbert
3930440bc5 Fix usb_cdc.enable(console=False, data=True) 2021-06-02 11:29:56 -04:00
Dan Halbert
6af36757a7 lengthen RP2040 xosc startup time 2021-06-02 08:50:20 -04:00
Scott Shawcroft
6ee9acc900
Merge pull request #4755 from jepler/esp32s2-protomatter
Esp32s2 protomatter
2021-06-01 13:32:34 -07:00
Scott Shawcroft
892dfa84ed
Merge pull request #4826 from jepler/actions-windows-build
Check that select firmwares build on Windows with MSYS2
2021-06-01 13:04:06 -07:00
robert-hh
4c407c790f mimxrt: Add the Timer class to the machine module.
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.
2021-06-02 00:33:13 +10:00
robert-hh
745b4319a2 mimxrt/boards/TEENSY40: Re-create the flash FS after deploy.
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.
2021-06-01 23:52:45 +10:00
robert-hh
dfd4324eb1 mimxrt: Add flash storage support with VFS and littlefs filesystem.
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.
2021-06-01 23:42:57 +10:00
robert-hh
c303b15f10 mimxrt: Enable frozen modules. 2021-06-01 22:57:09 +10:00
robert-hh
fdaf2b80d9 mimxrt: Add custom help text and enable help("modules"). 2021-06-01 22:52:44 +10:00
reppad
61d25f197a Add requested Espressif PID 2021-05-30 20:18:49 +02:00
root
8761e4bfd7 Initialize pacing timer 2021-05-30 12:12:38 -05:00
reppad
625fa881c6 Add Muselab Nanoesp32_s2 w/Wrover 2021-05-30 16:14:21 +02:00
Joseph Chiu
c5d2095e59 esp32/espneopixel: Add support for GPIO32 and GPIO33.
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.
2021-05-30 23:36:50 +10:00
IAMLIUBO
a18f695e29 esp32/boards: Add M5STACK_ATOM board definition.
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.
2021-05-30 23:15:13 +10:00
Limor "Ladyada" Fried
c80e253072
Merge pull request #4824 from CytronTechnologies/add-maker-pi-rp2040
Added New Board - Cytron Maker Pi RP2040
2021-05-30 00:24:20 -04:00
Kong Wai Weng
b06ec0a776 Added libraries dependency. 2021-05-30 09:57:00 +08:00
root
a2b220370e Fix formatting issue 2021-05-29 12:26:41 -05:00
root
760e8c77bd Changes to correct repeat playing on a channel 2021-05-29 11:55:10 -05:00
Jeff Epler
6b476c19ba fix formatting 2021-05-29 08:10:10 -05:00
Kong Wai Weng
ebe4d90ac3 Updated the copyright information. 2021-05-29 10:12:22 +08:00
Jeff Epler
b0dd0e344c
Merge pull request #4772 from EmergReanimator/atmel-samd
[resolves #4771] DEBUG UART supported on ATMSAME5x
2021-05-28 20:05:06 -06:00
Jeff Epler
49db85cb3d Check that select firmwares build on Windows with MSYS2
This configuration is used by @ladyada and more often than it should
we've discovered late that a change introduced problems building
there.

By adding this to regular CI, hopefully we learn about and fix these
issues sooner rather than later.
2021-05-28 16:47:29 -05:00
Lucian Copeland
feff243e8f Add RTC deep sleep alarm support 2021-05-28 13:52:05 -04:00
Kong Wai Weng
ebda9e07f4 Use 4 spaces instead of tab. 2021-05-29 01:04:13 +08:00
Kong Wai Weng
bfcb8c5896 Do not use neopixel as status LED. Also removed the unused definition. 2021-05-29 00:47:14 +08:00
Kong Wai Weng
5920ac647a Modified the essential files for Maker Pi RP2040. 2021-05-28 22:42:54 +08:00
Kong Wai Weng
321e5dd16f Use underscore instead of dash for board name. 2021-05-28 18:01:02 +08:00
Damien George
db8704ecbd esp8266,esp32: Update manifest to point to new dirs in micropython-lib.
Following a refactoring of micropython-lib.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-28 18:32:56 +10:00
Lucian Copeland
24041f34b0 Merge remote-tracking branch 'upstream/main' into rp2040-alarms 2021-05-27 18:40:40 -04:00
Lucian Copeland
8e1892ac6f Implement RP2040 Alarm module
Adds light and deep sleep functionality for the TimeAlarm and PinAlarm
alarm categories. Adds board deinit for all platforms.
2021-05-27 18:33:29 -04:00
Damien George
211c3e41f1 stm32/boards/PYBD_SF2: Disable GCC 11 warnings for array bounds.
With GCC 11 there is now a warning about array bounds of OTP-mac, due to
the OTP being a literal address.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-27 23:57:51 +10:00
Kong Wai Weng
da7c74f614 Initial commit. 2021-05-27 18:02:52 +08:00
Damien George
62f75376dd stm32/boards/NUCLEO_L432KC: Fix FS size and enable LFS1 filesystem.
Signed-off-by: Damien George <damien@micropython.org>
2021-05-27 12:18:41 +10:00
Dan Halbert
6e71f6099f
Merge pull request #4812 from dhalbert/remove-a-few-boards
Remove non-product Adafruit boards
2021-05-26 18:22:26 -04:00
Dan Halbert
5eb4cc6489 Remove non-product Adafruit boards 2021-05-26 16:01:17 -04:00
Jeff Epler
11288c1c28 esp32s2: Add rgbmatrix support 2021-05-26 11:21:59 -05:00
Jeff Epler
4de8fa09ab esp32s2: peripherals: store address of timer peripheral in its struct
.. this is helpful if we need to go down to the esp-idf low level
I/O routines
2021-05-26 11:18:02 -05:00
Jeff Epler
60c9a57815 esp32s2: Add pin_number, reset_pin_number needed by rgbmatrix 2021-05-26 11:18:02 -05:00
Jeff Epler
6750d3feab esp32s2: Introduce, use NO_PIN
GPIO_NUM_NC is -1 so it's equivalent to the existing code.
2021-05-26 11:18:02 -05:00
Damien George
0abf6f830c esp8266/boards/GENERIC_512K: Add custom manifest without FS modules.
The 512k build does not have a filesystem so there is no reason to include
the filesystem-related modules.  This commit provides a custom manifest.py
for this board which no longer includes: _boot.py, flashbdev.py,
inisetup.py, upip.py, upip_utarfile.py.  This cuts the build down by about
9k of flash.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-26 21:41:40 +10:00
Damien George
b84406f313 qemu-arm: Add support for Cortex-A9 via sabrelite board.
Signed-off-by: Damien George <damien@micropython.org>
2021-05-26 16:24:00 +10:00
root
24e641a834 Fix for Issue #4266 2021-05-25 16:06:00 -05:00
robert-hh
c732b80f05 mimxrt: Extend the Pin module for SoftI2C, SoftSPI support.
This change consists mostly of changing and extending the required
definitions in mphalport.h.
2021-05-25 20:43:52 +02:00
Dan Halbert
d79d68705b
Merge pull request #4763 from jepler/esp32s2-build-memory-info
Add build_memory_info for esp32s2
2021-05-25 13:41:35 -04:00
Jeff Epler
f21eec5fe1 Work for non-psram builds
This is more or less a complete re-organization of the code.

 * Use the actual byte size of the .bin file as the flash size,
   as the algorithm for packing sections into the flash is complicated
 * Match each section to a data region & find the high water mark in the
   region
 * Report on all the RAM regions, separately

Note that elftools is a requirement of esp-idf and so does not need to
be listed in our requirements.txt.
2021-05-25 10:06:31 -05:00
Philipp Ebensberger
c326d9a67b mimxrt: Enable built-in help. 2021-05-26 00:12:45 +10:00
Philipp Ebensberger
ff5d39529c mimxrt: Implement machine.Pin class.
- modified pin type from pin_obj_t to machine_pin_obj_t
- created machine_pin.c
- implemented basic version of make-pins.py to genertate pins.c/.h files
  automatically; the only alternate function currently supported is GPIO
- added af.csv files for all supported MCUs
- replaced pins.c/pins.h files with pin.csv for all boards
- implemented on/off/high/low/value/init methods
- Implemented IN/OUT/OPEN_DRAIN modes
- modified LDFLAGS for DEBUG build to get usefull .elf file for debugging

Signed-off-by: Philipp Ebensberger
2021-05-26 00:12:42 +10:00
Scott Shawcroft
038c9d6194
Merge pull request #4796 from Neradoc/nera-pwmrgb-status-pimoroni
Enable the PWM status LED on Pimoroni Tiny 2040 and PicoSystem
2021-05-24 13:30:55 -07:00
lady ada
2e90d5ed07 clang a bit 2021-05-22 12:39:42 -04:00
lady ada
d52f149e84 add ESP CS pin to make wifi demos easier 2021-05-22 12:22:28 -04:00
lady ada
ac855afb48 Some pin neatening and updated PID to unused Adafruit one! 2021-05-22 11:57:46 -04:00
BlitzCityDIY
14dbec7c04 Merge branch 'main' of https://github.com/blitzcitydiy/circuitpython into main 2021-05-22 01:02:21 -04:00
BlitzCityDIY
9f4eb48e70 Updating MISO
While testing WIFI realized MISO was defined incorrectly
2021-05-22 01:02:06 -04:00
BlitzCityDIY
352281e23e Adding Arduino Nano RP2040 Connect
Re-commiting to fix local GitHub config issues. Adding CircuitPython support for the Arduino Nano RP2040 Connect. Have tested all digital and analog I/O, I2C, onboard LSM6DSOX. Uses the AT25SF128A external flash.
2021-05-21 20:44:11 -04:00
Neradoc
6808d04d53 enable the PWM status LED on Pimonoroni Tiny 2040 and PicoSystem 2021-05-21 20:13:30 +02:00
Scott Shawcroft
561ffec693
Merge remote-tracking branch 'adafruit/main' into simplify_status_led 2021-05-20 13:46:42 -07:00
Dan Halbert
f5aa55c247
Merge pull request #4606 from hierophect/sleep-revamp
Internal API revisions to sleep
2021-05-20 16:00:52 -04:00
Lucian Copeland
af43f956d3 Merge remote-tracking branch 'upstream/main' into sleep-revamp 2021-05-20 15:56:34 -04:00
Scott Shawcroft
5643355e90
Merge remote-tracking branch 'adafruit/main' into simplify_status_led 2021-05-20 08:35:15 -07:00
Damien George
ea81bcf1c0 stm32/mboot: Leave bootloader from thread mode, not from IRQ.
Leaving the bootloader from an IRQ (eg USB or I2C IRQ) will not work if
MBOOT_LEAVE_BOOTLOADER_VIA_RESET is disabled, ie if mboot jumps directly to
the application.  This is because the CPU will still be in IRQ state when
the application starts and IRQs of lower priority will be blocked.

Fix this by setting a flag when the bootloader should finish, and exit the
bootloader always from the main (top level) thread.

This also improves the USB behaviour of mboot: it no longer abruptly
disconnects when the manifest command is sent.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-21 00:46:01 +10:00
Damien George
748339b281 stm32/uart: Configure pull-up only on RX and CTS, not TX and RTS.
RX and CTS are the input pins and pull-ups are enabled so they don't cause
a problem if left unconnected.  But the output pins don't need a pull up
(they were originally all configured with pull up in commit
8f7491a109).

If needed, the pull-ups can be disabled in Python using machine.Pin after
the UART is constructed.

See issue #4369.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-21 00:38:04 +10:00
Damien George
a96afae90f stm32/sdio: Fix case of SDIO DMA turning off mid transfer.
The DMA driver will turn off DMA if it hasn't been used for an amount of
time (to save power).  The SDIO driver for cyw43 WLAN was not informing the
DMA driver that it was using DMA and there was a chance that the DMA would
turn off in the middle of an SDIO DMA transfer.  The symptoms of this would
be printing of SDIO error messages and a failure to communicate with the
cyw43 WLAN module.

This commit fixes this issue by changing the SDIO driver to use the
dma_nohal_XXX API to initialise and start the DMA.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-21 00:08:13 +10:00
Mike Causer
47b778332a all: Replace busses with buses.
"buses" is the widely accepted plural form of "bus".
2021-05-20 23:22:03 +10:00
Mike Causer
1ca66efbf7 stm32/boards: Add VCC_GND_F407ZG board. 2021-05-20 23:17:51 +10:00
Mike Causer
c24003abec stm32/boards: Add VCC_GND_F407VE board. 2021-05-20 23:15:56 +10:00
Dan Halbert
74355e8281
Merge pull request #4783 from tannewt/fix_sm_rp2040_7
Fix safe mode on rp2040 (in 7.x)
2021-05-20 09:02:35 -04:00
Scott Shawcroft
499a4388cf
Handle inverted neopixel power 2021-05-19 17:29:02 -07:00
Scott Shawcroft
42ee48ccb5
Improve error for invalid parameters 2021-05-19 14:09:11 -07:00
Scott Shawcroft
ee7a701487
Switch to start_advertising arg 2021-05-19 12:21:48 -07:00
gabewillen
e29158483e
Update Adapter.h
Added the tx_power to the adapter object
2021-05-19 11:56:49 -07:00
gabewillen
6b39df406a
Update Adapter.c
Added support for setting transmitter power currently done during every time advertising starts as implemented in the Arduino library
2021-05-19 11:55:47 -07:00
Scott Shawcroft
b78e9fcd19
Improve STM reset reason
This causes safe mode to skip the wait for reset when waking up
from an alarm. (It also means we don't flash the LED for it.)
2021-05-19 11:48:02 -07:00
EmergReanimator
7805392b9e
Update UART.c
Incorporating feedback: https://github.com/adafruit/circuitpython/pull/4772#discussion_r634112839
2021-05-19 20:19:16 +02:00
Scott Shawcroft
642fbcf87a
Handle status led power
This no longer turns on status LED power before running user code.
Therefore, use of the status LED on some boards will also have to
enable the power.
2021-05-19 10:57:14 -07:00
Scott Shawcroft
9dabe882f1
Fix safe mode on rp2040 2021-05-19 10:18:43 -07:00
Scott Shawcroft
14a550c395
Merge pull request #4770 from ladyada/main
Add rev A of macropad definition
2021-05-19 10:09:19 -07:00
Dan Halbert
4c928acbd4
Merge pull request #4774 from kamtom480/spresense_usb_fix
spresense: Fix USB CDC and MSC
2021-05-19 12:42:08 -04:00
lady ada
9a70aa1e8d figure out the AREF thing later 2021-05-18 22:20:38 -04:00
Limor "Ladyada" Fried
b667736110 Merge branch 'adafruit:main' into main 2021-05-18 20:55:55 -04:00
lady ada
d8b895f1d7 add LED and speaker - natch! 2021-05-18 20:53:13 -04:00
Lucian Copeland
bce541dcc5 Minor text fixes 2021-05-18 15:16:25 -04:00
lady ada
fdbd3bc8c2 add missing AREF pin 2021-05-18 11:09:31 -04:00
ladyada
cec9015e19 iz makropad with oled 2021-05-18 11:09:03 -04:00
Kamil Tomaszewski
da248d1594 spresense: Fix USB CDC and MSC 2021-05-18 17:02:16 +02:00
Damien George
7408ca1d78 mimxrt: Improve ticks and sleep functions using GPT.
SysTick cannot wake the CPU from WFI/WFE so a hardware timer is needed to
keep track of ticks/delay (similar to the nrf port).

Fixes issue #7234.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-18 22:36:32 +10:00
root
9393467819 Update comment for spelling 2021-05-17 22:13:00 -05:00
Bruno Martins
ea2d83e961 nrf/boards: Add support for evk_nina_b3 board. 2021-05-18 12:14:57 +10:00
Bruno Martins
94fb5e7f5a nrf: Add machine.memXX, and allow boards to customise some features. 2021-05-18 12:01:51 +10:00
Lucian Copeland
633d83cc3e Merge remote-tracking branch 'upstream/main' into sleep-revamp 2021-05-17 18:57:10 -04:00
root
ff4b1b28d2 iFormatting fixes 2021-05-17 16:43:55 -05:00
root
11ef36d09d Implement pulseout for RP2040 2021-05-17 16:24:45 -05:00
EmergReanimator
2b64b1d335 [resolves #4771] DEBUG UART supported on ATMSAME5x 2021-05-17 21:22:24 +02:00
Limor "Ladyada" Fried
9752162508
Merge pull request #4765 from dhalbert/rotary-trinkey-rev-c-pins
Update various Trinkey pins and add _pixelbuf
2021-05-15 11:52:33 -04:00
Dan Halbert
ea0e18d2e0 fix logic for suppressing ja and ko clean builds when not necessary 2021-05-14 23:41:44 -04:00
Dan Halbert
1e2a945782 Make busio.SPI be NotImplementedError on proxlight to save space 2021-05-14 21:52:54 -04:00
Scott Shawcroft
5c33c9d597
Fix SAMD
RTC needed to wait for sync. NeoPixel on SAMD doesn't need disabled
caches. It just needed timing adjustment for 120mhz clock speed.
2021-05-14 16:14:24 -07:00
Dan Halbert
990e58902d add CIRCUITPY_PIXELBUF to all trinkeys; add NeoPixel to prox 2021-05-14 17:09:15 -04:00
Dan Halbert
6a2ba83e30 Update Rotary Trinkey and Slide Trinkey pins 2021-05-14 15:40:29 -04:00
Lucian Copeland
715f7ee490 Add STM32 and NRF52 compatibility 2021-05-14 14:34:35 -04:00
Scott Shawcroft
689ec86225
Merge pull request #4754 from dhalbert/fix-endpoint-checking
Fix endpoint checking; Clean up safe mode printing
2021-05-14 11:25:01 -07:00
Jeff Epler
c931e5deb7 Add build_memory_info for esp32s2
This detects an overflowed flash partition, such as
```
1452105 bytes used, -10313 bytes free in flash firmware space out of 1441792 bytes (1408.0kB).
444428 bytes used, 1652724 bytes free in ram for stack and heap out of 2097152 bytes (2048.0kB).
```
on a metro esp32-s2 built with debugging.
2021-05-14 10:39:07 -05:00
Dan Halbert
c65986f526 shrink a bit more 2021-05-14 09:18:14 -04:00
Mike Causer
605b74f390 esp32/boards: Fix spelling mistakes in comments for UM_xxx boards. 2021-05-14 22:26:29 +10:00
Mike Causer
9e65662a11 esp32/boards: Set default I2C and SPI pins on UM_xxx boards.
And fix incorrect I2C and SPI pins in the feathers2 module.
2021-05-14 22:26:05 +10:00
Mike Causer
538b9a9be5 esp32/machine_i2c: Allow boards to configure I2C pins using new macros.
Following how SPI is configured (and how stm32 does it).
2021-05-14 22:22:13 +10:00
Dan Halbert
0fcb11b7b2 shrink some STM32F4 builds: turn MIDI back off 2021-05-13 23:14:12 -04:00
Dan Halbert
fa6c06fb38 count in/out endpoints; allow more usb modules on low-endpoint boards 2021-05-13 21:59:02 -04:00
Scott Shawcroft
1a0b4193b7
Simplify the status LED to save power
This also removes the need to pin share because we don't use the
status LED while user code is running.

The status flashes fallback to the HW_STATUS LED if no RGB LED is
present. Each status has a unique blink pattern as well.

One caveat is the REPL state. In order to not pin share, we set the
RGB color once. PWM and single color will be shutoff immediately but
DotStars and NeoPixels will hold the color until the user overrides
it.

Fixes #4133
2021-05-13 14:41:20 -07:00
Lucian Copeland
295103bb31 Merge remote-tracking branch 'upstream/main' into sleep-revamp 2021-05-13 16:22:12 -04:00
Scott Shawcroft
35ee4add63
Merge pull request #4388 from hierophect/stm-alarm
STM32: Alarms and sleep
2021-05-13 10:27:51 -07:00
Lucian Copeland
849e3a7319 Style fixes, submodules 2021-05-13 11:24:27 -04:00
Jeff Epler
47947dc23c
Merge pull request #4749 from tannewt/merge_1.15
Merge in MicroPython 1.15
2021-05-12 20:52:11 -05:00
Scott Shawcroft
966d25c6a5
Merge MicroPython v1.15 into CircuitPython 2021-05-12 17:51:42 -07:00
Damien George
9a0bca2c2a stm32/mboot: Make LEDs and reset-mode selection more configurable.
A board can now customise mboot with:
- MBOOT_LED1, MBOOT_LED2, MBOOT_LED3, MBOOT_LED4: if it needs to have
  different LEDs for mboot compared to the application
- MBOOT_BOARD_LED_INIT: if it needs a fully customised LED init function
- MBOOT_BOARD_LED_STATE: if it needs a fully customised LED state-setting
  function
- MBOOT_BOARD_GET_RESET_MODE: if it needs a fully customised function to
  get the reset mode

With full customisation, the only requirement is a single LED to show the
status of the bootloader (idle, erasing, flashing, etc), which can be
configured to do nothing if needed.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-12 13:44:57 +10:00
Damien George
6639e282c7 stm32/mboot: Add MBOOT_LEAVE_BOOTLOADER_VIA_RESET option.
It is enabled by default to get the standard behaviour of doing a reset
after it is finished, but can be disabled by a board to jump straight to
the application (likely the board needs to use MBOOT_BOARD_CLEANUP to make
this work).

The application is passed a reset mode of BOARDCTRL_RESET_MODE_BOOTLOADER
if the bootloader was active and entered via a jump.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-12 13:44:52 +10:00
Damien George
9ee116c452 stm32/boardctrl: Adjust logic for running boot.py, main.py.
This new logic is equivalent to the old logic when the only possibilities
for reset_mode are NORMAL, SAFE_MODE and FILESYSTEM, which is the standard
case.  But the new logic also allows other reset_mode values (eg
BOOTLOADER) to run boot.py and main.py.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-12 13:44:47 +10:00
Damien George
ee4ffc1804 stm32/powerctrl: Add MICROPY_HW_ENTER_BOOTLOADER_VIA_RESET option.
When disabled the bootloader is entered via a direct jump.  When enabled
the bootloader is entered via a system reset then a jump.  It's enabled by
default to retain the existing behaviour, which is the recommended way.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-12 13:44:41 +10:00
lady ada
502b66eac0 moar trinkz 2021-05-11 22:03:05 -04:00
Scott Shawcroft
a70fc0caee
Merge pull request #4744 from tannewt/merge_1.14
Merge MicroPython 1.14
2021-05-11 16:11:58 -07:00
Scott Shawcroft
e02a26453c
Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
Damien George
4404dababb rp2/CMakeLists.txt: Include tinyusb_common in PICO_SDK_COMPONENTS.
So the TinyUSB headers can be found during qstr processing.

Fixes issue #7236.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-11 12:46:18 +10:00
Dan Halbert
0eb4b9b982
Merge pull request #4742 from kattni/led
Add LED pin to Adafruit boards.
2021-05-10 21:12:02 -04:00
Chris Greening
cce7096d1a esp32/boards/UM_TINYPICO: Fix include of sdkconfig fragment.
This was broken by 32ec07a350
2021-05-11 09:36:41 +10:00