Commit Graph

8812 Commits

Author SHA1 Message Date
Scott Shawcroft ab346a27fc
Merge pull request #6468 from blues/stm32_rtc
feat(swan_r5): adds a basic STM32 RTC implementation.
2022-06-13 09:00:09 -07:00
Scott Shawcroft 39b8c2c94e
Merge pull request #6453 from KurtE/ESP32_UART
ESP32 USE uart_param_config
2022-06-13 08:56:32 -07:00
Matthew McGowan beafbc7c60 enable RTC for all STM32 devices 2022-06-10 17:37:33 -07:00
Matthew McGowan 6ee8e00936 fix(stm32): correct include path after translation header was moved 2022-06-10 17:37:33 -07:00
Matthew McGowan a889638468 feat(swan_r5): adds a basic RTC implementation. 2022-06-10 17:37:32 -07:00
Dan Halbert 6e090c96a5 squeeze some specialized builds 2022-06-10 16:24:52 -04:00
Scott Shawcroft 6446010753
Wi-Fi autoconnect and title bar status
This adds support for CIRCUITPY_WIFI_SSID and CIRCUITPY_WIFI_PASSWORD
in `/.env`. When both are defined, CircuitPython will attempt to
connect to the network even when user code isn't running. If the
user code attempts to a network with the same SSID, it will return
immediately. Connecting to another SSID will disconnect from the
auto-connected network. If the user code initiates the connection,
then it will be shutdown after user code exits. (Should match <8
behavior.)

This PR also reworks the default displayio terminal. It now supports
a title bar TileGrid in addition to the (newly renamed) scroll area.
The default title bar is the top row of the display and is positioned
to the right of the Blinka logo when it is enabled. The scroll area
is now below the Blinka logo.

The Wi-Fi auto-connect code now uses the title bar to show its
state including the IP address when connected. It does this through
the "standard" OSC control sequence `ESC ] 0 ; <s> ESC \` where <s>
is the title bar string. This is commonly supported by terminals
so it should work over USB and UART as well.

Related to #6174
2022-06-09 14:55:54 -07:00
Pontus Oldberg 42f05a32a3
Merge branch 'adafruit:main' into main 2022-06-09 08:42:42 +02:00
Scott Shawcroft 9c20eb58e9
Merge pull request #6450 from mwisslead/rp2040_pulsein_common_hal_construct
Rp2040 pulsein improvements
2022-06-08 08:15:29 -07:00
Pontus Oldberg 5c13f844c7 Fixed pre-commit trailing whitespace 2022-06-08 16:43:49 +02:00
Pontus Oldberg 91000ea294 Adds support for Challenger RP2040 LoRa boards 2022-06-08 16:38:21 +02:00
Jeff Epler 0a38088075
Fix dependencies for translate.c again 2022-06-07 07:35:54 +02:00
Scott Shawcroft 2baf476530
Merge pull request #6463 from adafruit/7.3.x
Catch main up to 7.3.x
2022-06-06 11:58:05 -07:00
Scott Shawcroft 6b09f99eaa
Add back ULAB 2022-06-06 10:35:37 -07:00
Nathan Young 2f0d82a50b Disable board.SPI() for Challenger NB RP2040 WiFi
This was done as a result of an issue with the SPI pin mappings.
Please refer to the following for additional information: https://ilabs.se/challenger-rp2040-wifi-spi-bug
2022-06-06 09:52:23 +02:00
Dan Halbert 80ae14202a
Merge pull request #6416 from FoamyGuy/display_brightness_pwm
display brightness pwm 500hz frequency
2022-06-05 23:52:42 -04:00
Dan Halbert ac282b2a73
Merge pull request #6440 from tannewt/translate_header
Switch translate() to the header file
2022-06-05 23:50:47 -04:00
Dan Halbert a61c4c1af9
Merge pull request #6411 from fabaff/weact-studio-pico
Add support for WeAct Studio Pico
2022-06-05 19:17:56 -04:00
Fabian Affolter 7a073317f7 Update PID (0x102E) 2022-06-06 01:03:02 +02:00
Dan Halbert c149bbdcfc
Merge pull request #6447 from SimonVail/main
Add files via upload
2022-06-05 17:11:44 -04:00
Dan Halbert db6d506b15
Merge pull request #6456 from dhalbert/adafruit_feather_esp32s3_4mbflash_2mbpsram
add adafruit_feather_esp32s3_4mbflash_2mbpsram
2022-06-05 12:31:20 -04:00
foamyguy 67de89861e new argument for feather s3 tft display init 2022-06-04 11:36:45 -05:00
foamyguy 260994d16e Merge branch 'main' into display_brightness_pwm 2022-06-04 11:32:15 -05:00
foamyguy cbff9dd8e3 add new argument for all boards with built-in display 2022-06-04 11:08:20 -05:00
Scott Shawcroft be6936c8ec
Shrink MatrixPortal M4 build 2022-06-03 18:57:01 -07:00
Dan Halbert d1cdb72020
Update ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2022-06-03 18:21:20 -04:00
Scott Shawcroft be67067809
Merge remote-tracking branch 'adafruit/main' into translate_header 2022-06-03 15:18:18 -07:00
Matthew McGowan 78e4b9446b chore(swan_r5): pre-commit formatting 2022-06-03 15:12:41 -07:00
Scott Shawcroft a4a744bccc
Merge pull request #6441 from gamblor21/static_ip
Static IP address for WiFi
2022-06-03 14:56:08 -07:00
Matthew McGowan 113b070e77 fix(swan_r5): 3v3 was enabled but then immediately reset. Moved initialization to `reset_board` which happens after `reset_all_pins`. 2022-06-03 14:19:47 -07:00
Dan Halbert fdb133bbe8 add adafruit_feather_esp32s3_4mbflash_2mbpsram 2022-06-02 21:09:37 -04:00
Scott Shawcroft 0d257fc4f8
Fix mpy-cross and unix builds 2022-06-02 12:30:19 -07:00
Dan Halbert 27fb96e6b0
Remove trailing whitespace 2022-06-01 21:35:01 -04:00
Dan Halbert 3ff7ed75c6
Merge pull request #6346 from Neradoc/cpx-frozen-lite
Move frozen adafruit_circuitplayground to CPX subdirectory
2022-06-01 21:15:46 -04:00
gamblor21 40e890323b Add DNS optional to set IP 2022-06-01 20:13:51 -05:00
KurtE 14ab3c7375 ESP32 USE uart_param_config
Use this function instead of several individual configuration functions
to configure such things as Baud rate, transfer size, stop bits,
parity...

This function also resets both the RX and TX Hardware Fifo
reset functions are called to setup the hardware.
2022-06-01 17:09:44 -07:00
Scott Shawcroft 09c61efcff
Split partition from LTO enable 2022-06-01 11:12:14 -07:00
Scott Shawcroft 6d3698848c
Fix PDMIn.c formatting 2022-06-01 11:04:33 -07:00
gamblor21 4f6d4e2284 Doc fix and add set for DNS 2022-05-31 22:13:18 -05:00
Scott Shawcroft 7fc0aa5791
Fix windows and two samd builds 2022-05-31 14:48:41 -07:00
Scott Shawcroft 4d776339ad
Separate translate object control from LTO 2022-05-31 12:42:59 -07:00
SimonVail b2344bcde2
Update pins.c 2022-05-30 11:52:29 -04:00
SimonVail f36dbb386b
Add files via upload 2022-05-30 11:47:51 -04:00
EmergReanimator e8dd5d35d6 # WARNING: head commit changed in the meantime
Fixed STM SPI frequency settings.

Corrected default frequency settings in common_hal_busio_spi_construct.
Fixed common_hal_busio_spi_get_frequency.
2022-05-29 16:13:38 +02:00
foamyguy ffc451b338 argument for backlight_pwm_frequency and use it in pyportal titano build 2022-05-28 12:01:05 -05:00
Scott Shawcroft 3cc46c74b9
Fix compiles 2022-05-27 15:39:55 -07:00
gamblor21 90fe20a153 Adding manual IP address set 2022-05-27 15:33:54 -05:00
Scott Shawcroft 9d10a3da66
Conditionalize LTO 2022-05-27 12:59:54 -07:00
Scott Shawcroft c676253834
Switch translate() to the header file
This allows the compile stage to optimize most of the translate()
function away and saves a ton of space (~40k on ESP). *However*, it
requires us to wait for the qstr output before we compile the rest
of our .o files. (Only qstr.o used to wait.)

This isn't as good as the current setup with LTO though. Trinket M0
loses <1k with this setup.

So, we should probably conditionalize this along with LTO.
2022-05-27 10:33:53 -07:00
Scott Shawcroft dc5565a5ce
Merge pull request #6436 from dhalbert/judicious-lto
LTO: Use -flto and -flto-partition only as needed
2022-05-27 10:31:06 -07:00
Dan Halbert 947f564672 tune LTO on nrf 2022-05-26 22:16:41 -04:00
Scott Shawcroft 67e9fb13bc
Merge pull request #6437 from blues/7.3.x
swan_r5 improvements
2022-05-26 15:20:22 -07:00
Dan Halbert ca085150ee disable traceback on samd21; re-enable onewireio on Metro m0 2022-05-26 15:33:04 -04:00
Dan Halbert 95fc7e4713 harmless change to force all ports to build 2022-05-26 11:52:58 -04:00
Dan Halbert d74193c298 Use -flto and -flto-partition only as needed 2022-05-26 11:36:41 -04:00
George White 8539d6518e flip CTS and RTS pinmux to match RX and TX 2022-05-26 00:06:00 +00:00
George White 99b23b96d9 fix comment typo and mention datasheet 2022-05-26 00:03:46 +00:00
George White fb3077ccc2 Implement UART hardware flow control on SAMD chips 2022-05-25 21:34:06 +00:00
Matthew McGowan 321163da1a feat(swan_r5): blink the LED on startup. set VUSB_SELECT and DISCHARGE to floating to avoid any potential issues with them being outputs. 2022-05-25 14:22:19 -07:00
Matthew McGowan 65a5ad09ab feat(swan_r5): define an `ext` attribute on the board, which contains attributes for the extended set of castellated pins 2022-05-25 14:21:03 -07:00
Matthew McGowan 5bbaa3b732 feat(swan_r5): the upper 1MB of flash (bank 2) is made available for the filesystem 2022-05-25 14:19:35 -07:00
Matthew McGowan b607631ae1 feat(swan_r5): UF2 support, with UF2 family IDs assigned to stm32 chipsets. 2022-05-25 14:18:37 -07:00
Dan Halbert 38f91539dc
Merge pull request #6432 from CytronTechnologies/add-maker-zero-samd21
Add new board: Cytron Maker Zero SAMD21
2022-05-25 13:58:33 -04:00
Dan Halbert 1fb210bd40
Merge pull request #5491 from pypewpew/remove-gamepadshift
Remove gamepadshift module
2022-05-25 13:58:06 -04:00
Luqmanul Hakim Zulkifli aef5bc40fb
Deleted white spaces 2022-05-26 00:13:27 +08:00
Dan Halbert b143314b22 Espressif: fix allocation of multiple Incremental Encoders 2022-05-24 22:37:24 -04:00
Luqmanul Hakim Zulkifli 9ed71f0c09
Add Cytron Maker Zero SAMD21 2022-05-25 10:09:30 +08:00
Luqmanul Hakim Zulkifli 0b99967839
Add Cytron Maker Zero SAMD21 2022-05-25 10:08:58 +08:00
Luqmanul Hakim Zulkifli 46f4fcc42f
Add Cytron Maker Zero SAMD21 2022-05-25 10:08:17 +08:00
Luqmanul Hakim Zulkifli 9385f793dc
Add Cytron Maker Zero SAMD21 2022-05-25 10:07:33 +08:00
Luqmanul Hakim Zulkifli 6fa552e257
Delete board.c 2022-05-25 10:04:06 +08:00
Luqmanul Hakim Zulkifli 5453b331f7
Delete mpconfigboard.h 2022-05-25 10:03:53 +08:00
Luqmanul Hakim Zulkifli 8806f5b5d8
Delete mpconfigboard.mk 2022-05-25 10:03:45 +08:00
Luqmanul Hakim Zulkifli 9649d80ea3
Delete pins.c 2022-05-25 10:03:34 +08:00
Luqmanul Hakim Zulkifli 4e467b7f34
Add Cytron Maker Zero SAMD21 2022-05-25 09:46:20 +08:00
Radomir Dopieralski c0152e7dab Remove gamepadshift module
Everything should be using the keypad module instead.

Note: there are several boards that still had gamepadshift enabled. I
did not contact their authors to make sure they already switched to
keypad in their code and documentation. We should probably wait with
merging this for their go ahead.
2022-05-25 00:48:55 +02:00
Dan Halbert 791064a934
Merge pull request #6427 from dhalbert/8.0.0-onewireio
Remove busio.OneWire and bitbangio.OneWire in favor of onewireio.OneWire
2022-05-24 15:32:33 -04:00
Dan Halbert ecd30d2338
Merge pull request #6428 from dhalbert/8.0.0-restore-rainbowio
restore rainbowio to small builds
2022-05-24 15:32:08 -04:00
Dan Halbert 8665e85ea6
Merge pull request #6424 from ladyada/main
add esp32s3 tft
2022-05-24 15:31:48 -04:00
Dan Halbert 99d7d0d8bb Disable ulab for ESP32-S3 TFT 2022-05-24 14:59:34 -04:00
Scott Shawcroft 0ea72d61e0
Merge pull request #6425 from KurtE/teensy_retain_fs
Teensy Builds retain Filesystem
2022-05-24 11:03:47 -07:00
Dan Halbert 335c93c044 restore rainbowio to small builds 2022-05-24 12:34:08 -04:00
Dan Halbert 74c92ffe9e Remove busio.OneWire and bitbangio.OneWire 2022-05-24 12:26:33 -04:00
Paint Your Dragon 92fa02effa
Change 12- to 16-bit scaling to match other ports
Result is identical, implementation just resembles other ports instead of being all 1337 about it.
2022-05-24 08:49:05 -07:00
Paint Your Dragon c3f58193ca
Correctly scale analog reading per issue #4794 2022-05-24 08:46:39 -07:00
lady ada e22de975b3 try just bitbangio remove 2022-05-24 11:46:03 -04:00
Paint Your Dragon 5ef1f2dd5a
Correctly scale analog reading per issue #4794 2022-05-24 08:45:14 -07:00
Paint Your Dragon 44b31b098e
Correctly scale analog reading per issue #4794 2022-05-24 08:44:09 -07:00
Paint Your Dragon e9b9f0b13f
Correctly scale analog reading per issue #4794 2022-05-24 08:42:00 -07:00
Paint Your Dragon eefba16644
Correctly scale analog reading per issue #4794 2022-05-24 08:40:51 -07:00
lady ada 9439ce04bd try to remove some space? 2022-05-24 11:28:55 -04:00
KurtE d47662c448 Teensy Builds retain Filesystem
Changed a few things in the link step that satisfies the teensy
loader apps, both the teensy.exe as well as the teensy_loader_cli

such that when you program the board again it should retain the
file sytem that is stored in the upper area of the Flash
2022-05-24 07:06:16 -07:00
lady ada bb4beb3fab add esp32s3 tft 2022-05-23 23:57:35 -04:00
Neradoc 3179db4ef4 move frozen adafruit_circuitplayground to express subdirectory 2022-05-23 22:11:26 +02:00
Dan Halbert 64df933a83
Merge pull request #6422 from dahanzimin/main
Repair mixgo_ce frozen lib to frozen/
2022-05-23 15:00:42 -04:00
arturo182 0f1973b037
Merge pull request #6418 from solderparty/stamp_round_board
Add a Round Carrier board file to the RP2040 Stamp build
2022-05-23 19:42:56 +02:00
Scott Shawcroft 943ab120ad
Merge pull request #6414 from dhalbert/pico-sdk-1.3.1
update pico-sdk to 1.3.1
2022-05-23 07:31:05 -07:00
dahanzimin 6454c5895b Repair import and stock in under the frozen / directory 2022-05-23 11:19:11 +08:00
Michael Wisslead 2b0518233b rp2040 PulseIn improvements 2022-05-23 00:45:06 +00:00
Michael Wisslead 893fc66d16 Use common_hal_rp2pio_statemachine_construct for PulseIn 2022-05-23 00:45:06 +00:00
arturo182 d2d3b27822 Add a Round Carrier board file to the RP2040 Stamp build 2022-05-22 15:52:25 +02:00
Dan Halbert 6f4f7e089e
Merge pull request #6383 from dahanzimin/main
Add MixGo CE board
2022-05-22 08:47:53 -04:00
大汉子民 e5a5ffb9b0
Update board.c 2022-05-22 11:37:39 +08:00
dahanzimin 37e376631a Fix format issues 2022-05-22 11:22:58 +08:00
dahanzimin b62799a798 Add mixgo_ ce_ Serial function, repair sdkconfig 2022-05-22 10:42:56 +08:00
Dan Halbert 9c643aa907 Merge branch '7.3.x' into merge-7.3.0-rc.1-to-main 2022-05-21 12:57:46 -04:00
Dan Halbert 338e14d9d4 shrink arduino_mkr1300 2022-05-21 10:21:59 -04:00
dahanzimin 3e47d24fb9 Update submodule and create tag 2022-05-21 10:52:14 +08:00
Dan Halbert e852b28bb2 update pico-sdk to 1.3.1 2022-05-20 17:52:35 -04:00
Dan Halbert 309dab4c75 merge 7.3.0-rc.1 changes to main 2022-05-20 15:37:56 -04:00
Dan Halbert f63b26c534 address jepler's comments and further squeezes 2022-05-20 10:10:55 -04:00
Dan Halbert 3c20b5f95f use validator in mimx UART constructor 2022-05-20 00:04:49 -04:00
大汉子民 4356a12504
Update mpconfigboard.mk 2022-05-20 10:55:23 +08:00
大汉子民 73f2621cda
Repair No newline at end of file 2022-05-20 10:38:14 +08:00
大汉子民 525262cd9a
Merge branch 'main' into main 2022-05-20 10:04:02 +08:00
dahanzimin e3896be345 Modify mixgoce_ Lib is a submodule 2022-05-20 09:46:55 +08:00
Fabian Affolter f1f9ba2371 Add support for WeAct Studio Pico 2022-05-19 23:51:25 +02:00
Dan Halbert a01dec1df9 message consolidation and more use of validators 2022-05-19 15:38:37 -04:00
Neradoc 8987bf18d0 Add Winbond flash substitute to boards 2022-05-16 22:39:25 +02:00
Dan Halbert 624a00ac45 shrink circuitplayground_express_displayio 2022-05-14 08:54:46 -04:00
Dan Halbert 9fb4582cc8
Merge pull request #6393 from todbot/main
fix SPI pin names qtpy esp32s3
2022-05-13 21:54:55 -04:00
Dan Halbert 936f5bf23e
Merge pull request #6338 from jepler/fix-display-invalid-sh1107
Fix display invalid sh1107
2022-05-13 20:33:43 -04:00
Tod Kurt d2d08fc944 fix SPI pin names qtpy esp32s3 2022-05-13 16:48:13 -07:00
Dan Halbert 64ca3aa359
Merge pull request #6387 from SimonVail/main
Lilygo TTGO T-OI Plus ESP32C3
2022-05-13 18:31:50 -04:00
Dan Halbert 951eea7748
Merge pull request #6391 from tekktrik/doc/add-additional-builtins-docs
Add additional documentation for modules, builtin exceptions
2022-05-13 15:59:39 -04:00
Dan Halbert 28b14e05e3 shrink thunderpack_v12 2022-05-13 15:45:12 -04:00
SimonVail 1f0bdad083
Update ports/espressif/boards/lilygo_ttgo_t-oi-plus/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2022-05-13 15:02:26 -04:00
Kattni 395b550fe3
Merge pull request #6389 from tannewt/add_ble_user_reset
Add two stage reset for BLE
2022-05-13 14:28:43 -04:00
Dan Halbert 9028bf213d
Merge pull request #6331 from pypewpew/pewpew_lcd
Add new board pewpew_lcd
2022-05-13 12:33:08 -04:00
Alec Delaney 289fdc1241 Added link to library and guide for rp2pio 2022-05-13 11:15:26 -04:00
Scott Shawcroft 3e85cfe26b
Fix ESP and HCI build 2022-05-12 15:23:26 -07:00
SimonVail ef4d298ca8
Update pins.c 2022-05-12 17:49:48 -04:00
SimonVail 0d92b0a155
Update board.c 2022-05-12 17:46:49 -04:00
SimonVail b1935975a2
Update board.c 2022-05-12 17:27:48 -04:00
Scott Shawcroft 269d51d023
Add two stage reset for BLE
This lets the BLE stack run through the wait period after a VM run
when it may be waiting for more writes due to an auto-reload.

User BLE functionality will have their events stopped. Scanning and
advertising is also stopped.
2022-05-12 13:20:44 -07:00
SimonVail c5db1280ee
Update mpconfigboard.mk 2022-05-12 13:21:58 -04:00
SimonVail 6bdd128fb3
Add files via upload 2022-05-12 13:18:39 -04:00
SimonVail f69a293795
Create sdkconfig 2022-05-12 13:18:17 -04:00
SimonVail a4f505dcab
Delete ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3 directory 2022-05-12 13:17:17 -04:00
SimonVail 0b586e9c94
Update board.c 2022-05-12 12:43:52 -04:00
SimonVail 6fe728a9d2
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/pins.c
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:59 -04:00
SimonVail 6908f5a97e
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/board.c
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:52 -04:00
SimonVail b6e6ee7505
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/mpconfigboard.mk
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:44 -04:00
SimonVail b9ea7458ab
Add files via upload 2022-05-12 11:41:53 -04:00
SimonVail 35d78c135a
Create sdkconfig 2022-05-12 11:41:29 -04:00
SimonVail f86ebe71b6
Delete Lilygo-T-oi-Plus-ESP32C3 2022-05-12 11:40:16 -04:00
SimonVail 0d1740ad27
Create Lilygo-T-oi-Plus-ESP32C3 2022-05-12 11:39:39 -04:00
大汉子民 d4b02e22ae
Thank you. I have applied for PID in espressif 2022-05-12 09:38:13 +08:00
Kong Wai Weng b9c28742be Added newline at the end of the file. 2022-05-11 15:30:45 +08:00
Kong Wai Weng 466f2a3644 Updated copyright information. 2022-05-11 15:25:32 +08:00
Kong Wai Weng 142ed2a024 Added Maker Feather AIoT S3. 2022-05-11 15:18:31 +08:00
Scott Shawcroft 9743aea7aa
Merge pull request #6334 from BigTuna94/add-rp2.65-f
Add new Keyboard - RP2.65-F
2022-05-10 16:52:39 -07:00
Radomir Dopieralski e7735a3631 Add new board pewpew_lcd 2022-05-10 22:25:32 +02:00
dahanzimin d48f961d0a Add MixGo CE board 2022-05-10 18:56:13 +08:00
Dan Halbert aa625f5ce4
Merge pull request #6366 from dhalbert/espressif-i2c-delay-fix
apply i2c delay fix from adafruit/esp-idf
2022-05-08 21:41:46 -04:00
Dan Halbert bb46898572
Merge pull request #6361 from mwisslead/rp2040_pulsein_buffer_fix
Fix buffer issue for rp2040 PulseIn
2022-05-08 12:37:17 -04:00
Dan Halbert 8b026a2c38 apply i2c delay fix from adafruit/esp-idf 2022-05-08 09:49:18 -04:00
Jeff Epler 5f4f66774c
Merge pull request #6360 from jepler/statemachine-improvements
Statemachine improvements
2022-05-07 09:35:57 -05:00
Jeff Epler 561ed3739a
fix the docstrings 2022-05-07 07:49:16 -05:00
Dan Halbert 34427bd6ba
Update StateMachine.c 2022-05-06 22:36:24 -04:00
Michael Wisslead b7882edd01 Fix buffer issue for rp2040 PulseIn 2022-05-07 00:57:10 +00:00
Jeff Epler b482a732c6
StateMachine: add swap flag
Always use DMA if swap flag is enabled.

Improve docs a bit
2022-05-06 15:22:43 -05:00
Jeff Epler 23c0fc8354
add ability to get, clear txstall flag
This can be used to make sure a PIO has actually finished all data
it was schedule to receive via a 'once' background_write
2022-05-06 15:22:43 -05:00
Jeff Epler f776749ca3
Key off len, not buf, to decide if anything to DMA 2022-05-06 15:22:43 -05:00
Jeff Epler 1a9034ff7c
rp2pio: Allow background_write(None) to terminate after complete loop 2022-05-06 15:22:42 -05:00
Dan Halbert 5edc59f070
Merge pull request #6337 from jepler/property-storage
Optimize flash storage of properties
2022-05-06 09:55:18 -04:00
Dan Halbert 30904a8638
Merge pull request #6354 from dhalbert/espressif-dio-fixes
espressif: check properly for pull values
2022-05-05 22:44:29 -04:00
Guy Dupont 02ec1cebf6
Fix pin mapping for thing plus 2040
GPIO 26 was mapped to GPIO 28
2022-05-05 21:11:32 -04:00
Jeff Epler a9d929627a
minor comment update 2022-05-05 14:40:49 -05:00
Dan Halbert 0f3eb9f46e espressif: check properly for pull values 2022-05-04 22:51:27 -04:00
Dan Halbert 03b1a0284e
Merge pull request #6352 from billvanleeuwen424/removeDuplicateInclude
Removed duplicate include, fixes issue #6278
2022-05-04 21:47:17 -04:00
Dan Halbert 27cbf1321c
Merge pull request #6350 from dhalbert/samd-SRC_C-conditionals
Compile more SAMD things conditionally
2022-05-04 21:46:26 -04:00
billvanleeuwen424 76040a9380 removed duplicate include per issue 6278 2022-05-04 14:57:37 -04:00
Dan Halbert b71ea29a8b
Merge pull request #6330 from KurtE/rp2040_uart_rs485
[RP2040] Allow any GPIO pin for RS485 direction pin
2022-05-04 13:32:36 -04:00
Dan Halbert a7ec8b02e9
Merge pull request #6328 from KurtE/mixrt_uart_rs485
[mimxrt (teensy) Allow Any GPIO pin for RS485 pin
2022-05-04 13:30:09 -04:00
Dan Halbert 98ae047525 Compile more SAMD things conditionallly 2022-05-04 11:41:48 -04:00
Dan Halbert e25e177a6f
Merge pull request #6343 from dhalbert/missing-board-LED
add board.LED to Metro M4 AirLift LIte and PyRuler
2022-05-03 19:17:04 -04:00
KurtE 6378343bb3 As I mentioned in issue #6332,
there return of a read operation that times out with no data received
is inconsistent:
```
Adafruit CircuitPython 7.3.0-beta.1-31-g73f6b4867-dirty on 2022-04-30; Adafruit Feather RP2040 with rp2040
>>>
>>> import board, busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 6.3.0 on 2021-06-01; FeatherS2 with ESP32S2
>>> import board,busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 7.3.0-beta.1 on 2022-04-07; Adafruit Feather STM32F405 Express with STM32F405RG
>>> import board, busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 7.3.0-beta.1-31-g73f6b4867-dirty on 2022-04-28; Teensy 4.1 with IMXRT1062DVJ6A
>>> import board, busio
>>> print(board.UART().read(5))
b''
```

Since I have a PR on this file anyway, I thought I would put in the change to make it consistent
with the other 3 board types I tried.  Can not say about any of the others.
2022-05-03 13:39:49 -07:00
Dan Halbert b181caaefc add board.LED to Metro M4 AirLift LIte and PyRuler 2022-05-03 16:08:01 -04:00
Jeff Epler 7d7986b041
Add NEOPIXEL pin
Closes: #6307
2022-05-03 12:21:15 -05:00
Jeff Epler 510890b207
Enable squeezing property storage in flash
.. and enable it on atmel-samd and raspberrypi. On trinket_m0 this saves
96 net bytes of flash. There are 216 bytes actually saved by reducing
the flash storage size of the property descriptors, but added code in
several paths takes back over half of the 'raw savings'.

By organizing the "get-only" and "get-set" (but no delete) properties
each in a different section, we can represent then more efficiently.

Testing performed: that a get-only property can still be gotten but
can't be set or deleted; that a get-set property can sill be gotten or
set but can't be deleted.  Tested on pygamer.

Because this requires linker file support, I only enabled it on two of
the ports.
2022-05-03 08:48:53 -05:00
Jeff Epler 78cf0a90af
Make MP_PROPERTY_GETTER / _GETSET fully declare the property
This will enable setting data attributes, namely, the section of the
symbol.
2022-05-03 08:48:53 -05:00
Jeff Epler 31da335cac
Introduce, use MP_PROPERTY_GETTER, _GETSET
Later, these can be changed in cunning ways to save flash storage.
2022-05-03 08:48:52 -05:00
Zach Richard a23ede8bc4
update USB VID/PID codes to match pidcodes request 2022-05-02 19:49:30 -04:00
Tod Kurt 7e622c3ff7 mpconfigboard.h also needs neopixel tweak 2022-05-02 13:23:55 -07:00
Tod Kurt 5d4e964de0 fix qtpy_esp32s3_nopsram neopixel pins 2022-05-02 13:04:05 -07:00
KurtE 1fad381513 [RP2040] Allow any GPIO pin for RS485 direction pin
As I mentioned in issue #6310 while investigating that the Teensy port
did not support RS485_dir pin on normal GPIO pins, I found that it
was not implemented either as well on some other ports.

So was curious to implement it for RP2040 using same approach as I did
for the MIMXRT in the Pull Request #6328

That is I setup the specified pin as a normal GPIO pin in output mode
and then when you do a write operation it sets the GPIO pin logically
high, and when the write completes I set it logically low.

Note: knowing when I can set it low can be tricky, as you need to make
sure the full output has completed otherwise the data will be corrupted.

I am using:         uart_tx_wait_blocking(self->uart);
Which looks like it is supposed to wait until the busy status is no
longer set, which the Reference manual mentioned, but this is leaving
the line logically set longer than I would like.

however I have tried running it with my hacked up version of the
Python Robotis DynamixelSDK and was able to talk to some AX servos.

I did have to change the library slightly for the RP2040, as the
library was erroring out when you did something like uart.read(5)
and it timed out without receiving anything.  The RP2040 returned
None whereas I think the Teensy returned an empty set, which is what
it looks like the PySerial original code expects.

Not sure if anyone is interested in this, but thought i would
put it out as PR and see.
2022-04-30 14:31:08 -07:00
Dan Halbert 816a26e8b7
Merge pull request #6321 from dhalbert/samd21-ticks-for-display
Preserve ticks for displays across VMs
2022-04-28 09:37:21 -04:00
Michael Wisslead e63a327107 Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00:00
Dan Halbert b25d810af9 Preserve ticks for displays across VMs 2022-04-27 20:06:47 -04:00
KurtE 73f6b48676 [mimxrt (teensy) Allow Any GPIO pin for RS485 pin
The existing code was setup that allowed you to specify an RTS
pin to be used as an RS485 direction pin, however there are no
RTS pins that are exposed on any of the Teensy 4.x boards.

Instead Arduino code base allowed you to specify any GPIO pin to
work instead.  So I added the code in to facilitate this.

In addition the alternative code to wrap your own GPIO pin set high and low
around call(s) to uart.write() will not currently work, unless maybe you
fudge it and add your own delays as the write will return after the last
byte was pushed onto the UART’s hardware FIFO queue and as such if you
then immediately set the IO pin low, it will corrupt your output stream.

The code I added detects that you are setup to use the RS485 pin and
before it returns will wait for the UART’s Transfer complete status flag
to be set.
2022-04-27 11:26:08 -07:00
Dan Halbert b7541088f4 shrink circuitplayground_express_crickit 2022-04-26 17:51:47 -04:00
Dan Halbert 7a77aae4be shrink feather_m0_supersized 2022-04-26 16:52:43 -04:00
Dan Halbert 6b25ccf1a4 remove stray space 2022-04-26 14:26:42 -04:00
Dan Halbert 63abd9a9cf
Merge pull request #6312 from dhalbert/adjust-neopixel-timings
test and adjust NeoPixel timings on multiple ports
2022-04-26 13:18:47 -04:00
Dan Halbert 3a8fb4e956
Merge pull request #5852 from jepler/floppy
Add floppyio
2022-04-26 11:40:19 -04:00
Dan Halbert c8e8171cec
Merge pull request #6300 from jepler/pio-continuous
rp2040: add a background write with looping to StateMachines
2022-04-26 10:09:02 -04:00
ZodiusInfuser 910662e833 Finalised motor 2040 pins 2022-04-26 12:56:31 +01:00
ZodiusInfuser 1ccf767112
Merge branch 'adafruit:main' into motor 2022-04-26 10:23:14 +01:00
Dan Halbert 4eeaf41edc test and adjust NeoPixel timings on multiple products 2022-04-25 23:12:24 -04:00