Commit Graph

7289 Commits

Author SHA1 Message Date
Scott Shawcroft a5143d284b
Merge pull request #5161 from ZodiusInfuser/patch_micropy
Removed unnecessary defines from Pimoroni board files
2021-08-17 12:40:12 -07:00
Dan Halbert a0c340f727
Update ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
Co-authored-by: microDev <70126934+microDev1@users.noreply.github.com>
2021-08-17 11:26:43 -04:00
Dan Halbert 064e086570 correct some status LED pin defns per #5161 2021-08-17 09:33:34 -04:00
microDev 6c763762d4
restore sys.atexit() to prevent merge conflict 2021-08-17 10:13:01 +05:30
Ryan A. Pavlik a77e269121
cp_sapling_m0_revb: board.UART not board.uart
This is the only board that didn't match the all-uppercase convention for these UART (and more generally, these bus) entries.
2021-08-16 17:07:17 -05:00
Scott Shawcroft abe8638f41
Merge pull request #5160 from ZodiusInfuser/patch_tiny2040
Removed default UART, SPI and I2C from Tiny2040 config
2021-08-16 14:54:52 -07:00
microDev 1c4a6c3667
atexit module refinements
- add test for atexit module
- add callback to gc collection
- fix callback memory allocation
- execute callback on both code and repl exit
2021-08-16 21:37:32 +05:30
ZodiusInfuser 2255ab1486 Removed unnecessary Micropy and Ignore defines 2021-08-16 16:40:12 +01:00
ZodiusInfuser 5fb507c3ff Removed default UART SPI and I2C from Tiny2040 config 2021-08-16 16:31:31 +01:00
Seth Kerr 201883dcc1 removed bread 2040 from commit 2021-08-15 14:02:43 -06:00
Seth Kerr 3b491ac0f3 ran pre-commit locally 2021-08-15 14:02:43 -06:00
Seth Kerr 2ebeeb5daf add ODT PixelWing ESP32S2 2021-08-15 14:02:43 -06:00
codetyphon fd8fe6f013
Update ports/esp32s2/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2021-08-15 20:39:53 +08:00
codetyphon 7a48fc05b4 fix ai-tinker-esp-12k path 2021-08-15 13:29:42 +08:00
codetyphon e29346b79a ai_thinker_esp_12k_nodemcu 2021-08-15 10:18:40 +08:00
Dan Halbert f37e1d7bf5 squeeze a couple of boards 2021-08-14 17:36:05 -04:00
codetyphon 8945d17aa2
Update mpconfigboard.mk 2021-08-14 23:32:40 +08:00
codetyphon c577d3b6a4
add ai_thinker_esp_12k 2021-08-14 20:29:33 +08:00
codetyphon 221d66c603
Create board.c 2021-08-14 20:27:51 +08:00
Scott Shawcroft 3ffab36cdc
Merge remote-tracking branch 'adafruit/main' into fix_samd_timer_leak 2021-08-13 15:20:25 -07:00
Dan Halbert ffb9ecfeca
Merge pull request #5139 from tannewt/onewireio
Move OneWire to `onewireio`
2021-08-13 18:10:04 -04:00
Scott Shawcroft d528386d4e
Merge pull request #5143 from tylercrumpton/add-crumps2
Add CrumpS2 ESP32-S2 board
2021-08-13 12:03:42 -07:00
Scott Shawcroft de796e2304
Move OneWire to `onewireio` from `busio`
This will allow finer grained inclusion in 8.0.0

Fixes #5135
2021-08-12 10:47:14 -07:00
Scott Shawcroft d294692c4e
Merge pull request #5100 from tannewt/fix_cp_irremote
Switch SAMD21 ticks to PER event
2021-08-12 09:52:29 -07:00
Dan Halbert 6c1dbea8b0
Merge pull request #5129 from skieast/add-morphesp240
Add morphesp240
2021-08-12 12:27:51 -04:00
Scott Shawcroft 9c77d2653f
Merge pull request #5099 from ZodiusInfuser/main
Added definitions for some upcoming Pimoroni LED driver boards
2021-08-12 09:27:21 -07:00
ZodiusInfuser 47c8ff0570 Removed unnecessary defines 2021-08-11 23:34:20 +01:00
Scott Shawcroft fb6b438580
Make `getpass` and `traceback` full build only
This leaves much more space on SAMD21 builds that aren't "full builds".
These are new APIs that we don't need to add to old boards.

Also, tweak two Arduino boards to save space on them.
2021-08-11 14:47:35 -07:00
Scott Shawcroft 0c1d6cef75
Merge remote-tracking branch 'adafruit/main' into fix_cp_irremote 2021-08-11 13:43:59 -07:00
Bruce Segal f35afa8239 Formatting and build.yml 2021-08-11 13:43:08 -07:00
Bruce Segal 4be64cd8a9 Initial MorphESP-240 support 2021-08-11 13:11:17 -07:00
Scott Shawcroft 0632a1e681
Merge pull request #5060 from cdwilson/cdwilson/circuitpython/sparkfun-stm32f405-micromod
stm/boards: Add support for SparkFun STM32 MicroMod Processor board.
2021-08-11 12:19:16 -07:00
Scott Shawcroft 7f016ae11e
Fix build with filter to do OR 2021-08-11 12:10:51 -07:00
Scott Shawcroft 083960ce90
Fix SAMD51 builds and Prox Trinkey
Adds CIRCUITPY_BUSIO_UART to disable UART by raising ValueError
that no pins work.
2021-08-11 11:53:26 -07:00
Scott Shawcroft ebf0901558
Merge pull request #5079 from dhalbert/debug-audio
Fix various RP2040 and SAMD audio issues
2021-08-11 11:19:53 -07:00
Scott Shawcroft b56455ffbb
Allow sleep while paused 2021-08-11 10:48:39 -07:00
Scott Shawcroft 67c6932ca2
Reset timers separate from pwmio
This prevents timer leakage on builds without pwmio.

Fixes #5057
2021-08-11 09:58:31 -07:00
Dan Halbert 4608877c12 address review comments 2021-08-11 12:10:49 -04:00
Dan Halbert 35aac3d26b display SPI now 10MHz; set PWM duty cycle to zero at stop to quiet output 2021-08-11 10:48:53 -04:00
Dan Halbert 24e61a7da8 Track more carefully which audio buffers to fill, based on interrupt channels 2021-08-10 22:00:09 -04:00
Jeff Epler 1e53cf40ad
Merge pull request #5114 from jpconstantineau/board-bluemicro840
Add Board bluemicro840
2021-08-10 19:17:05 -05:00
Scott Shawcroft f0859ac954
Switch SAMD21 ticks to PER event
The EVSYS is used to generate an interrupt from the event. This
simplifies timing used in pulseio that conflicted with the
auto-reload countdown.

Fixes #3890
2021-08-10 15:23:45 -07:00
ZodiusInfuser e587bd7dc0 Added final USB PIDs 2021-08-10 11:17:06 +01:00
Chris Wilson c0902dade6 stm/boards: Add support for SparkFun STM32 MicroMod Processor board. 2021-08-09 23:11:13 -07:00
Chris Wilson e741330ca8 Consistent pin naming for SparkFun MicroMod processor boards. 2021-08-09 23:10:52 -07:00
Pierre Constantineau aec965e6d9 changed PID as suggested by Scott 2021-08-09 15:25:06 -06:00
microDev 93c9d59960
Merge branch 'main' into getpass 2021-08-10 01:00:10 +05:30
microDev 052c53efc3
Merge pull request #5116 from eddieespinal/atmegazero_esp32s2
Fixes the MOSI and MISO pins mapping
2021-08-09 22:45:41 +05:30
Eddie Espinal 6764af182a Fixes the MOSI and MISO pins. By mistake I added them backward in this mapping 2021-08-09 11:31:20 -04:00
Dan Halbert 2451c788f4 valid channels in audio_dma_stop; cleaner supervisor_ticks mgmt in keypad 2021-08-09 09:47:13 -04:00
Dan Halbert 59b89fdc5c Fix various audio DMA issues:
RP2040 and SAMD51:
- Detect when DMA has finished, and stop DMA audio explicitly.
- Do not accidentally reuse `first_buffer` supplied by WaveFile or RawSample. Always realloc `first_buffer` and `second_buffer`

RP2040:
- When audio playing is stopped, write a final zero to the output register. This prevents residual PWM tones.
- Handle buffer size for 8-bit samples properly for 16-bit output.
- Fail on some edge cases (which may not be possible at the moment).
2021-08-09 09:47:13 -04:00
Dan Halbert 2cd80d1074 wip, with debugging printf's 2021-08-09 09:47:13 -04:00
Dan Halbert fd71d924d2 partial buffer mgmt fix 2021-08-09 09:47:13 -04:00
microDev 51f8603783
add getpass module 2021-08-09 17:50:28 +05:30
Pierre 7d02fd42f8 removed trailing spaces at end of pins.c 2021-08-08 21:56:24 -06:00
Pierre 1a7cad6562 removed trailing spaces in pins.c 2021-08-08 21:43:03 -06:00
Pierre b1d5b50551 fromatting updates to pins.c 2021-08-08 21:38:23 -06:00
Nathan Young 579194a543 Colocated board.LED and D13 together (GCM4) 2021-08-09 05:35:38 +02:00
Pierre 9de8045dca foromatting updates to pins.c 2021-08-08 21:31:07 -06:00
Pierre 45d4058981 adding initial files for BlueMicro840 Board 2021-08-08 21:25:54 -06:00
Nathan Young a15ac65fa0 Add board.LED for Grand Central M4 Express
Fixes #5111
2021-08-08 21:43:12 +02:00
microDev 063e3946d6
Merge pull request #5094 from jepler/quirc
Add qrio: Decode QR codes with quirc lib
2021-08-07 09:30:20 +05:30
Scott Shawcroft be2342f32f
Merge pull request #5072 from microDev1/traceback
Add traceback module
2021-08-06 12:10:17 -07:00
Scott Shawcroft 93aa4e9e47
Merge pull request #5102 from evildave666/blackpill-add-mfg-name
Add WeAct manufacturer for STM32F411 blackpill boards
2021-08-06 11:59:24 -07:00
evildave666 4d14bcf2a2 Add WeAct manufacturer for black pill boards 2021-08-06 16:06:16 +09:00
Scott Shawcroft 00b617c9c4
Merge pull request #5097 from anecdata/cucumber
Add Gravitech Cucumber M, MS, R, and RS boards
2021-08-05 11:49:51 -07:00
Jeff Epler f0e489f51f
Merge pull request #5098 from bd34n/bdmicro_vina_d51_flash_chip
board bdmicro_vina_d51: Add support for MX25L12833F flash chip.
2021-08-05 13:48:29 -05:00
Scott Shawcroft e3fa6e2c35
Merge pull request #5089 from tannewt/disable_ble_workflow
Add ability to disable BLE workflow
2021-08-05 11:21:17 -07:00
Jeff Epler 2e8eb43dcc Use new quirc define for small stacks
.. and revert stack enlargement of esp32-s2
2021-08-05 12:52:43 -05:00
Jeff Epler f9393c9e51 enable qrio in unix coverage build, and add a test 2021-08-05 12:24:07 -05:00
ZodiusInfuser f707fa107a Tweaks to Interstate75 pinout 2021-08-05 15:00:47 +01:00
Brian Dean 821f3d5532 board bdmicro_vina_d51: Add support for MX25L12833F flash chip. Add QSPI activity indicator LED. Add D15-D19 as aliases for the I2S peripheral pins. 2021-08-05 09:14:51 -04:00
ZodiusInfuser 11ed759cf9 Tweaks to Plasma2040 pinout 2021-08-05 13:01:50 +01:00
anecdata 10f74618cf Cucumber M, MS, R, and RS boards 2021-08-04 19:09:43 -05:00
Jeff Epler 131dbf1e87 Remove hard-coded disable of USB_HID for kaluga devkits 2021-08-04 18:17:20 -05:00
Dan Halbert 81833035fc raytac_mdbt50q-rx 2021-08-04 15:47:19 -04:00
Jeff Epler 38f392f318 esp32s2: Increase C stack size
The QR decoder has a single item that is 8908 bytes big and placed
on the stack.  (struct datastream)

Without enlarging the stack, this will reliably crash.
2021-08-03 13:40:27 -05:00
Jeff Epler dfc992b7be Make it easier to disable wifi 2021-08-03 13:40:27 -05:00
Jeff Epler ac4b10bcd9 It's "shared-module", not "shared-modules" 2021-08-03 10:37:47 -05:00
ZodiusInfuser 6663dacedb Added board configurations for Plasma and Interstate 2021-08-03 14:01:56 +01:00
Scott Shawcroft 1e225610cc
Add ability to disable BLE workflow
Call `supervisor.disable_ble_workflow()` and the BLE workflow will
be disabled until the chip is reset.

This also includes a couple fixes:
1. Terminals can now be deinit by setting the tilegrid to NULL. This
  prevents using the tilegrid before display is init.
2. Fix BLE serial send amount when sending more than a single packet.

Fixes #5049
2021-08-02 18:37:19 -07:00
Scott Shawcroft 686103fd8e
Merge pull request #5085 from dhalbert/board-specific-pico-sdk-settings
Add board-specific pico-sdk settings; set xosc multipler for Adafruit boards
2021-08-02 10:53:54 -07:00
Tyler Crumpton 5f2cd41bf2 Update PID/VID to real values 2021-07-31 18:05:43 -05:00
Tyler Crumpton f7727405d3 Add CrumpSpace CrumpS2 board definition 2021-07-31 17:01:48 -05:00
Dan Halbert a358e5f58a Add board-specific pico-sdk settings; set xosc multipler for Adafruit boards 2021-07-30 18:50:21 -04:00
Lucian Copeland da149b0a42 Merge remote-tracking branch 'upstream/main' into stm32-sleepmem 2021-07-30 15:35:55 -04:00
Scott Shawcroft bfe29786ce
Merge pull request #5074 from tannewt/break_deep_sleep
Fix a couple fake sleep bugs on nrf and esp
2021-07-30 09:19:08 -07:00
microDev 4938851122
remove legacy sys.atexit() implementation 2021-07-30 10:00:00 +05:30
microDev a3998d0626
add atexit module 2021-07-30 09:32:28 +05:30
Scott Shawcroft d5cdceb9b9
Use all 4 status pixels on neotrinkey too 2021-07-28 14:25:21 -07:00
Scott Shawcroft bc0f8ac55d
Use all four LEDs for status on MagTag
Fixes #5051
2021-07-28 14:17:31 -07:00
Scott Shawcroft cdf978f3af
Fix a couple fake sleep bugs on nrf and esp
On ESP ctrl-c during fake sleep will now stop the sleep. A crash
on real deep sleep is now fixed as well. (Exception string saving
was crashing on reading the deep sleep exception.) Fixes #4010

This also fixes nRF fake sleep after the first time. The internal
variable wasn't being reset early enough. Fixes #4869
2021-07-28 13:27:48 -07:00
Dan Halbert e9369d50e1
Merge pull request #5067 from tannewt/pulseout_switch
Switch to pin, frequency and duty_cycle PulseOut
2021-07-28 14:58:06 -04:00
Scott Shawcroft 9e54606ba1
Set output low in SIO 2021-07-28 09:00:36 -07:00
microDev f371c0a609
add traceback module 2021-07-28 18:06:23 +05:30
Scott Shawcroft 4be904fd4a
Switch to gpio mux to disable/enable pwm signal 2021-07-27 12:38:18 -07:00
Scott Shawcroft e87e1d8175
Block when setting duty_cycle until the new value is taken 2021-07-27 12:37:35 -07:00
Kattni fc59a7ac02
Merge pull request #5068 from dhalbert/remove-gamepad
remove gamepad; deprecate gamepadshift
2021-07-27 11:35:06 -04:00
Kattni 460643f983
Merge pull request #5066 from dhalbert/led-everywhere
add board.LED wherever possible
2021-07-27 11:18:47 -04:00
Kamil Tomaszewski ff65863719 spresense: update SDK to 2.2.0 2021-07-27 11:25:51 +02:00
Dan Halbert b0fb709d83 more gamepad removal 2021-07-26 23:34:25 -04:00
Dan Halbert 901a6c27c0 remove gamepad; deprecate gamepadshift 2021-07-26 22:15:09 -04:00
Scott Shawcroft daf90aae83
Merge remote-tracking branch 'adafruit/main' into pulseout_switch 2021-07-26 18:48:59 -07:00
Scott Shawcroft 412eb87080
Switch to pin, frequency and duty_cycle PulseOut
Passing in a PWMOut still works but is deprecated. It will be
removed in CircuitPython 8.0.0

This also switches STM32 timer indices and channel indices to
0-based in our pin data rather than `- 1` everywhere. The latter is
more bug prone.

Most of the way for #3264

Tested on Metro M0, Metro M4, Feather S2, Feather nRF52840, Feather
STM32F4 and Arduino RP2040.
2021-07-26 18:35:49 -07:00
Dan Halbert 11ca505fdb add board.LED wherever possible 2021-07-26 19:57:12 -04:00
Scott Shawcroft 8258f51132
Merge pull request #5061 from evildave666/blackpill-remove-nvm
remove unused nvm reserved space from stm32f411ce_blackpill_with_flash
2021-07-26 14:13:29 -07:00
Jeff Epler b9fa06cf6b
Merge pull request #5056 from cdwilson/cdwilson/circuitpython/fix-feather-stm32f405-express-can-pins
Fix CAN pin assignment on Feather STM32F405 Express board.
2021-07-26 09:00:11 -05:00
evildave666 f059bab253 Modify mpconfigboard.mk to point to the new linker file and re-include modules 2021-07-26 14:13:41 +09:00
evildave666 57c6279b40 Added new linker file 2021-07-26 13:59:25 +09:00
lady ada f3a286a7ea can we add busdevice and have room? 2021-07-25 14:45:35 -04:00
Chris Wilson 49dc5805ee Fix CAN pin assignment on Feather STM32F405 Express board. 2021-07-24 22:01:50 -07:00
Tod Kurt 0d401e7bc8 fix whitespace on new flash chip for Arduino Nano RP2040 2021-07-24 13:22:02 -07:00
Tod Kurt dcd5b5ab50 added Arduino Nano RP2040 Connect alternate flash chip 2021-07-24 13:12:44 -07:00
Scott Shawcroft 70cbb4eddb
Support multiple status neopixels
Use the 10 neopixels on the playgrounds for status.

Fixes #5039
2021-07-23 15:17:09 -07:00
microDev c9ac8e77e8
Merge pull request #5042 from NathanY3G/add-support-for-jmp-pin
Added support for specifying the JMP pin (RP2 PIO)
2021-07-23 18:15:43 +05:30
Nathan Young 04ce6a6e8c Check jmp_pin specified when JMP PIN opcodes used 2021-07-23 13:35:20 +02:00
microDev e790ff7327
Merge pull request #5036 from tannewt/esp_oserror0
Remove OSError(0) and old network modules
2021-07-23 11:00:56 +05:30
Scott Shawcroft beda1f7998
Merge pull request #5037 from hierophect/getprevtraceback
Add supervisor.get_previous_traceback() function.
2021-07-22 17:00:14 -07:00
Lucian Copeland ace04ef600 Formatting fixes 2021-07-22 12:57:10 -04:00
Nathan Young 8221a12cf6 Added support for specifying the JMP pin (RP2 PIO) 2021-07-22 18:39:04 +02:00
Scott Shawcroft f84cb94819
Remove OSError(0) and old network modules
The newer modules are `socketpool` and `ssl`.

Fixes #3924, related to #2021, closes #1880, closes #2273, closes #2274
2021-07-21 17:33:40 -07:00
Scott Shawcroft 109bd2886b
Fix Arduino RP2040 flash size
For RP2040 boards, we now change the default flash size based on
the configured flash. We will still try to read the size from the
flash first.

Fixes #4874
2021-07-21 11:02:55 -07:00
Scott Shawcroft 8723a0335f
Merge pull request #5032 from DavePutz/multi_pulseout
Moved global variables to support multiple RP2040 PulseOuts
2021-07-21 10:26:17 -07:00
Scott Shawcroft e14923028f
Merge pull request #5030 from dhalbert/update-to-raspberrypi-pico-sdk-1.2.0
Update pico-sdk to 1.2.0, using raspberrypi repo
2021-07-21 08:14:13 -07:00
root b2d6203c63 fix formatting 2021-07-21 10:05:09 -05:00
root 0559fcd1c0 Moved global variables to support multiple PulseOuts 2021-07-21 09:52:17 -05:00
microDev 68070318f0
Merge pull request #5026 from tannewt/samd_uart
Fix crash when UART construct fails
2021-07-21 08:34:50 +05:30
Scott Shawcroft db0adf1253
Merge pull request #5025 from DavePutz/issue_5016
Turn off PWM pin during PulseOut construct
2021-07-20 17:25:10 -07:00
Scott Shawcroft fece0fb432
Fix crash when UART construct fails
After the script stops with the exception thrown the final gc_sweep
will call any finalizers and they usually call deinit. deinit on
invalid objects can wreak havoc by changing random memory or
(hopefully) crashing. This fixes ensures the object is deinited
until initialization succeeds and the object is valid.

Do the same fix for I2C and SPI too.

Fixes #4700 and fixes #5005
2021-07-20 17:15:19 -07:00
root 8fe4fa0114 Turn off PWN pin during PulseOut construct 2021-07-20 17:17:41 -05:00
Dan Halbert 0293ec261a Update pico-sdk to 1.2.0, using raspberrypi repo 2021-07-20 17:31:29 -04:00
Dan Halbert ce7301527a
Merge pull request #5024 from tannewt/rp2_ble_wait
Don't blink blue on non-BLE workflow boards
2021-07-19 23:51:27 -04:00
Scott Shawcroft f8290e746b
Don't blink blue on non-BLE workflow boards
This includes any boards that have _bleio implemented via HCI.

Fixes #4969
2021-07-19 18:40:37 -07:00
Dan Halbert 5e773b863f
Merge pull request #4793 from kmatch98/funhouse_spi_speed
reduce SPI display baudrate from 60 MHz to 5 MHz to eliminate display glitch
2021-07-19 18:24:48 -04:00
Dan Halbert 128bedae7e
Merge pull request #5019 from DavePutz/issue_5016
Ensure RP2040 pin is left low after PulseOut
2021-07-19 17:57:42 -04:00
Dan Halbert d2f2afe57b
Merge pull request #4925 from microDev1/update-run-mode
Add RunMode.UF2 and update esp32s2 run-modes
2021-07-19 16:37:46 -04:00
root 8d79d4e5ee Ensure pin is left low after PulseOut 2021-07-19 11:46:09 -05:00
microDev 3c25d8e2a0
Merge pull request #5013 from DavePutz/issue_5012
Issue #5012 - RP2040 moved globals to PulseIn object to fix multiple instances
2021-07-19 00:21:55 +05:30
root 43275e0b0d Made suggested changes (mostly) 2021-07-18 12:00:37 -05:00
microDev 9ac607dffa
update run-mode
- add microcontroller.RunMode.UF2
- add UF2, NORMAL and BOOTLOADER run-modes to esp32s2
2021-07-18 00:00:58 +05:30
Dan Halbert 50a8e995ff
Merge pull request #5007 from tannewt/samd_pin_reset
Remove MICROPY_PORT_* macros used for never reset
2021-07-16 18:29:30 -04:00
root 1c80696746 iFix formatting 2021-07-16 17:18:06 -05:00
root 588a19a1ab Issue #5012 - Moved globals to PulseIn object to fix multiple instances 2021-07-16 15:59:08 -05:00
Scott Shawcroft bba611336c
Merge pull request #4964 from DavePutz/issue_4937
Fix for issue #4937 - Implement minimum PulseOut time
2021-07-16 11:29:32 -07:00
Scott Shawcroft e042d54702
Fix three boards and xtensa cache key 2021-07-16 11:15:05 -07:00
root eebddbb16d Change min pulse calculation 2021-07-15 21:27:23 -05:00
Scott Shawcroft ca2cb9af2b
Remove MICROPY_PORT_* macros used for never reset
Now we use never_reset which is generally more correct and easier
to get right.

Fixes #5001 and fixes #4997
2021-07-15 16:20:04 -07:00
Jeff Epler e528d8dac3
Merge pull request #5002 from tannewt/microbitv2
Create first BLE-only board, Micro:Bit v2
2021-07-15 14:02:35 -05:00
Lucian Copeland e3bc800bbc
Merge pull request #4999 from hierophect/esp-timer-leak
ESP32S2: Fix PWM timer leak and variable frequency conflicts
2021-07-14 13:29:56 -04:00
Scott Shawcroft 0fadf028ef
Create first BLE-only board, Micro:Bit v2
This fixes build issues with USB off, tweaks the README to allow
for BLE-only boards and adds the Micro:Bit v2 definition.

Fixes #4546
2021-07-14 09:55:51 -07:00
Scott Shawcroft e7c5165ff6
Merge pull request #4994 from bobthechemist/atmel-samd-analogio-deinit
added pin object to analogout
2021-07-13 18:13:11 -07:00
Lucian Copeland bd39641f7e Fix PWM timer leak and varfreq conflicts 2021-07-13 18:05:47 -04:00
Scott Shawcroft c2685970af
Merge pull request #4987 from DavePutz/issue_4983
Fix for Issue #4983 - stop state machine before restarting
2021-07-13 12:16:33 -07:00
root 5c9823d8cb Change order of operations in restart 2021-07-13 11:17:03 -05:00
BoB LeSuer 35030fbb30 added pin object to analogout 2021-07-12 20:33:42 -04:00
Scott Shawcroft 9fdecacec7
Merge pull request #4903 from jepler/split-type-objects
Split type objects
2021-07-12 16:37:55 -07:00
root 490f263a41 Added code to reset SM program counter during a restart 2021-07-12 14:09:11 -05:00
Jeff Epler 1b2da0cda3 Rename mp_type_getbuffer -> mp_type_get_getbuffer_slot 2021-07-12 07:04:02 -05:00
Jeff Epler 52540a9830 Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
root 9d5fbea7a3 Fix for Issue #4983 - stop state machine before restarting 2021-07-11 21:02:28 -05:00
root 0ea750b2d0 Fix handling of short pulses 2021-07-11 16:38:24 -05:00
DavePutz 25e799e51a
Add LED and GP25 for Cytron Maker Pi Pico 2021-07-09 20:49:59 -05:00
Jeff Epler 7302bc09a7 rename the type flag to EXTENDED for consistency 2021-07-09 14:59:37 -05:00
Scott Shawcroft 58fdf9e940
Merge pull request #4975 from DavePutz/issue_4945
Issue #4945 - handle multiple PulseIns
2021-07-09 11:03:16 -07:00
Scott Shawcroft 0e88b77b3e
Merge pull request #4977 from pewpew-game/samd21-filesystem-size
Allow changing size of the filesystem on samd21 per board
2021-07-09 11:00:13 -07:00
Kattni Rembor 825a706135 Turn off MIDI on one build, fix name. 2021-07-08 17:31:10 -04:00
Radomir Dopieralski 92fa1055ef Allow changing size of the filesystem on samd21 per board
As the CircuitPython grows, it may at some point no longer be possible
to squeeze it on some of the flash-less SAMD21 boards, so it would be
good to have the option of shrinking the filesystem size on per-board
basis. This change allows to define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE
inside the board's mpconfigborard.h file.
2021-07-08 22:19:54 +02:00
root 4046b0fb0a Issue #4945 - handle multiple PulseIns 2021-07-08 14:09:21 -05:00
Dan Halbert ab52a92704 Disallow ctrl-C interrupts of RP2040 SPI and PIO 2021-07-08 13:42:24 -04:00
Dan Halbert a843b8a0d4 Merge remote-tracking branch 'adafruit/main' into rp2040-audio-and-spi-fixes 2021-07-08 08:22:21 -04:00
Dan Halbert bd6826496c Fix various RP2040 audio dma things: (see detailed commit message)
1. Check for correct error values from dma_claim_unused_channel.
2. Introduce a .stereo flag for simplicity.
3. Clarify PWM carrier frequency choice.
4. Start introducing quiescent audio value. Still need to ramp up/down.
5. Redo audio stop logic a bit.
6. Fix (unrelated) displayio dependency things.

There is still an interference problem between other DMA users and audio. Still debugging this.
2021-07-08 08:14:49 -04:00
microDev b4e763613a
delete ports/nrf/examples directory 2021-07-07 15:13:26 +05:30
root f98ec0cfd6 Fix formatting 2021-07-06 14:43:46 -05:00
root bfa777c55a Add check for timer success 2021-07-06 14:34:15 -05:00
Jeff Epler 0d756066e8 milestone: coverage make test_full passes 2021-07-06 10:37:32 -05:00
Jeff Epler cd119ca3ec Introduce, use getters for fields which will be optional in types 2021-07-06 09:15:01 -05:00
Daniel Griswold 2519b06478 fix spi definition 2021-07-06 01:15:32 -04:00
root b2e72b2912 fix formatting 2021-07-05 23:13:18 -05:00
root 6e4613f1a1 Fix formatting 2021-07-05 12:30:26 -05:00
root 9814386d2e Fix for issue #4937 - Implement minimum pulseout time 2021-07-05 11:38:05 -05:00
microDev cece6492a5
Merge pull request #4963 from rsbohn/main
Enable audiomixer for esp32s2.
2021-07-03 22:48:12 +05:30
Randall Bohn 6bb44674a5
Enable audiomixer for esp32s2.
Allows playing sounds via Mixer on I2SOut. Tested on the feathers2.
2021-07-03 04:34:55 -06:00
Dan Halbert c37f354d2d
Merge pull request #4958 from dhalbert/rp2040-audio-fixes
RP2040 PWMAudioOut: Release DMA channels after play has finished
2021-07-02 10:03:54 -04:00
microDev a4bd4e916b
esp32s2 - fix spi_never_reset() 2021-07-02 14:40:41 +05:30
Dan Halbert c7ffc2c10b
Merge pull request #4957 from tannewt/ble_serial
Add serial over BLE
2021-07-01 23:05:18 -04:00
Dan Halbert d886e8041d Turn off pwmio on meow meow for space reasons 2021-07-01 22:14:37 -04:00
Dan Halbert 33bbb8b1f4 RP2040 PWMAudioOut: Release DMA channels after play has finished. 2021-07-01 17:36:29 -04:00
Scott Shawcroft 3940878695
Shrink builds and handle 0-length writes 2021-07-01 12:49:11 -07:00
Scott Shawcroft f2ef586331
clean up 2021-06-29 11:54:15 -07:00
Scott Shawcroft 826e25989c
Merge pull request #4949 from pewpew-game/macropad-oled
MacroPad RP2040: Add initialization for the OLED display
2021-06-29 11:08:14 -07:00
Limor "Ladyada" Fried 176c5c5cd5
Merge pull request #4942 from pewpew-game/main
PewPew M4: use keypad instead of gamepad
2021-06-29 11:54:01 -04:00
Radomir Dopieralski b8c4f7d685 MacroPad RP2040: Add initialization for the OLED display 2021-06-29 17:38:14 +02:00
Radomir Dopieralski 1a076d34c9 PewPew M4: use keypad instead of gamepad
Since the new keypad module is taking over gamepad functionality,
I'm switching to it. If this works well, I will make the change
for the remaining boards.
2021-06-29 10:36:52 +02:00
Kattni Rembor 2c2d541e7c Adding pins to match silk and other RP2040 boards. 2021-06-28 17:10:15 -04:00
Scott Shawcroft 3177973843
Add BLE serial service 2021-06-25 15:00:10 -07:00
Lucian Copeland 696c035b67 Add STM32 sleep memory 2021-06-25 17:43:18 -04:00
Scott Shawcroft 5a4a80336f
Merge pull request #4195 from askpatrickw/update-idf
Update esp-idf to v4.3
2021-06-25 11:15:40 -07:00
Dan Halbert 769805c9bd
Merge pull request #4918 from tannewt/ble_workflow2
Enable a BLE workflow
2021-06-24 19:11:31 -04:00
Scott Shawcroft 061d3a16ff
Merge pull request #4911 from DavePutz/issue_4908
Fix for issue #4908 - pulseout leaving line high
2021-06-24 15:32:48 -07:00
Scott Shawcroft dc76306cfa
Enable a BLE workflow
nRF CircuitPython boards will now provide the file transfer
service defined here: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer

USB capable boards will only advertise if previously bonded to a
device or if the reset button is pressed during the fast blue
flashes on start up. When pressed, the board will restart again but
the blue period will not flash.

Boards without USB will always advertise.

When previously bonded, the advertisement is private so that no
other peers can connect. If advertising publicly, the tx power is
lowered to reduce the likelihood of bonding from a distance.

This PR also fixes issues with loading identities of bonded peers
so that our address can now be resolved and we can resolve others'
addresses when scanning.
2021-06-24 12:59:14 -07:00
microDev e0eecd2f76 update idf to v4.3
- update idf submodule to release/v4.3
- finish todo tasks held due to idf@v4.2
- update SPI & I2C to make them v4.3 compatible
2021-06-24 23:14:08 +05:30
Scott Shawcroft b81573d439
Merge pull request #4891 from dhalbert/keypad-scanning-events
keypad: support for vector and matrix key scanning
2021-06-24 10:25:21 -07:00
Tsutomu IKEGAMI 15fc4c21b6 Fix typo in pin names I2S_SDIN/SDOUT of Wio Terminal 2021-06-24 21:24:23 +09:00
Dan Halbert 836db4e4a1
Merge pull request #4816 from hierophect/rp2040-alarms
RP2040: add Alarm module
2021-06-24 08:15:57 -04:00
root ab1d7429f1 Fix for issue #4908 - pulseout leaving line high 2021-06-23 21:09:27 -05:00
Scott Shawcroft a7e353b80e
Merge pull request #4897 from jepler/merge-1.16
Merge 1.16
2021-06-23 10:15:10 -07:00
Jeff Epler 4fd946682d another file to remove 2021-06-22 14:00:58 -05:00
Jeff Epler 680ac9388f review suggestion: remove files 2021-06-21 19:51:03 -05:00
Dan Halbert 624a53adee
Merge pull request #4900 from hathach/fix-nrf-control-race-condition
update tinyusb to fix nrf control race condition
2021-06-21 09:39:43 -04:00
Dan Halbert ed41acd879 merge from upstream to fix translations 2021-06-21 08:26:44 -04:00
Lucian Copeland 1f3d69d87c Clean up sleep memory, mark as not-implemented 2021-06-20 17:57:51 -04:00
Limor "Ladyada" Fried 6dbeb75a4f
Merge pull request #4880 from jepler/esp32s2-imagecapture
Esp32s2: implement ParallelImageCapture
2021-06-19 16:17:56 -04:00
hathach b3a91220de fix build with esp32s2 2021-06-19 12:55:54 +07:00
Dan Halbert db297add67 fix other too-big builds 2021-06-18 13:20:31 -04:00
Dan Halbert 03adbbca7c turn off keypad by default on all SAMD21, for now 2021-06-18 12:26:48 -04:00
Jeff Epler e1d7e46e88 fix keyboard interrupt 2021-06-18 11:15:51 -05:00
Jeff Epler 8647097078 remove micropython board 2021-06-18 10:59:52 -05:00
Jeff Epler 7b46187024 Fix trailing whitespace 2021-06-18 10:58:30 -05:00
Jeff Epler 87d3740c64 Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
Damien George eb7ae538f9 esp8266/boards/GENERIC_512K: Add custom minimal _boot.py.
Commit 0abf6f830c removed _boot.py from the
manifest for the GENERIC_512K board because the build does not include a
filesystem.  But the main code expects _boot.py to be there and prints an
error if it's not.  So add a custom _boot.py, which just sets the
gc.threshold().

Signed-off-by: Damien George <damien@micropython.org>
2021-06-18 14:13:18 +10:00
Damien George 4eb13c50cd esp32/machine_sdcard: Use deinit_p to deinit SD bus in SPI mode.
Fixes issue #7352.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-18 09:55:22 +10:00
Dan Halbert 04b69cde9b turn off gamepad on most builds;turn off keypad where appropriate 2021-06-17 13:46:45 -04:00
Jonathan Hogg 89945b1989 esp32/machine_hw_spi: Allow None for unused pins in initializer.
Make the hardware SPI initializer method match the `init()` method by 
allowing `None` to be given for `sck`/`mosi`/`miso` to specify an unused 
signal.
2021-06-17 18:52:22 +10:00
Thomas Wenrich 060066804a esp32/modnetwork: Add "reconnects" option to WLAN STA interface.
This adds a wlan.config(reconnects=N) option to set the number of reconnect
attempts that will be made if the WLAN connection goes down.  The default
is N=-1 (infinite retries, current behavior).  Setting
wlan.config(reconnects=0) will disable the reconnect attempts.

A nice side effect of reconnects=0 is that wlan.status() will report the
disconnect reason now.  See related issue #5326.
2021-06-17 18:48:06 +10:00
Tobias Eydam 48437cec45 esp32/network_lan: Add Ethernet support for IDF v4.1 and above.
Ethernet-PHYs from ESP-IDF (LAN8720, IP101, RTL8201, DP83848) are now
supported in IDF v4.1 and above.  PHY_KSZ8041 is only for ESP-IDF 4.3 and
above.  ESP32S2 is not supported.

Signed-off-by: Tobias Eydam <eydam-prototyping@outlook.com>
2021-06-17 15:36:14 +10:00
Dan Halbert 4655a71793 Turn off keypad on some builds to avoid overflow 2021-06-15 14:11:04 -04:00
Dan Halbert f97e0ec631 fix ulab commit 2021-06-15 11:51:28 -04:00
robert-hh 8edc3aacdd mimxrt/modutime: Extend the time module.
Methods added:
- time.time()
- time.time_ns()
- time.gmtime()
- time.localtime()
- time.mktime()

The rp2 port was uses as the template for the change.
2021-06-16 01:50:09 +10:00
robert-hh 7417c6ac91 mimxrt/machine_pin: Implement pin.irq() functionality. 2021-06-16 01:42:10 +10:00
robert-hh 689476c576 mimxrt/machine_uart: Add the UART class to the machine module.
The implementation uses the LPUARTx devices.  Up to 8 UARTs can be used,
given that the pins are accessible.  E.g. 8 on Teensy 4.1, 5 on
MIMXRT1020_EVK.

For Tennsy 4.0 and 4.1 the UART numbers are as printed on the pinout 1..N.
The MIMXRT10xx-EVK boards have only one UART named, which gets the number
1.  All other UART are assigned to different Pins:

MIMXRT1010-EVK:
    D0/D1   UART 1
    D6/D7   UART 2
    A0/D4   UART 3

MIMXRT1020-EVK:
    D0/D1   UART 1
    D6/D9   UART 2
    D10/D12 UART 3
    D14/D15 UART 4
    A0/A1   UART 5

MIMXRT1050-EVK, MIMXRT1060-EVK, MIMXRT1064-EVK:
    D0/D1   UART 1
    D7/D6   UART 2
    D8/D9   UART 3
    A1/A0   UART 4
2021-06-16 01:21:15 +10:00
Dan Halbert a192f1ca2f merge from upstream 2021-06-15 11:21:08 -04:00
Tsutomu IKEGAMI fd222dd066 Fix typo in Wio Terminal pin board.I2S_BLCK to I2S_BCLK (bit clock) 2021-06-15 20:51:55 +09:00
Dan Halbert b151bee0a2
Merge pull request #4887 from mcauser2/tinys2spi
Change TinyS2 default SPI pins
2021-06-14 19:30:26 -04:00
Kattni Rembor 12d0e65a2a Space out pin groups. 2021-06-14 15:37:02 -04:00
Kattni Rembor f96642de25 Add A0 as alias to pot pin. 2021-06-14 15:32:12 -04:00
Mike Causer ceea6397a3 Change TinyS2 default SPI pins 2021-06-15 01:17:39 +10:00
Pavol Rusnak 95048129b1 unix: Fix build on arm64-darwin due to integer cast.
This fixes error: cast to smaller integer type 'int' from 'pthread_t'.
pthread_t is defined as long, not as int.

Signed-off-by: Pavol Rusnak <pavol@rusnak.io>
2021-06-15 00:08:24 +10:00
Krzysztof Adamski e7f7094ef6 rp2/machine_rtc: Check return value from rtc_set_datetime.
The rtc_set_datetime() from pico-sdk will validate the values in the
datetime_t structure and refuse to set the time if they aren't valid. It
makes sense to raise an exception if this happens instead of failing
silently which might be confusing (as an example, see:
https://github.com/micropython/micropython/pull/6928#issuecomment-860166044
).
2021-06-15 00:06:26 +10:00
iabdalkader 66115a3744 stm32/eth: Fix eth_link_status function to use correct BSR bit.
Fixes #7346.
2021-06-13 12:29:11 +10:00
iabdalkader 51614ce365 stm32/eth: Add low-power mode configuration option.
Add low power functionality configurable with:

    lan.config(low_power=True/False)
2021-06-13 12:27:33 +10:00
robert-hh 3ab8806c0d mimxrt/machine_rtc: Maintain microsecond offset.
The supplied value for microseconds in datetime() will be treated as a
starting value for the reported microseconds.  Due to internal processing
in setting the time, there is an offset about 1 ms.
2021-06-12 23:20:12 +10:00
robert-hh fd4eec5555 mimxrt/machine_rtc: Change RTC.datetime() tuple to match other ports.
This change moves the datetime tuple format back to the one used by all the
other ports:

    (year, month, day, weekday, hour, minute, second, microsecond)

Weekday is a number between 0 and 6, with 0 assigned to Monday.  It has to
be provided when setting the RTC with datetime(), but will be ignored on
entry and calculated when needed.

The weekday() method was removed, since that is now again a part of the
datetime tuple.

The now() method was updated so it continues to return a tuple that matches
CPython's datetime module.
2021-06-12 23:15:05 +10:00
Krzysztof Adamski 37d01d4be3 rp2/machine_rtc: Add initial support for RTC.
Initial support for machine.RTC on rp2 port. It only supports datetime()
method and nothing else. The method gets/returns a tuple of 8 items, just
like esp32 port, for example, but the usec parameter is ignored as the RP2
RTC only works up to seconds precision.

The Pico RTC isn't very useful as the time is lost during reset and there
seems to be no way to easily power up just the RTC clock with a low current
voltage, but still there seems to be use-cases for that, see issues #6831,
and a Thonny issue #1592. It was also requested for inclusion on v1.15
roadmap on #6832.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
2021-06-12 23:02:54 +10:00
Jeff Epler 1a06d06468 ulab: disable on several stm boards with constrained flash storage 2021-06-11 07:46:21 -05:00
IhorNehrutsa da8aad18a4 esp32/README: Describe how to select compatible version of existing IDF. 2021-06-11 19:52:10 +10:00
noslaver f314cac604 esp32/partitions-2MiB.csv: Update table so firmware fits.
The current MicroPython app size is larger than the size allocated in the
partitions table.
2021-06-11 17:57:40 +10:00
Damien George 865abba197 esp32/makeimg.py: Load sizes from partition table and verify data fits.
Changes introduced are:
- the application offset is now loaded from the partition table instead of
  being hard-coded to 0x10000
- maximum size of all sections is computed using the partition table
- an error is generated if any section overflows its allocated space
- remaining bytes are printed for each section

Signed-off-by: Damien George <damien@micropython.org>
2021-06-11 15:43:49 +10:00
Jeff Epler 2cbdd18a20 esp32s2: Implement parallel image capture 2021-06-10 11:27:49 -05:00
Jeff Epler 268717e427 ParallelImageCapture: Switch to taking a list of pins
.. adopting validate_pins from RGBMatrix into shared-bindings

.. updating other platforms for API change
2021-06-10 11:15:18 -05:00
Jeff Epler 7782bc2e2e Skeleton implementation, does nothing 2021-06-10 11:15:18 -05:00