Commit Graph

10627 Commits

Author SHA1 Message Date
Jeff Epler f40504b7bc
enable MP3 2023-03-22 12:16:29 -05:00
Jeff Epler 04bb0513df
enable audiomixer 2023-03-22 12:16:26 -05:00
Jeff Epler c6bc9c48c9
mimxrt10xx: implement i2sout
tested on metro m7 (green prototype version) with max98357a i2s amplifier and the following test code:
```py
import board
import time
import digitalio
from audiobusio import I2SOut
from audiocore import RawSample
from microcontroller import pin
from ulab import numpy as np

n = np.array(np.sin(np.linspace(0, np.pi*2, 218, endpoint=False)) * 200, dtype=np.int16)
print(n)
r = RawSample(n, sample_rate=8000, channel_count=2)
def main():
    with digitalio.DigitalInOut(board.LED) as l:
        l.switch_to_output(True)
        value = False
        while True:
            with I2SOut(pin.GPIO_06, pin.GPIO_07, pin.GPIO_04) as i:
                time.sleep(.01)
                l.value = value = not value
                i.play(r, loop=True)
                print(i.playing)
                time.sleep(.5)
                i.stop()
                print("STOPPED")
                print(i.playing)
                time.sleep(.5)
                i.play(r, loop=True)
                print(i.playing)
                print("PLAY AGAIN")
                time.sleep(.5)
            time.sleep(1)
```

Only stereo, 16-bit, raw samples were tested; the sample rate is actually fixed
at 48kHz in the core right now. There is more to do, but the basics work.

# Conflicts:
#	ports/mimxrt10xx/Makefile
#	ports/mimxrt10xx/mpconfigport.mk
2023-03-22 12:15:25 -05:00
Dan Halbert 45257147dc
Merge pull request #7772 from jepler/fix-struct-pack
struct: Check that argument counts match, similar to cpython3
2023-03-22 13:11:34 -04:00
Jeff Epler 1e1172bc24
fix sorting of block 2023-03-22 12:04:34 -05:00
Jeff Epler 08358ecd50
constify spi, i2c, uart bank data 2023-03-22 12:03:20 -05:00
Scott Shawcroft e1f16472c1
Merge pull request #7766 from tannewt/switch_nxp_sdk
Switch iMX RT sdk to NXP repo
2023-03-22 09:57:12 -07:00
Jeff Epler 349dedca54
struct: Check that argument counts match, similar to cpython3
.. and test our struct module during the build-time tests

Closes #7771
2023-03-22 09:35:09 -05:00
Dan Halbert c93560144b
Merge pull request #7678 from FoamyGuy/boundary_fill_background_tasks
do background tasks and handle interrupt during boundary fill
2023-03-21 23:38:05 -04:00
Scott Shawcroft 9c3c0555dd
Switch iMX RT sdk to NXP repo
Fixes #7645
2023-03-21 16:21:57 -07:00
Scott Shawcroft 67e0a49a1f
Merge pull request #7724 from tannewt/get_perfbench_running
Improve iMX RT performance
2023-03-21 09:00:48 -07:00
Neradoc b45d128726 fix lwip name in 01space_lcd042_esp32c3 2023-03-21 16:46:08 +01:00
Neradoc 36e4dc2588 Adding 01space OLED 0.42 C3 2023-03-21 05:01:17 +01:00
Scott Shawcroft 41a8ada327
Merge pull request #7750 from Neradoc/add-ttgo-tdisplay-esp32
Add Lilygo TTGO T-display ESP32 board
2023-03-20 14:40:16 -07:00
Scott Shawcroft 32a596df39
Merge pull request #7757 from adafruit/8.0.x
Merge latest 8.0.x changes
2023-03-20 14:34:59 -07:00
Scott Shawcroft b75d99c5d7
Merge pull request #7745 from Neradoc/lilygo-twatch-v3-MAIN
Add Lilygo T-Watch 2020 V3 (ESP32)
2023-03-20 14:31:32 -07:00
Scott Shawcroft bdf592089a
Fix .bin, .hex and .uf2 with new linker sections
Also, format perfbench output in table with reference timing from
the host.
2023-03-20 14:02:57 -07:00
Jeff Epler 3ac696e7ba
Merge pull request #7731 from kreasteve/statemachine_run_fix
Statemachine run fix
2023-03-19 20:47:09 -05:00
Neradoc b88e76d3a4 Add builtin display support with shared board.I2C to Lolin S2 Pico 2023-03-19 17:48:36 +01:00
hathach fecc1bdedb
fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
Neradoc e7c349ea43 Add Lilygo TTGO T-display ESP32 board 2023-03-18 15:27:59 +01:00
Neradoc f1b7612b5a Add Lilygo T-Watch 2020 V3 (ESP32)
- DISPLAY is in, brightness is ok
- default busses and pin names
- enabled PSRAM
2023-03-18 01:17:46 +01:00
Dan Halbert ca292f3427 Turn off mkfs FAT32 on all SAMD21 builds; note in doc 2023-03-17 12:18:24 -04:00
Benjamin Shockley f35af4c9ce
Update mpconfigboard.mk
Added trailing line
2023-03-16 16:54:55 -05:00
Benjamin Shockley d59a57ecc9
Update pins.c
Changed GIO00 to GIO0
2023-03-16 16:54:38 -05:00
Benjamin Shockley eab8633a9e
Updated Fig Pi Pins and Added Memory Option
Updated the Fig Pi pin definition to match latest production and fix errors.  Added an optional memory chip for parts shortage issues.
2023-03-16 16:41:49 -05:00
kreasteve 208c081c95 bugfix_#7706 2023-03-16 11:10:57 +01:00
kreasteve d7fb21ec76 Revert "bugfix"
This reverts commit 4f1627f68e.
2023-03-16 11:02:41 +01:00
kreasteve 4f1627f68e bugfix 2023-03-16 10:56:22 +01:00
MicroDev 37b9f778e1
Merge pull request #7237 from kdb424/main
Add Boardsource Blok
2023-03-16 00:02:10 +05:30
Kyle Brown 6062e75b08 add Blok 2023-03-15 08:58:53 -07:00
foamyguy f2931dec7a empty RUN_BACKGROUND_TASKS for unix port 2023-03-14 18:26:23 -05:00
Scott Shawcroft 5bb8a7a7c6
Improve iMX RT performance
* Enable dcache for OCRAM where the VM heap lives.
* Add CIRCUITPY_SWO_TRACE for pushing program counters out over the
  SWO pin via the ITM module in the CPU. Exempt some functions from
  instrumentation to reduce traffic and allow inlining.
* Place more functions in ITCM to handle errors using code in RAM-only
  and speed up CP.
* Use SET and CLEAR registers for digitalio. The SDK does read, mask
  and write.
* Switch to 2MiB reserved for CircuitPython code. Up from 1MiB.
* Run USB interrupts during flash erase and write.
* Allow storage writes from CP if the USB drive is disabled.
* Get perf bench tests running on CircuitPython and increase timeouts
  so it works when instrumentation is active.
2023-03-14 12:30:58 -07:00
Dan Halbert d4840cbf10 translate() messages must be one string 2023-03-14 13:13:58 -04:00
Dan Halbert 9083ae02de
Merge pull request #7710 from PaintYourDragon/pb-feather-dvi
Add Feather RP2040 DVI
2023-03-14 13:10:47 -04:00
Scott Shawcroft 141a43cdce
Merge pull request #7702 from dhalbert/tinyusb-update
update tinyusb to latest
2023-03-14 09:59:45 -07:00
hathach b432cf6201
fix rp2040 with new shared irq usb handler 2023-03-13 22:46:27 +07:00
Matthias Kreier f5b8b8d6f2
tailing whitespace removed (pre-commit run failed) 2023-03-13 15:30:52 +07:00
Matthias Kreier 49e9ea2e9a
add missing pins 4, 36 and 39 - and 4 aliases
The original list left D4 (GPIO4), VN (GPIO39) and VP (GPIO36) out.

Added aliases for 1, 3, 16 and 17 with their GPIO names, even though they won't be used as such since they are UART0 and UART2
2023-03-13 15:17:55 +07:00
Dan Halbert daa927a114 switch STM to dwc2 USB 2023-03-12 14:02:38 -04:00
MicroDev 7163ab390c
Merge pull request #7715 from bill88t/waveshare_esp32s2_pico
Even more board definition improvements for `waveshare_esp32s2_pico`
2023-03-12 07:46:42 +05:30
Bill Sideris bfc551c158
Invert led 2023-03-11 14:14:47 +02:00
Bill Sideris 76e83a432c
Debug uart, default spi/i2c 2023-03-11 14:05:45 +02:00
MicroDev 5f0aa4a608
change board config of some esp32s3 boards
- remove unnecessary optimization flags
- shrink adafruit_feather_esp32s3_reverse_tft
2023-03-11 08:53:44 +05:30
Paint Your Dragon ff0a17d095
Merge branch 'adafruit:main' into main 2023-03-10 13:45:53 -08:00
Dan Halbert b6a7613350
Merge pull request #7470 from microdev1/espnow
Add ESP-NOW Support
2023-03-10 12:21:56 -05:00
BrainBoardz 838450643e
Merge branch 'adafruit:main' into main 2023-03-10 09:50:27 -05:00
Dan Halbert 0f31ba676b update errata fixes for RP2040 2023-03-09 17:40:53 -05:00
Dan Halbert 353411af4b
Merge pull request #7701 from dhalbert/background-task-for-7673
run background tasks during multi-part DMA
2023-03-09 17:25:42 -05:00
MicroDev 58f28b98be
minor doc fix
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-03-10 00:01:44 +05:30
Scott Shawcroft fe40035cb9
Merge pull request #7697 from dhalbert/pico-sdk-cyw43-update
pico-sdk to 1.5.0; cyw43-driver to 0.9.0
2023-03-09 10:02:45 -08:00
Scott Shawcroft fcc4299b92
Merge pull request #7686 from gamblor21/esp_family_spi_speed_increase
ESP32 Family: Add multiple transctions to SPI for improved efficency
2023-03-09 10:01:02 -08:00
Dan Halbert 96e2a72d71 run background tasks during multi-part DMA 2023-03-09 11:53:16 -05:00
Dan Halbert 2ebc0ea51c
GitHub online editor introduced spaces on blank lines :( 2023-03-09 11:30:38 -05:00
Dan Halbert de3c5ad2f4
add blank lines around aliased pins 2023-03-09 11:00:55 -05:00
BrainBoardz 0054362784
Updated Pin Assignments (Add SPI definition)
Changed incorrect i2C pins assignment in mpconfigboard.h (changed SDA/SCL to GPIO 8/GPIO 9. 
Rename  SD_MOSI, SD_MISO and SD_SCK to MOSI, MISO and SCK
Added SPI define in mpconfigboard.h for SPI
2023-03-09 10:26:54 -05:00
MicroDev 874ba4ec68
revert `Communicate` class and more 2023-03-09 12:04:50 +05:30
Dan Halbert fef9571400 pico-sdk to 1.5.0; cyw43-driver to 0.9.0 2023-03-08 22:43:12 -05:00
gamblor21 ab70506178 Move background tasks to slower routine 2023-03-08 16:14:58 -06:00
BrainBoardz 6da2ca6770
Update pins.c
Added a comma (,) to the the end of the definition for board_spi_obj
2023-03-08 16:46:31 -05:00
BrainBoardz 1200fe405f
Change GPIO pins for SDA and SCL
Chnage the SDA pin define to GPIO9 and SCL pin define to GPIO8. This now matches the currect GPIO pins numbers in pins.c
The previous GPIO pins number in mpconfigboard.h were incorrect
2023-03-08 16:38:16 -05:00
BrainBoardz c133e79a08
Updated mpconfigboard.h
Add #defines for SPI_BUS_SCK, SPI_BUS_MOSI and SPI_BUS.MISO
2023-03-08 16:31:47 -05:00
BrainBoardz 7f8a3052be
Updated Pins.c definitions for SPI and I2C
Removed "CD" from the pin definitions for (MISO, MOSI and SCK pins). Specifically Pins 13, 15 and 14. Added Pin definitions for I2C and SPI objects
2023-03-08 16:25:18 -05:00
Phillip Burgess fa55669da5 Merge branch 'main' of https://github.com/PaintYourDragon/circuitpython 2023-03-08 12:55:23 -08:00
Phillip Burgess a2514ca304 Add board adafruit_feather_rp2040_dvi
Based on Feather RP2040 SCORPIO, but new USB PID (from MBAdafruitBoards/Production) and pin name changes for GP16-23 (CKN/CKP etc., from board schematic).
2023-03-08 11:37:51 -08:00
Scott Shawcroft 35e82a5f5e
Merge pull request #7676 from microdev1/ci
CI: Enhancements & Refactoring
2023-03-08 10:36:05 -08:00
gamblor21 7f5f93126c Move background task check 2023-03-06 16:26:22 -06:00
gamblor21 dd05118645 Add multiple transctions to SPI 2023-03-05 22:59:10 -06:00
Dan Halbert bd889926e5
Merge pull request #7679 from dhalbert/socket-fix
be more careful when setting socket to non-blocking
2023-03-04 16:07:02 -05:00
Dan Halbert 08c9eb9f00 be more careful when setting socket to non-blocking 2023-03-04 14:40:06 -05:00
Jeff Epler 4e169bb956
Merge pull request #7673 from gamblor21/atmel-spi-tx-len-fix
Fix for long length SPI writes on ATMEL
2023-03-04 09:21:27 -06:00
MicroDev b17364a447
conditionally build all languages 2023-03-04 15:08:54 +05:30
Scott Shawcroft 8a10069995
Merge pull request #7674 from jepler/m7-bootloader-reset
use right DBL_TAP_REG when resetting to bootloader
2023-03-03 13:44:22 -08:00
Jeff Epler b2a08e2cce
use right DBL_TAP_REG when resetting to bootloader
This helps my development scripts work better, and probably also fixes
a problem switching from the circuitpython environment back to arduino.
(specifically, the "1200 baud" serial trick was not rebooting into
the bootloader but was just resetting)
2023-03-03 10:09:31 -06:00
gamblor21 6987d3d752 Fix for long length writes 2023-03-02 21:55:21 -06:00
Matthew McGowan e2c6cf5929 fix: Increases drive strength of 32kHz external crystal, in line with calculations specified in ST AN2867 sections 3.3, 3.4, and STM32L4 datasheet DS12023 Table 58. LSE oscillator characteristics.
The drive strength RCC_LSEDRIVE_LOW is marginal for the 32kHz crystal oscillator stability, and RCC_LSEDRIVE_MEDIUMLOW meets the calculated drive strength with a small margin for parasitic capacitance.
2023-02-28 14:34:10 -08:00
Dan Halbert 859a48723f
Merge pull request #7633 from tannewt/fix_imx_pwm
Fix `pwmio` on iMX RT.
2023-02-28 14:11:06 -05:00
Scott Shawcroft 8e4626ffba
Merge pull request #7559 from startup-potech/main
Request to add a COSMO-Pico board
2023-02-28 09:49:31 -08:00
Scott Shawcroft 482ba05958
Merge pull request #7658 from titimoby/8.0.x.add_Lilygo_tembed
add support Lilygo T-embed esp32s3 board
2023-02-28 09:45:21 -08:00
Thierry Chantier c6d38e4ba8 add support Lilygo T-embed esp32s3 board 2023-02-28 14:02:21 +00:00
Neradoc f22f2a3662 enable bus device on hallowing M0 2023-02-27 18:44:08 +01:00
MicroDev 26bab620f7
Merge pull request #7626 from bill88t/wspico-psram-speedup
Waveshare ESP32-S2 Pico psram definition improvements
2023-02-25 16:15:24 +05:30
Dan Halbert f9831b3bbc
Merge pull request #7639 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-24 19:32:09 -05:00
Dan Halbert 8c714ec864
Merge pull request #7497 from tannewt/banglejs2
Add Bangle.js 2, JDI memory displays and ACeP epd
2023-02-24 18:20:06 -05:00
Scott Shawcroft adf5b7a23c
Merge pull request #7602 from milindmovasha/espressif-analogbufio
Espressif analogbufio implementation
2023-02-24 13:09:27 -08:00
Scott Shawcroft 144aed40e3
Rename flag. Turn on UTF-8 and flag on unix
Also added label portion to the test.
2023-02-24 12:23:59 -08:00
Scott Shawcroft f832386cda
Merge remote-tracking branch 'adafruit/main' into banglejs2 2023-02-23 14:43:38 -08:00
Scott Shawcroft b79661d631
Alphabetize, fix typo and remove incorrect comment 2023-02-23 14:34:54 -08:00
Dan Halbert 8996fda049
"an array" -> "array" 2023-02-23 13:55:52 -05:00
Dan Halbert 9058beb573
"a array" to "an array" 2023-02-23 13:41:49 -05:00
Scott Shawcroft d5e936ce7b
Merge pull request #7628 from RetiredWizard/broadcomspi
Port/Broadcom Switch to "unmeasured" core clock speed check
2023-02-23 09:53:38 -08:00
Milind 9e73e8351a
Calling stop_dma function while retruning errors from start_dma after configuring dma 2023-02-23 14:47:05 +05:30
Milind 09f84e3513
Changed the code structure to start and stop dma from readinto function as per review comment to support one shot conversion mode for analogbufio
Added check for verifying the buffer type passed to readinto is H
2023-02-23 13:32:48 +05:30
RetiredWizard ea8dd95931 Update common-hal routines with new params 2023-02-22 23:04:41 -05:00
RetiredWizard 08ac95a2eb Added updated submodule back 2023-02-22 23:03:53 -05:00
RetiredWizard 7cfc689f72 Removed peripherals submodule 2023-02-22 22:59:55 -05:00
RetiredWizard c8dd0369a4 Added broadcom-peripherals back in 2023-02-22 20:12:39 -05:00
RetiredWizard 9cc27be0bf Removed broadcom-peripherals 2023-02-22 20:00:53 -05:00
Dan Halbert 460dda0426
Merge pull request #7616 from dhalbert/8.0.x-fix-atmel-uart
Fix pad assignments on atmel-samd UART
2023-02-22 17:24:29 -05:00
Scott Shawcroft 1acf65ee22
Fix `pwmio` on iMX RT.
It now handles deinit, never_reset and sharing tracking. PWM
now runs in the WAIT state as well during a time.sleep().

_reset_ok() was removed because it was called in one spot right
before deinit().

Some PWMOut were also switched to a bitmap for use instead of
reference count. That way init and deinit are idempotent.

Fixes #6589. Fixes #4841. Fixes #4541.
2023-02-22 11:22:39 -08:00
Bill Sideris 1461e9448d
Merge branch 'adafruit:main' into wspico-psram-speedup 2023-02-22 20:30:54 +02:00
Scott Shawcroft c2c7b9345e
Merge pull request #7625 from ftab/ftab-lyrat
Add ESP32-LyraT board
2023-02-22 10:27:40 -08:00
Scott Shawcroft b67c0b7949
Merge pull request #7585 from bill88t/settings-toml-pystack
Settings.toml-configurable pystack
2023-02-22 10:13:31 -08:00
RetiredWizard c73f008688 Make vcmailbox call change for AUX SPI instances 2023-02-22 11:58:13 -05:00
Jeff Epler de9233f84a
raspberrypi: SSLSocket: raise OSError when appropriate
Rather than returning the negative error value.

This is intended to close #7606, though I did not test with mqtt.
Instead, I created a simple standalone test program:
```python
import wifi, socketpool, ssl, time
#wifi.radio.connect(<omitted>)
import socketpool
socket = socketpool.SocketPool(wifi.radio)
ctx = ssl.create_default_context()

b = bytearray(8)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sss = ctx.wrap_socket(s, server_hostname='example.com')
sss.connect(('example.com', 443))
sss.setblocking(False)
r = sss.recv_into(b)
print(r, b)  # prints 4294967285 which is -11 as unsigned
sss.close()
```

Before the change, r was the out of range value 4294967285. After the
change, the recv_into call raises OSError instead.

This is comparable to the behavior on standard Python, though an
SSLWantReadError is raised instead.

The original (mis)behavior seems to match what was uncovered deep inside
minimqtt by adding logging:
```
370.578: DEBUG - PKT: _sock_exact_recv: recv_len = 4294967285
```
2023-02-22 10:07:48 -06:00
Dennis Field d1f5004121 Add ESP32-LyraT board 2023-02-22 10:54:44 -05:00
Bill Sideris 1d12014ec7
disable pixelmap 2023-02-22 13:31:15 +02:00
RetiredWizard 7c717a54f3 Switch to "unmeasured" core clock speed check 2023-02-21 22:10:36 -05:00
Bill Sideris 1ea118684c
120M qspi 2023-02-22 00:49:55 +02:00
Dan Halbert c7d9eecfd6
Merge pull request #7623 from DavePutz/issue_7606
Correctly raise OS error in socketpool_socket_recv_into()
2023-02-21 16:17:30 -05:00
Scott Shawcroft de5f58a61d
Merge branch 'main' into banglejs2 2023-02-21 12:04:28 -08:00
Scott Shawcroft a8b34bd067
Merge pull request #7549 from gamblor21/gif_displayio_support
Animated GIF support
2023-02-21 11:39:29 -08:00
root 7e6e824d56 Correctly raise OS error in socketpool_socket_recv_into() 2023-02-21 13:38:29 -06:00
Bill Sideris 650c4c5d92
pystack+ rainbow- 2023-02-21 20:50:07 +02:00
Bill Sideris 5dba32ed07
Try to pass ci with rainbowio 2023-02-21 17:42:08 +02:00
Bill Sideris b0384b5721
Merge branch 'adafruit:main' into settings-toml-pystack 2023-02-21 13:35:19 +02:00
Dan Halbert 8ffa7b1d55 Add Adafruit HUZZAH32 breakout 2023-02-20 20:04:22 -05:00
Dan Halbert 2684aeb838 don't check for RX and TX both none in ports: now checked in shared-bindings 2023-02-20 19:11:16 -05:00
Dan Halbert 6d51356324 Fix pad assignments on atmel-samd UART 2023-02-19 20:42:44 -05:00
Milind Movasha f1b6deacda
Yet another formatting change related to whitespaces 2023-02-18 14:49:11 +05:30
Milind Movasha b2c6fad713
Additional formatting change related to whitespaces 2023-02-18 14:45:37 +05:30
Milind Movasha 4683e48337
Further formatting changes related to whitespaces 2023-02-18 14:40:12 +05:30
Milind Movasha ead5751803
Pre-commit: Done the formatting changes
Pre-commit: Fixed compilation error for other ESP32C3/ESP32S3/ESP32H2 boards
Review comment: Removed the self->pin NULL check
Review comment: Using raise_ValueError_invalid_pin when adc_index is not ADC_UNIT1 for ESP32
Review comment: Optimized the code to set data in buffer from DMA results
Fix: For ESP32C3 boards continuing collecting samples after channel mismatch as DMA runs in alternating UNIT mode
Fix: For ESP32S3 and ESP32H2 setting conversion mode to type2
2023-02-18 14:26:50 +05:30
MicroDev 508f2015b6
Merge pull request #7605 from Neradoc/pico-uart-in-use-error
Tweak the UART in use message on RP2040
2023-02-18 08:35:52 +05:30
Neradoc 13716c9c30 tweak the UART in use message on RP2040 2023-02-17 23:29:44 +01:00
Milind Movasha 58532ece3f
Moved CIRCUITPY_ANALOGBUFIO flag to correct place in alphabetical order 2023-02-17 23:50:41 +05:30
Bill Sideris f71b418a7d
Merge branch 'adafruit:main' into settings-toml-pystack 2023-02-17 16:58:03 +02:00
Bill Sideris 8a4a408707
Disable settable-pystack too to make more space 2023-02-17 16:35:16 +02:00
Milind Movasha 5635077853
Espressif analogbufio implementation 2023-02-17 19:19:15 +05:30
Bill Sideris 388279d9c1
Disable rainbowio instead. 2023-02-17 15:24:27 +02:00
Bill Sideris 17e2598fa1
Revert "settable pystack = 0 for kicksat-sprite"
This reverts commit f05c730a01.
2023-02-17 15:23:01 +02:00
Bill Sideris a2c22521b4
Updates to waveshare-esp32s2-pico board definition 2023-02-17 15:16:18 +02:00
Bill Sideris f05c730a01
settable pystack = 0 for kicksat-sprite 2023-02-17 15:14:09 +02:00
Dan Halbert bbadc00599
Merge pull request #7577 from dhalbert/safemode-py
Implement safemode.py
2023-02-16 14:15:20 -05:00
Gregory Neverov fd1c3ca784 Increase number of LWIP timers for MDNS 2023-02-15 16:40:45 -08:00
Scott Shawcroft 931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
  This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
  runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
  that safe mode messages show up on the display.

ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
  watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
  display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
  need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.

For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
  converted colors at each index.
* ColorConverter now caches the last converted color. It should make
  conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
Dan Halbert f79459cb70 Try -fweb -frename-registers to make more SAMD21 builds fit 2023-02-15 16:38:24 -05:00
Dan Halbert fe40181144 Turn back on for pewpew_m4, turn off terminalio for incomplete fonts in pewpew_m4 2023-02-15 14:45:15 -05:00
MicroDev 32d86c3ea3
Merge pull request #7580 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-15 09:16:51 +05:30
MicroDev 48077daa7f
Merge pull request #7581 from gneverov/issue_7333
Add function common_hal_busio_uart_never_reset for rp2
2023-02-15 09:16:25 +05:30
Scott Shawcroft 0be53977f9
Merge pull request #7570 from RetiredWizard/broadcomNeopix
Broadcom pi zero2w neopixel misbehaving/crash fix
2023-02-14 09:56:18 -08:00
Gregory Neverov 98b61279e4 Add function common_hal_busio_uart_never_reset for rp2 2023-02-14 09:05:24 -08:00
Dan Halbert 0f099cdb31 Turn off safemode.py for pewpew_m4 2023-02-13 22:52:39 -05:00
Dan Halbert c39a51527f Turn safemode.py off on non-external-flash SAMD21 builds 2023-02-13 21:48:03 -05:00
RetiredWizard 6ebb911a4d pre-commit formatting fix 2023-02-13 21:06:47 -05:00
RetiredWizard 09ccf2988d Replace bitwise or with boolean or 2023-02-13 21:04:11 -05:00
RetiredWizard 39d3d97ea4 Remove unnecessary memory barriers 2023-02-13 19:46:35 -05:00
Mark fa435468fa
Merge branch 'main' into gif_displayio_support 2023-02-13 18:30:51 -06:00
Dan Halbert d8231f1588 Implement safemode.py 2023-02-13 18:26:38 -05:00
gamblor21 be67cb72ad Disable for pewpew_m4 for space 2023-02-13 17:04:54 -06:00
RetiredWizard dcb6955fa5 use boolean and symbols 2023-02-13 14:58:37 -05:00
RetiredWizard 791aefd388
Update ports/broadcom/common-hal/neopixel_write/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-02-13 14:44:54 -05:00
RetiredWizard 575f177dd0
Update ports/broadcom/common-hal/neopixel_write/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-02-13 14:44:46 -05:00
Scott Shawcroft 7d236f2782
Merge pull request #7547 from ajs256/add_sprig
Add new board hack_club_sprig
2023-02-13 10:25:04 -08:00
Pierre Constantineau 676cbb308d minor update to boards.c to fix mismatched number of LEDs causing LEDs not to be reset 2023-02-13 09:52:18 -06:00
gamblor21 5c2bd38684 Removed gifio module from tests 2023-02-13 09:40:16 -06:00
Dan Halbert ec90d79d61
Merge pull request #7553 from kamtom480/sdk2.6.0
spresense: update SDK to 2.6.0
2023-02-13 09:04:35 -05:00
RetiredWizard 1679790481 Tweaked to run without delays on zero w 2023-02-11 20:21:25 -05:00
RetiredWizard 359a27e166 Pre-commit is stubborn 2023-02-11 12:19:21 -05:00
RetiredWizard 2104708c58 missed a trailing space 2023-02-11 12:17:55 -05:00
RetiredWizard f29cd4a836 Pre-commit fix trim trailing whitespace 2023-02-11 12:13:34 -05:00
RetiredWizard a462a316bd Fix pre-commit formatting 2023-02-11 12:10:03 -05:00
RetiredWizard a2bbca1428 Broadcom Raspberry Pi Zero2W neopixel timing fix
These changes result in working neopixel functionality. I've tested on
both the zero2w and the pi4b (The 4b didn't exhibit the original issue)
and the boards now behave properly with 1 to 30 pixels and the board hanging
no longer occurs.

Remove mod that didn't help during testing
Restoring back to original structure
Replace 2 microsecond delay w/deterministic loop
Remove unneded check for empty queue

Put transmit delay outside loop so Queue is used

Make sure last transmission is complete
2023-02-11 11:38:11 -05:00
Ubuntu e125370cd4 first commit 2023-02-09 01:59:59 +00:00
Jeff Epler b9f689adf4 Use lowest drive level for PIO 2023-02-08 16:18:58 -06:00
Alex e78143a2f5
fix copyright header 2023-02-05 11:18:23 -08:00
MicroDev 6c54bc9fd9
more espnow changes
- improve docs
- use existing list methods
- change `recv` to `read`
2023-02-05 12:31:08 +05:30
MicroDev c0a9c71057
replace `ESPNowStats` with `Communicate` class and more 2023-02-05 01:42:32 +05:30
Alex Sirota 07e8506b79 Add board hack_club_sprig 2023-02-03 20:19:11 -08:00
Jeff Epler b03eed32fb espressif: i2sout: wait a short time to succesfully write data 2023-02-03 14:22:03 -06:00
Jeff Epler 41dff5d8cc espressif: i2sout: don't needlessly set sample rate
this may reduce glitches when starting samples
2023-02-03 14:22:03 -06:00
Jeff Epler 75ed28665c espressif: i2sout: enlarge buffers 2023-02-03 14:22:03 -06:00
MicroDev ff95e96160
add `ESPNowStats` class and more 2023-02-04 01:23:45 +05:30
Dan Halbert f13e6d8758 update flash chip for Metro M7 1011 2023-02-03 11:56:42 -05:00
MicroDev a1644f15ea
use esp error for espnow 2023-02-03 15:42:44 +05:30
MicroDev cac90a6969
refactor common espnow functions 2023-02-03 12:35:06 +05:30
MicroDev e30126e335
remove `sync` from espnow 2023-02-03 11:12:07 +05:30
MicroDev f100838ae5
remove `peers_table` from espnow 2023-02-03 10:14:50 +05:30
Dan Halbert aafec496c3
Merge pull request #7539 from DavePutz/issue_7419
Correct assignment of RMT channels on ESP32C3
2023-02-02 17:35:37 -05:00
root 750535d4af Correct assignment of RMT channels on ESP32C3 2023-02-02 14:55:57 -06:00
MicroDev 14c3b52b8d
Merge branch 'main' into espnow 2023-02-03 01:37:07 +05:30
MicroDev 7028a3adfe
rework espnow api 2023-02-03 01:32:28 +05:30
Gregory Neverov 77c6daf4b8 don't throw exception 2023-02-01 16:33:22 -08:00
MicroDev ae4bb75e29
split espnow between bindings and common-hal 2023-02-01 18:53:58 +05:30
Kamil Tomaszewski 3fdebd4f60 spresense: Add HDR camera support 2023-02-01 12:37:29 +01:00
MicroDev 9c430d45d1
use truthiness of the object itself instead of `any` 2023-02-01 15:27:55 +05:30
MicroDev d9d94eacca
run updated pre-commit 2023-02-01 13:38:41 +05:30
Dan Halbert 9ab0733a28
Merge pull request #7530 from BrainBoardz/main
BrainBoardz Neuron Commit (Final I Hope!) - Updated as Per Previous Instructions VID+PID Work
2023-01-31 23:33:34 -05:00
brainboardz 2656ccffe4 Commit01-31 2023-01-31 19:35:57 -05:00
Dan Halbert 2faa8a435a
Merge pull request #7510 from BPI-STEAM/CircuitPython-main
Update mpconfigboard.h  with LED definition for BPI-Bit-S2.
2023-01-31 16:08:10 -05:00
Scott Shawcroft e1041a8625
Merge pull request #7509 from RetiredWizard/seeedc3
seeed_xiao_esp32c3 flash mode change to dio
2023-01-31 11:29:24 -08:00
Jeff Epler b8d6f20308
Add front buttons as D0/1/2, matching the silk 2023-01-31 10:02:21 -06:00
brainboardz f3b1ceeb81 Seventh Commit 2023-01-30 20:45:57 -05:00
brainboardz f71b4bc018 Sixth Commit 2023-01-30 20:32:19 -05:00
brainboardz e10816f34c Fifth Commit 2023-01-30 20:20:37 -05:00
brainboardz 3f3519e0ab Fourth Commit 2023-01-30 20:10:34 -05:00
brainboardz 7c525fdcb0 Third Commit 2023-01-30 19:54:11 -05:00
brainboardz 34f480d735 Second Commit 2023-01-30 19:03:57 -05:00
brainboardz d6ebf1bf43 First commit 2023-01-30 17:12:21 -05:00
Wind-stormger 6e31cd0a4f Update mpconfigboard.h 2023-01-30 15:41:42 +08:00
RetiredWizard dc5cd27555 seeed_xiao_esp32c3 flash mode change to dio
I was having trouble flashing CircuitPython to the Seeed xiao
esp32c3 using the make flash option. With the help of DAN and
Neradoc I was able to perform a manual flash and use the make
flash option to flash an Adafruit_qtpy_esp32c3 bin but when I
went back and attempted to use make flash on the seeed bin it didn't
work. Comparing the builds, the flash mode was different and after
making this change the seeed build now flashes properly using make
flash.
2023-01-30 02:01:33 -05:00
MicroDev f7167bd735
Merge pull request #5999 from anecdata/ESP32-S3-DevKitC-1-N32R8
Espressif ESP32-S3 DevKitC-1-N32R8
2023-01-29 10:27:08 +05:30
MicroDev 858e212e34
enable octal flash in sdkconfig 2023-01-29 00:23:02 +05:30
Dan Halbert 7522522a0a
Merge pull request #7501 from pypewpew/pewpewm4-cdc
pewpew m4: enable CDC back
2023-01-28 12:00:49 -05:00
Radomir Dopieralski 5b814a4561 pewpew m4: enable CDC back
CDC got disabled on this board by mistake
2023-01-28 17:20:22 +01:00
MicroDev 401d160c58
opi flash needs to be flashed in dout 2023-01-28 11:04:21 +05:30
MicroDev cda5689263
move `esp32_camera` to `espcamera` 2023-01-27 22:05:43 +05:30
Scott Shawcroft a7b12de6ee
Merge pull request #7473 from MicroDev1/espulp
Add ULP FSM
2023-01-26 09:57:35 -08:00
MicroDev 9b98d485bb
switch to `ReadableBuffer` and `WriteableBuffer` 2023-01-26 14:13:38 +05:30
MicroDev bfb77d0544
move `ULPArch` to `Architecture` 2023-01-26 13:01:14 +05:30
MicroDev a6861adb1f
Merge branch 'main' of origin into ESP32-S3-DevKitC-1-N32R8 2023-01-26 11:21:43 +05:30
MicroDev e5cfab060d
remove redundant config messages 2023-01-26 11:20:18 +05:30
MicroDev 90e8f9d4a8
fix espressif 32MB partition table 2023-01-26 11:19:22 +05:30
Dan Halbert 5fb0333aa9
Merge pull request #7478 from jepler/fix-esp32s3-reverse-tft-pid
Feather ESP32-S2 Reverse TFT: Update PID to match internal list
2023-01-25 21:24:00 -05:00
Jeff Epler ace2062564
remove board that will not be manufactured 2023-01-25 15:10:06 -06:00
Dan Halbert 19c1eb2d1d update esp-idf from latest release/v4.4 2023-01-25 15:44:43 -05:00
Scott Shawcroft f56a6a92f4
Merge pull request #7474 from RetiredWizard/broadcomRTC
Broadcom port: Add 'fake' RTC support
2023-01-25 11:33:17 -08:00
MicroDev 9487fb51a4
prettify espressif partition tables 2023-01-25 19:40:14 +05:30
RetiredWizard ecde85734c Remove a couple unneeded includes. 2023-01-23 15:17:24 -05:00
RetiredWizard fb4def2824 remove CIRCUITPY_RTC = 1 from mpconfigport.mk
Full build includes the RTC bits so don't need to enable it
in ports/broadcom/mpconfigport.mk
2023-01-23 14:52:20 -05:00
RetiredWizard 43b1d2618e
Remove erroneous left over comment 2023-01-23 14:19:27 -05:00
Jeff Epler e018c6d022
Update PID to match internal list 2023-01-23 13:13:27 -06:00
MicroDev 3c10dd8b5f
update espnow api 2023-01-23 23:51:10 +05:30
MicroDev f15e84de6c
update espnow module 2023-01-23 09:42:39 +05:30
RetiredWizard 4f830f1bbb Fix parameter name and remove unnecessary function 2023-01-21 22:57:52 -05:00
RetiredWizard 3361ec390d Broadcom port: Add 'fake' RTC support
The Broadcom chips apparently don't have an RTC, so this PR uses the
timer to add dummy RTC responses and allow resonable results
from time.localtime() as well as setting the time and date while
the board is powered.
2023-01-21 22:19:10 -05:00
MicroDev 2bb12293f8
add ulp fsm 2023-01-21 17:44:08 +05:30
MicroDev 7330c638b9
minimal changes to make espnow work 2023-01-20 14:12:55 +05:30
MicroDev 59c3618cbd
clone espnow implementation
Co-authored-by: Nick Moore <nick@zoic.org>
Co-authored-by: shawwwn <shawwwn1@gmail.com>
Co-authored-by: glenn20 <glenn.moloney@gmail.com>
2023-01-20 13:19:59 +05:30
Dan Halbert 13338df9f1
Merge pull request #7462 from tannewt/fix_rp2_reset_reason
Tweak RP2040 reset reason
2023-01-19 21:10:57 -05:00
Dan Halbert f826904995
Merge pull request #7468 from DavePutz/issue_6975
Fixes for microcontroller.on_next_reset() on NRF
2023-01-19 19:03:46 -05:00
root a30f69aaed Fixes for microcontroller.on_next_reset() on NRF 2023-01-19 15:58:03 -06:00
Scott Shawcroft 8f9d1e241d
Save watch_for_interrupt_char to espressif too 2023-01-19 10:28:56 -08:00
Scott Shawcroft dca66eb98c
Watch for ctrl-c over BLE workflow serial
Before this, it was impossible to interrupt a running program over
BLE.
2023-01-18 16:28:35 -08:00
RetiredWizard f66e865510 Use low power RTC on mimxrt10xx (Teensy41) boards
There are apparently two RTC interfaces in the mimxrt10xx dev
kit. The low power interface access the battery backed up hardware.

I've tested this on the Teensy41 and it seems to
fix issue #4574
2023-01-17 23:30:36 -05:00
Scott Shawcroft 82a313065e
Tweak RP2040 reset reason
Watchdogs are used to reboot out of the bootloader. There is a
scratch register for user watchdogs. So use sdk functions to better
distinguish these.

Related to #7346
2023-01-17 16:12:08 -08:00
Scott Shawcroft 683e393878
Add comments for MDNS code 2023-01-17 14:07:30 -08:00
Dan Halbert 79b76f7bea
Merge pull request #7445 from tannewt/fix_rpi_mdns
Share the web workflow MDNS object with the user
2023-01-17 14:46:38 -05:00
Scott Shawcroft 8dffd33bdc
Merge pull request #7458 from MicroDev1/board
Remove pins reserved for flash on microC3
2023-01-17 11:08:26 -08:00
Colin B bfba1e4100 Change common_hal_mcu_processor_set_frequency to void
* Add warning about setting RP2040 frequency
2023-01-16 21:26:13 -08:00
MicroDev cc6dbb3738
Merge pull request #7455 from dhalbert/ensure-nonblocking-socket
espressif: always make new client sockets be non-blocking
2023-01-16 10:44:23 +05:30
MicroDev 968d8c5b4b
remove pins reserved for flash on microC3 2023-01-16 10:33:34 +05:30
Dan Halbert 40534da92a espressif: always make new client sockets be non-blocking 2023-01-14 17:02:09 -05:00
Kamil Tomaszewski d4aab422ee spresense: update SDK to 2.6.0 2023-01-14 20:31:06 +01:00
Dan Halbert 79bd88349e
Merge pull request #7444 from tannewt/fix_start_end_w_arrays
Have start and end kwargs respect element size
2023-01-13 20:11:41 -05:00
Scott Shawcroft ee2fe993dd
Fix repeated MDNS use on Pico W 2023-01-12 14:56:06 -08:00
Scott Shawcroft 5c517b7e5a
Handle MDNS deinited better. 2023-01-12 11:24:20 -08:00
Scott Shawcroft 72f4a8ebbc
Merge pull request #7423 from 0xCB-dev/add-0xCB-Helios
add support for 0xCB Helios rp2040 controller
2023-01-11 16:27:36 -08:00
Scott Shawcroft aa2ba4d88b
Have start and end kwargs respect element size
The comment says it is `buffer[start:end]` but it assumed elements
were a single byte long. Now it correctly does multibyte elements
from array.array.

Fixes #4988
2023-01-11 15:36:41 -08:00
Scott Shawcroft 78c2fa5b28
Merge pull request #7437 from dhalbert/improve-type-checking-error-msgs
Improve type validation error messages, especially for pins
2023-01-11 10:54:22 -08:00
Dan Halbert 6fdaa78245
Merge pull request #7441 from tannewt/fix_light_sleep_after_deep
Ignore ESP-IDF wakeup cause when light sleeping
2023-01-10 20:09:59 -05:00
Dan Halbert 828fd7f445
Merge pull request #7439 from jepler/issue7438
Update cyw43-driver, fix no-password wifi
2023-01-10 20:09:38 -05:00
Scott Shawcroft fbd5f27371
Ignore ESP-IDF wakeup cause when light sleeping
The IDF's wakeup cause is only for deep sleep. Without ignoring it,
light sleep will wake up too early when done after a deep sleep
wake.

Fixes #7300
2023-01-10 15:34:15 -08:00
Scott Shawcroft 895cd269b3
Merge pull request #7422 from CDarius/m5stack_stick_c
Add M5Stack Stick C board
2023-01-10 14:48:47 -08:00
Jeff Epler e817563ca0
Update cyw43-driver, fix no-password wifi
Now, open wifi works on Pico W, so this closes #7438.

For the web workflow it's now OK to either
 * specify an empty password string (as before)
 * not have the CIRCUITPY_WIFI_PASSWORD key at all (new functionality)
2023-01-10 15:07:17 -06:00
Dan Halbert a974402542 Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
Jeff Epler 7db8f92554 Update some build flags to be more like the original tft feathers
.. enable camera and use default (better) optimization
2023-01-10 12:28:51 -06:00
Jeff Epler af70401aa6 Switch the reverse feathers to use modules with psram
.. by copying the sdkconfig files from the original s2/s3 tft feathers,
as the module is of the same type.
2023-01-10 12:18:53 -06:00
Jeff Epler 8f0e72ce2b Merge remote-tracking branch 'origin/main' into feather-esp32-s23-reverse-tft 2023-01-10 12:16:31 -06:00
Colin B a84a8855ed Add frequency setting for RP2040 boards. 2023-01-07 17:41:37 -08:00
Conor Burns 5aa8419455
add pid.codes VID and PID 2023-01-07 13:11:38 +01:00
RetiredWizard fa514e22b2 mimxrt10xx gpio pins don't deinit
It looks like a rogue "return" made it's way into the reset pin code
for the mimxrt10xx port resulting in pin.deinit() not working.
2023-01-05 19:17:08 -05:00
CDario a2668cdf0d Added PORT A i2c and slowed down display SPI 2023-01-05 22:30:10 +00:00
Conor Burns 56c0f0388d
add 0xCB Helios 2023-01-05 23:02:00 +01:00
CDario 208fb341e2 Added M5Stack Stick C board 2023-01-05 21:29:02 +00:00
Scott Shawcroft bb3a1c0a2a
Merge pull request #7153 from fonix232/feature/waveshare_rp2040_lcd_1_28
feat: Add support for Waveshare RP2040-LCD-1.28
2023-01-04 10:18:01 -08:00
Dan Halbert 4f78d63905
Merge pull request #7412 from 2231puppy/e-fidget
Add E-Fidget board
2023-01-04 12:32:27 -05:00
2231puppy 38ebe90f7c Remove unexposed pins from E-Fidget 2023-01-03 19:24:48 -05:00
2231puppy bea62030b7 Add E-Fidget board 2023-01-03 16:02:24 -05:00
Jozsef Kiraly f23a96fa09
Update config with proper USB VID 2023-01-03 20:31:18 +00:00
Jozsef Kiraly 463c8d0f11
Merge pull request #2 from adafruit/main
Merge main
2023-01-03 20:28:18 +00:00
Pontus Oldberg 14417a21d1
Merge branch 'adafruit:main' into main 2023-01-03 09:31:49 +01:00
Dan Halbert 3cf947ff8f
Merge pull request #7399 from CDarius/m5stack_atom_matrix
Added M5Stack Atom Matrix board
2023-01-02 13:28:04 -05:00
Dan Halbert 6d9d593a0d
Merge pull request #7401 from CDarius/m5stack_atom_echo
Added M5Stack Atom Echo board
2023-01-02 13:27:48 -05:00
Dan Halbert d1cd096813
Merge pull request #7358 from dhalbert/read-only-mac-address-rp2040
Read only mac address rp2040
2023-01-02 13:23:28 -05:00
Dan Halbert 637d47b058
Merge pull request #7402 from CDarius/m5stack_atom_u
Added M5Stack Atom U board
2023-01-02 13:21:48 -05:00
Dan Halbert 03b43b7b3f complete rework for microcontroller.cpu.frequency and wifi.radio MAC addresses 2023-01-02 11:45:58 -05:00
Dan Halbert a061729dcc
Update ports/espressif/boards/m5stack_atom_matrix/sdkconfig 2023-01-02 10:41:25 -05:00
Dan Halbert f5c0996fb7
Update ports/espressif/boards/m5stack_atom_echo/sdkconfig 2023-01-02 10:41:11 -05:00
Dan Halbert 01f6762aa1
Update ports/espressif/boards/m5stack_atom_u/sdkconfig 2023-01-02 10:40:49 -05:00
Dan Halbert 2da4e06890 fix up esp32-camera submodule 2023-01-02 10:13:20 -05:00
Dan Halbert a3adcf0e1a clarify read-only mac address; reuse translate msgs 2023-01-02 10:13:20 -05:00
Dan Halbert 4e31522d08
Merge pull request #7373 from jaygreco/add_nullbits_bit_c_pro
Add nullbits Bit-C PRO board
2023-01-02 09:22:16 -05:00
CDario 4fe00ef74a Added M5Stack Atom U 2022-12-31 06:21:49 +00:00
CDario dec0b272fe Fixed I2C bus definition 2022-12-30 23:21:46 +00:00
CDario 58e32bd2cb Fixed speacker and microphone pins definition 2022-12-30 23:09:38 +00:00
CDario 52ee5a9272 Added M5Stack Atom Echo 2022-12-30 20:21:00 +00:00
CDario 42195a4a29 Added M5Stack Atom Matrix board 2022-12-30 17:37:37 +00:00
Dan Halbert ed5d9ac448
Merge pull request #7392 from chukwon/main
Update pins.c for lolin_c3_mini
2022-12-30 00:08:39 -05:00
Dan Halbert e8ee4b220e
Merge pull request #7398 from dhalbert/cache-memory-fence
Use memory fence when disabling cache to avoid -O2 problems
2022-12-30 00:08:24 -05:00
Dan Halbert cc92ce4820 Use memory fence when disabling cache to avoid -O2 problems 2022-12-29 19:49:40 -05:00
Dan Halbert 70b838a42d
Merge pull request #7395 from jepler/fix-getenv_int-dos-newlines
Fix getenv_int handling of "dos-style" newlines
2022-12-28 18:32:38 -05:00
Jeff Epler 83bbfd1815
Allow the tests to directly call the non-heap using _int and _str variants
.. of getenv. These can have their own special bugs.
2022-12-28 12:36:58 -06:00
chukwon a932fb3fb1
Update pins.c
also match lolin_c3_mini pins definition of new version
2022-12-28 21:25:25 +08:00
RetiredWizard 7a40d449e6 mimxrt10xx/common-hal/UART.C: Fix for bits parameter validation.
I believe this will resolve issue #7389
2022-12-27 22:07:54 -05:00
Pontus Oldberg 2b8aa9caae
Merge branch 'adafruit:main' into main 2022-12-27 00:33:47 +01:00
Jeff Epler 928fb0a9c4
Make the "name or service not known" message translatable 2022-12-26 13:58:31 -06:00
Jay Greco cdefd2e674 Add nullbits Bit-C PRO board 2022-12-25 15:21:32 +00:00
Dan Halbert 0d3b7770d1
Merge pull request #7378 from DavePutz/issue_7325
Issue 7352 - set max value of a pulsein
2022-12-24 19:16:44 -05:00
Dan Halbert 88d0eba7f4
Merge pull request #7258 from m1cha1s/ESP32DevKitV1
Esp32 dev kit v1
2022-12-24 09:12:45 -05:00
root 94dbefacf1 Issue 7352 - set max value of a pulsein 2022-12-23 19:17:45 -06:00
Pontus Oldberg 4bd5316929
Merge branch 'adafruit:main' into main 2022-12-22 21:28:34 +01:00
evildave666 7cfdd24f77
Change flash mode to dio 2022-12-22 09:30:52 +09:00
evildave666 e80ff20583
Remove IO11 from definition
It is used internally on this particular board version despite being broken out to a pin and marked on silkscreen.
2022-12-22 09:29:24 +09:00
Pontus Oldberg 9f266c361b Initializing external flash SPI speed to SPI_FLASH_MAX_BAUDRATE, instead of using driver default speed (32MHz), before probing JEDEC identifier. 2022-12-21 16:33:06 +01:00
Dan Halbert 2a1bb72797
Merge pull request #7359 from tannewt/rework_coproc_api
Rework the coproc API
2022-12-20 20:42:53 -05:00
Scott Shawcroft c16b42e972
Tweak arg checking and comments 2022-12-20 11:00:13 -05:00
Scott Shawcroft e9f032f468
Merge pull request #7364 from jepler/fix-unix-standard-build
fix ports/unix builds besides coverage
2022-12-20 06:54:52 -08:00
Jeff Epler aa63fae0ae
fix ports/unix builds besides coverage 2022-12-20 07:27:26 -06:00
Neradoc b36d603cf3 add GP25 as status LED on the Raspberry Pi Pico 2022-12-19 22:11:30 +01:00
Scott Shawcroft 0498b1d2ae
Fix indent 2022-12-19 15:51:34 -05:00
Scott Shawcroft 674f0402a9
Fix ESP32 builds 2022-12-19 15:30:03 -05:00
Scott Shawcroft f8ac1d9261
Rework the coproc API
It is now a generic `memorymap` API and an ESP specific `espulp` module.

Fixes #7218. Fixes #3234. Fixes #7300.
2022-12-19 14:08:38 -05:00
root aac324c4d1 added frozen modules, changed to 8BM FLASH 2022-12-18 22:49:28 +00:00
Dan Halbert 77a98e6107
Merge pull request #7355 from pypewpew/esp32-camera-xclk
esp32-camera: make the master_clock_pin really optional
2022-12-17 21:15:31 -05:00
Radomir Dopieralski 90c805d858 esp32-camera: make the master_clock_pin really optional
The master_clock_pin was already optional, but not specifying it would
result in a crash. This fixes it, so it really can be omitted, when the
camera module has its own clock source built in.
2022-12-16 21:53:50 +01:00
Dan Halbert 66efed5ba5 fix AuthMode printing regression 2022-12-15 15:49:58 -05:00
Scott Shawcroft c6ea3e803a
Merge pull request #7345 from dhalbert/mimx-fix-build
redo pin never resetting for mimxrt10xx
2022-12-15 12:21:21 -08:00
Dan Halbert b90a6413c2 refactor to reduce duplicate code 2022-12-15 13:17:28 -05:00
Dan Halbert 5c569f03c2 redo pin never resetting for mimxrt10xx 2022-12-14 19:34:26 -05:00
Jeff Epler 297657ea9a
Refactor so that all sites of name lookup failure result in gaierror 2022-12-14 14:45:32 -06:00
Dan Halbert 398b7c26ca
Merge pull request #7321 from jepler/dotenv-becomes-toml
Dotenv becomes toml
2022-12-13 19:56:36 -05:00
Dan Halbert 369507e1da cxd56 was not using SRC_SHARED_MODULE_INTERNAL 2022-12-13 18:39:25 -05:00
Jeff Epler 56d4f8f552
can't use object-based calls at this time 2022-12-13 11:32:33 -06:00
Jeff Epler d49af4d784
make wording a bit clearer 2022-12-13 08:11:47 -06:00
Pontus Oldberg aa5b1e063f Added new RP2040 board with integrated SD/Card reader and RTC 2022-12-13 13:34:28 +01:00
Jeff Epler adff93c61a
Mark cyw43 pins "never reset" before reset_port
reset_port calls reset_all_pins, which disables the built-in pull
down. In theory, this could allow some CYW43 interfacing pin to float
to an inappropriate value. There's no proof of this! but the move can't
really hurt, either
2022-12-12 20:14:08 -06:00
Jeff Epler 90894014a2
Use the HW LED as status indicator
For me this made a rare startup failure stop, which is nonsense.
2022-12-12 19:43:10 -06:00
Jeff Epler 31fd7cb51b
Merge remote-tracking branch 'origin/main' into dotenv-becomes-toml 2022-12-11 11:06:51 -06:00
Pontus Oldberg 66eca9c35e Updated formatting. 2022-12-11 17:25:26 +01:00
Pontus Oldberg f7e735b492 Added LDO control pin, new flash variants and support functions for the LDO control pin. 2022-12-11 17:11:24 +01:00
Pontus Oldberg 9ef5b7d118 Merge branch 'main' of https://github.com/PontusO/circuitpython 2022-12-11 13:02:03 +01:00
Pontus Oldberg da413094f8 Added LDO control pin and initial setup 2022-12-11 13:01:00 +01:00
Jeff Epler 2bf5d2bc07
Merge remote-tracking branch 'origin/main' into dotenv-becomes-toml 2022-12-10 15:39:50 -06:00
Jeff Epler dd6dd5df21
rework the getenv test again
* use a virtual fat filesystem during the test
 * this makes the file I/O part more closely patch runtime which is nice
 * side-steps the need to add a special function for testing
   * but test still can't be run on a device, because the vfs calls
     are incompatible, and you intentionally can't remount "/" anyway
 * and side-steps problems with storing 'bad' toml files
2022-12-10 12:58:08 -06:00
Jeff Epler 3ab71d7448
Rename test function, make 'bad' files binary & add another test 2022-12-09 15:23:56 -06:00
Jeff Epler 6dca9db225
Rename test function & fix a bug with default value handling 2022-12-09 14:35:50 -06:00
Jeff Epler 1f504e5c0f
Remove line accidentally duplicated 2022-12-09 14:15:00 -06:00
Jeff Epler 44f15d563d
Rename "environ" errors to "getenv" errors 2022-12-09 14:14:53 -06:00
Jeff Epler 678a466d1a
alphabetize 2022-12-09 14:12:43 -06:00
Jeff Epler 3a92c079fc
Finish renaming os_environ_get_key to os_getenv
.. for consistency.
2022-12-09 14:07:23 -06:00
Jeff Epler 3cb628d290
fix nrf build 2022-12-08 16:45:58 -06:00
Dan Halbert 4fa0c4d108
Merge pull request #7320 from dhalbert/seeed-xiao-nrf52840-charge-rate-pin
Add pin for charge rate for Seeed XIAO nRF52840 Sense
2022-12-08 16:51:26 -05:00
Jeff Epler 3459fe322b
Withdraw the _environ module
This existed solely for testing, so expose it a different way during
the unix coverage build

Also turn off os.getenv support on samd21.
2022-12-08 15:33:10 -06:00
Jeff Epler 243ecc2502
remove debugging prints 2022-12-08 14:18:22 -06:00
Jeff Epler 170918995c
fix mistaken code formatting
I wanted to use the idiom
```c
#if GUARD
if (condition) {
    alternate code
} else
#else
{
    common default code
}
```
idiom, in which the common default code is conditioned both on a
compile-time check and a run-time check. However, I got it wrong
and uncrustify chipped in, adding extra brackets around a following
piece of code and re-indenting it.
2022-12-08 14:16:53 -06:00
Dan Halbert 4e7d65251f Add pin for charge rate for Seeed XIAO nRF52840 Sense 2022-12-08 14:09:44 -05:00
Jeff Epler 1fe05cb8cd
pico w: re-use previous connection if ssid matches 2022-12-08 12:44:34 -06:00
Jeff Epler ef2bfdb5db
dotenv becomes settings.toml 2022-12-08 12:44:20 -06:00
RetiredWizard 68d510cb2f
Update mpconfigboard.h
Configure LED pin for STATUS display and to prevent ESP floating pins from constantly lighting led dimly.
2022-12-07 23:00:09 -05:00
Dan Halbert 295f7b490f
Merge pull request #7313 from jepler/cyw43-additional-delay
Add an additional large delay time at start for pico w boards
2022-12-07 19:17:45 -05:00
Dan Halbert 44af05283a
Merge pull request #7291 from jepler/issue6502
Ensure orderly shutdown of ssl socket
2022-12-07 19:12:12 -05:00
Jeff Epler 2326b49b24
switch this header to 'pragma once' since I'm touching it already 2022-12-07 15:14:54 -06:00
Jeff Epler a1dd8405f4
use a more standard method of forward-declaring the structure 2022-12-07 15:14:30 -06:00
Jeff Epler ff8d051eff
Add an additional large delay time at start for pico w boards 2022-12-07 15:10:13 -06:00
Dan Halbert 676e40d62f
Merge pull request #7311 from dhalbert/esp32-box-lite-sdkconfig
make esp32-box-lite sdkconfig same as box
2022-12-06 21:31:45 -05:00
Dan Halbert 3965ef9c2a make esp32-box-lite sdkconfig same as box 2022-12-06 19:27:00 -05:00
Scott Shawcroft b354cec8cb
Three small ESP web workflow fixes
* Set nonblock on all accepted sockets. Not just ones for user code.
* Close an open websocket if another is accepted.
* Set debug level to INFO rather than DEBUG because DEBUG crashes
  on ESP32-S3 USB OTG.
2022-12-06 11:49:04 -08:00
Scott Shawcroft ac239c0fb3
Merge pull request #7306 from evildave666/add-luatos-core-esp32c3
Add Luatos Core ESP32C3 Board
2022-12-05 13:27:08 -08:00
Scott Shawcroft d7874e65c2
Merge pull request #7299 from BooleanMattock/main
Fix to Issue #7224 - Servo update slow due to PWM channel duty cycle update busy-wait
2022-12-05 12:54:41 -08:00
evildave666 eaf39b4c10
Update pins.c 2022-12-05 16:40:36 +09:00
evildave666 14b430ed35
Fix pre-commit issues 2022-12-05 16:35:48 +09:00
evildave666 5b6f06d84c
Add additional files 2022-12-05 16:08:12 +09:00
evildave666 05a8bf8c38
Create board.c 2022-12-05 16:06:50 +09:00
BooleanMattock afb5301cef Fix to Issue #7224 - tested 2022-12-02 20:21:40 -05:00
Scott Shawcroft 4c064c263e
Merge pull request #7294 from tannewt/analogbufio_rework
Rework the analogbufio API.
2022-12-02 14:53:16 -08:00
Scott Shawcroft f7504ff857
Tweaks based on review comments 2022-12-02 10:19:31 -08:00
Dan Halbert 6e40949f6e
Merge pull request #7295 from tannewt/fix_mdns_conflict
Fix MDNS hostname mangling
2022-12-02 11:13:07 -05:00
m1cha1s b5dda0b770 Removed esp32_devkit_v1 folder 2022-12-02 14:26:46 +01:00
Jeff Epler ddc56f5fdf
Merge pull request #7101 from bill88t/picow-ap
Attempt at pi cow ap
2022-12-01 19:55:17 -06:00
Scott Shawcroft ded0ee4816
Fix MDNS hostname mangling
cpy-MAC hostnames were being mangled on circuitpython.local
conflicts.

Fixes #6869
2022-12-01 17:54:41 -08:00
Scott Shawcroft 255e997345
Rework the analogbufio API.
* read() is now readinto() and takes the buffer to write into.
* readinto() returns the number of valid samples.
* readinto() can be interrupted by ctrl-c.
* readinto() API doesn't support signed numbers because it never did.
* sample_rate is now required in the constructor because supported
  values will vary per-port.
* 16 bit values are full range. 12 bit samples from RP2040 are stretched
  in the same way they are for AnalogIn.

Fixes #7226
2022-12-01 17:46:07 -08:00
Jeff Epler 7583ccad2a
Ensure orderly shutdown of ssl socket
A crash would occur if an SSL socket was not shut down before
`gc_deinit()`.

I do not fully understand the root cause, but some object deinitialization
/ deallocation prior to `gc_deinit` leaves the SSL object in an
inconsistent state.

Rather than resolve the root cause, instead ensure that the closing of
the user socket also closes the SSL socket.

Closes: #6502
2022-12-01 19:29:20 -06:00
Dan Halbert 082b0d1aed
Merge pull request #7191 from jepler/fastpixelmap
Add a fast PixelMap-like class
2022-12-01 11:43:00 -05:00
Dan Halbert b41f7460b7
Merge pull request #7181 from jepler/more-string-qstr-savings
More space savings
2022-11-30 21:36:07 -05:00
Bill Sideris 3fb4fd81e9
Revert "debug_dhcp to follow general debug" 2022-11-30 22:44:18 +02:00
Jeff Epler ed33f65fd9
move define to proper place 2022-11-30 14:39:52 -06:00
Jeff Epler c46e219795
Having an input-only pin is rare, save a string on other ports 2022-11-30 14:39:49 -06:00
Bill Sideris 0738d50834
debug_dhcp to follow general debug 2022-11-30 22:24:21 +02:00
Dan Halbert 845b68c351
Merge pull request #7204 from jepler/build-python3x
return to using python 3.x for builds
2022-11-30 15:18:29 -05:00
Bill Sideris f8070d2141
Change comment, and logic on dhcpserver 2022-11-30 21:51:50 +02:00
m1cha1s d904d8e9a0 Renamed the board folder to doit_esp32_devkit_v1 2022-11-30 20:26:41 +01:00
Jeff Epler beb053a94d
more thoroughly disable UART when 2022-11-30 12:06:19 -06:00
Jeff Epler e489b73d88
update esp-idf to merge commit 2022-11-30 12:04:47 -06:00
Bill Sideris 44d5326d4c
fix picow-ap 2022-11-30 19:36:00 +02:00
Bill Sideris 362018dcca
Merge branch 'main' into picow-ap 2022-11-30 19:11:03 +02:00
Dan Halbert 2f5ec1cab0
Merge pull request #7281 from jepler/esp32-trailing-dot
handle domain with trailing dot
2022-11-30 11:18:47 -05:00
Dan Halbert c8390a7918
Merge pull request #7069 from jepler/exception-chain
Implement chained exceptions
2022-11-30 11:13:57 -05:00
Jeff Epler 286efc18fc
handle domain with trailing dot
Closes: #7032
2022-11-30 09:29:21 -06:00
Scott Shawcroft a8c70aa7bd
Fix S3 deep sleep
Adding `-u ld_include_highint_hdl` forces the linker to keep the
high priority interrupt handler that calls the ipc_isr handler.

The deep sleep is waiting for this interrupt to be handled on core
0 before sleeping from core 1.

Fixes #6090
2022-11-29 17:20:38 -08:00
Jeff Epler 49ac82564c
Merge pull request #7278 from jepler/sdcardio-failures
Sdcardio failures
2022-11-29 15:13:53 -06:00
Jeff Epler 4af95f1cb1
atmel-samd: Ensure sdioio.SDCard pins are released 2022-11-29 13:45:18 -06:00
Jeff Epler 8e83f36c36
SAM E54 Xplained devkit hardfaults at start with -O2
I don't know why, but other samd5x are using -Os too, see the block above.

Closes: #7277
2022-11-29 13:05:39 -06:00
Scott Shawcroft c13ca95da1
Add MDNS support to Pico W
This adds both cpy-MAC.local and circuitpython.local support.

Fixes #7214
2022-11-28 16:15:28 -08:00
Scott Shawcroft ad2d190507
Merge pull request #7247 from tannewt/picow_web_workflow
Enable* web workflow for Pico W
2022-11-28 14:19:42 -08:00
m1cha1s 680e56c52a Changed creator id 2022-11-25 14:09:35 +01:00
m1cha1s 26fbb25653 Fixed formatting 2022-11-25 13:55:06 +01:00
m1cha1s fb46e7c4d8 Defined esp32 board for the esp32 devkit v1 2022-11-25 12:13:44 +01:00
foamyguy c6ca2bdd59 disable pixelmap on bluemicro833 2022-11-24 09:09:48 -06:00
Dan Halbert 79f4344860 fix playing mono files on stereo output 2022-11-23 22:11:41 -05:00
Scott Shawcroft 30563655d7
Merge pull request #7249 from dhalbert/wifi-connect-ap-api
correct Radio.connect() and .start_ap() signatures; clean up some code
2022-11-23 10:29:05 -08:00
Dan Halbert 17be447c4b correct Radio.connect() and .start_ap() signatures; clean up some code 2022-11-22 17:11:03 -05:00
Dan Halbert 6d022733b3
Merge pull request #7162 from rhooper/boards-list
add boards list to make error message
2022-11-21 23:18:37 -05:00
foamyguy 19f1119994 Merge branch 'main' into fastpixelmap
# Conflicts:
#	shared-module/adafruit_pixelbuf/PixelBuf.c
2022-11-21 20:25:58 -06:00
Scott Shawcroft c3a96a63c0
Enable* web workflow for Pico W
* Except for circuitpython.local which depends on MDNS and will be
done in a follow up PR.

Progress on #7214
2022-11-21 16:24:05 -08:00
Bill Sideris b40facd0b4
Error msg changes 2022-11-22 01:00:34 +02:00
Dan Halbert df0150ff0e Add common settings to sdkconfig-esp32c3.defaults 2022-11-21 15:15:26 -05:00
Dan Halbert 85a83b8150 Simplify some ESP32-C3 board sdkconfig files 2022-11-21 12:35:10 -05:00
Dan Halbert d4834cb7ec
Merge pull request #7234 from jepler/espressif-uart-console-break
Interrupt on UART 'break'
2022-11-19 14:46:18 -05:00
Dan Halbert 96fc85cd18
Merge pull request #7229 from dhalbert/rp2040-spi-mode-3
RP2040: have clock start high when SPI polarity high
2022-11-19 14:32:02 -05:00
Jeff Epler 4e0f8e7fcd
Interrupt on UART 'break'
Tested and working with the CH9102F USB converter on Adafruit's
Feather ESP32 V2 (& tio as the software on the host computer)

Closes: #7233
2022-11-19 10:57:21 -06:00
Dan Halbert 1611cf98da have clock start high in SPI mode 3 2022-11-18 18:27:38 -05:00
Bill Sideris 88bd9ef6b8
just change the ap error 2022-11-18 22:51:05 +02:00
MicroDev 7c51201e88
fix nRF build directory naming 2022-11-19 00:23:03 +05:30
MicroDev c3c1717813
refactor common port specific Makefile code 2022-11-18 23:00:28 +05:30
MicroDev e2a3597263
add awesome new make error message
Copied from initial implementation on atmel-samd

Co-authored-by: Rose Hooper <rhooper@toybox.ca>
Co-authored-by: Jeff Epler <jepler@gmail.com>
2022-11-18 11:27:23 +05:30
MicroDev 3a418379d3
Merge branch 'main' of origin into ESP32-S3-DevKitC-1-N32R8 2022-11-18 09:40:20 +05:30
Bill Sideris b8cd6c093f
picow-ap progress 2022-11-17 21:47:39 +02:00
Neradoc f9f1edbb08 setup PWM status LED on aithinker ESP32-C3 boards 2022-11-17 20:32:50 +01:00
Dan Halbert be53193dde
Merge pull request #7219 from tannewt/c3_pwm_in_use
Fix PWM status LED never_reset
2022-11-17 13:59:47 -05:00
Bill Sideris a234b74e87
Merge branch 'adafruit:main' into picow-ap 2022-11-16 21:32:46 +02:00
Scott Shawcroft 6689b9ad09
Merge pull request #7208 from domdfcoding/weact_pico_16mb
Add support for the 16MB WeAct Studio Pico
2022-11-16 09:59:37 -08:00
Scott Shawcroft a4bd7721e9
Merge pull request #7217 from dhalbert/samd21-tick-event
samd21: port_disable_tick() should disable event channel
2022-11-16 09:05:48 -08:00
Dan Halbert b74893eb07 samd21: port_disable_tick() should disable event channel 2022-11-15 21:52:12 -05:00
Jeff Epler 12545fb060
Add prototype feather esp32s2/s3 reverse tft board definition
This is not final hardware and may change!
2022-11-15 20:22:20 -06:00
Scott Shawcroft 8e4e84c58b
Match channel number, not timer number 2022-11-15 16:51:47 -08:00
Scott Shawcroft 93ee54a2fb
Fix PWM status LED never_reset
It doesn't need never reset because the status LED is only active
when user code isn't.

This also fixes PWM never reset on espressif so that deinit will
undo it.

Fixes #6223
2022-11-15 16:14:31 -08:00
Jeff Epler ef34378b1d
Merge pull request #7201 from jepler/rp2040-light-sleep
raspberrypi: Make port_idle_until_interrupt work
2022-11-15 17:25:48 -06:00
Jeff Epler ef93eda0a0
Merge pull request #7192 from bill88t/picow-debug
Fix pi cow debug compilation
2022-11-15 14:08:44 -06:00
Jeff Epler 412df210ad
Merge remote-tracking branch 'origin/main' into build-python3x 2022-11-15 14:02:09 -06:00
Scott Shawcroft b8a2d3ffdc
Merge pull request #7212 from dhalbert/stm-pwm-fix
STM: off-by-one TIMx reference; other code cleanup and minor fixes
2022-11-15 11:50:53 -08:00
Dan Halbert 11dcd69f2c
Merge pull request #7207 from jepler/nicer-pin-checking
shared-bindings: Get rid of CYW43 special cases in shared-bindings
2022-11-14 23:35:26 -05:00
Bill Sideris 6954e569b7
since it ain't leaving.. 2022-11-15 00:05:01 +02:00
Bill Sideris fde1c05e6d
Revert "remove lwip_src"
This reverts commit 398e9122a0.
It fails on LINK without them.
2022-11-14 20:03:41 +02:00
Dan Halbert fdeaf805d3 STM: off-by-one TIMx reference; other code cleanup and minor fixes 2022-11-14 13:00:32 -05:00
Bill Sideris 398e9122a0
remove lwip_src 2022-11-14 19:33:06 +02:00
Bill Sideris 6ad61a3fd1
Radio.c work 2022-11-14 19:31:18 +02:00
Jeff Epler 14b20087b5
only ignore sdkconfig* files in the espressif port's top directory
danh and microdev1 noticed that this ignore pattern was over-broad
and caused added sdkconfig files in boards/ (which should be committed)
to be ignored and not proposed for addition by common tools like
git status, git gui, etc.

This pattern anchors the search so that it only matches in the
ports/espressif directory, so ports/espressif/sdkconfig is ignored
but ports/espressif/boards/example/sdkconfig is not ignored anymore
2022-11-14 11:29:18 -06:00
Bill Sideris 2e6dd1bf1f
Radio.c no longer needs ping.h 2022-11-14 18:36:42 +02:00
Jeff Epler cdab078d9d
shared-bindings: Get rid of CYW43 special cases in shared-bindings
.. by moving it into a new weak function that can be replaced
just by the picow build.
2022-11-14 08:44:08 -06:00
Dominic Davis-Foster e1046b1050
Add support for the 16MB WeAct Studio Pico 2022-11-14 14:04:07 +00:00
Dan Halbert 8f414eb4ee
Merge pull request #7179 from jepler/picow-voltage-monitor
Add ability to read VOLTAGE_MONITOR on Pico W
2022-11-13 22:40:54 -05:00
Jeff Epler f3169246ba
Implement chained exceptions
This adds the __cause__, __context__ and __suppress_context__
members to exception objects and makes e.g., `raise exc from cause`
set them in the same way as standard Python.
2022-11-13 19:52:50 -06:00
Jeff Epler b8f5def985
return to using python 3.x for builds 2022-11-13 09:26:49 -06:00
Dan Halbert 6e9909c65e
Merge pull request #7198 from CRCibernetica/crcibernetica-ideaboard
Add new board crcibernetica-ideaboard
2022-11-13 09:12:43 -05:00
root 43566dec5b allow inclusion of board while blocking build files 2022-11-13 12:13:32 +00:00
Dan Halbert c96208902f
Merge pull request #7199 from MicroDev1/espressif
Enable `microcontroller.cpu.temperature` on esp32s3
2022-11-12 11:16:45 -05:00
Jeff Epler e4d620f055
make whitespace match 2022-11-12 09:17:52 -06:00
Jeff Epler 78fc43baab
raspberrypi: Make port_idle_until_interrupt work
This needs thorough testing before it's merged, as we tried
and reverted this once before (#5341 and #5356).

I think that besides checking for tinyusb having "something to do",
the fact that `port_interrupt_after_ticks` and `port_disable_tick`
weren't implemented that was causing a secondary problem.

I've tested this on a pico w over reboot-cycles and ctrl-c-cycles,
with and without drive automounting, with and without serial repl open,
and on a power-only connection.

I didn't notice the problem reported in #5356 after merely implementing
port_idle_until_interrupt; but I did notice that sleeps in general would
take over-long until "something" (like writing to the USB drive) happened;
I think "something" was probably calling port_enable_tick(). When this
problem was happening, sleeps would take a lot longer; for instance,
`sleep(.001)` would take about 1/20s and `sleep(.1)` would take about 1/7s.
2022-11-12 09:16:41 -06:00
Dan Halbert 9e94d7e758
Merge pull request #7196 from dhalbert/rp2-pin-alarm-race
RP2040: ignore pin changes before deep sleep
2022-11-12 09:36:15 -05:00
MicroDev 512cda8b73
enable `microcontroller.cpu.temperature` on esp32s3 2022-11-12 10:03:00 +05:30
root 6c3b9b64da add crcibernetica-ideaboard 2022-11-12 03:22:15 +00:00
Dan Halbert 983502d6e3 ignore pin changes before sleep 2022-11-11 15:31:49 -05:00
Jeff Epler f5c637dc10
Add adafruit_pixelmap.PixelMap
.. a fast helper for animations. It is similar to and inspired by the
PixelMap helper in Adafruit LED Animation library, but with an extremely
fast 'paste' method for setting a series of pixels. This is a common
operation for many animations, and can give a substantial speed improvement.

It's named `adafruit_pixelmap` so that we can package a compatible version
in pure Python for systems that can't fit it in C in flash, or for
Blinka.

This is a proof of concept and can make a very fast comet animation:
```python
import time
import adafruit_pixelbuf
import adafruti_pixelmap
import board
import neopixel
from supervisor import ticks_ms
from adafruit_led_animation.animation.solid import Solid
from adafruit_led_animation import color

pixel_pin = board.GP0
pixel_num = 96

pixels = neopixel.NeoPixel(pixel_pin, pixel_num, brightness=1, auto_write=False, pixel_order="RGB")

evens = adafruit_pixelmap.PixelMap(pixels, tuple(range(0, pixel_num, 2)))
odd_indices = tuple((i, i+2) for i in range(1, pixel_num, 4))
print(odd_indices)
odds = adafruit_pixelbuf.PixelMap(pixels, odd_indices)
assert len(odds) == len(odd_indices)


comet_length = 16

comet1 = [color.calculate_intensity(color.GREEN, ((1+i) / comet_length) ** 2.4)
        for i in range(comet_length)]
comet2 = [color.calculate_intensity(color.PURPLE, ((1+i) / comet_length) ** 2.4)
        for i in range(comet_length)]

pos1 = 0
pos2 = 96//4

while True:
    evens.paste(comet1, pos1, wrap=True, reverse=False, others=0)
    pos1 = (pos1 + 1) % len(evens)

    odds.paste(comet2, pos2, wrap=True, reverse=True, others=0)
    pos2 = (pos2 - 1) % len(odds)
    pixels.show()

    m = ticks_ms()
    if m % 2000 > 1000:
        time.sleep(.02)
```
2022-11-11 07:54:33 -06:00
Bill Sideris e6a4e2982f
Update ports/raspberrypi/common-hal/wifi/Radio.c
u32_t -> uint32_t

Co-authored-by: MicroDev <70126934+MicroDev1@users.noreply.github.com>
2022-11-11 14:40:47 +02:00
Bill Sideris 0bf9df232a
fix debug 2022-11-11 14:17:57 +02:00
dronecz a37c36c383
Merge branch 'adafruit:main' into main 2022-11-10 21:47:23 +01:00
paul-1 11f1174658
picow: Change init to use country code routine.....place holder for future improvements to allow country code setting. 2022-11-10 17:24:09 +02:00
paul-1 851c2cd8cb
picow: Add channel setting when starting AP 2022-11-10 17:23:59 +02:00
paul-1 8fdb2df0bf
picow: enable dhcpserver for apmode. 2022-11-10 17:23:38 +02:00
Bill Sideris 25c0a0aca9
Merge branch 'adafruit:main' into picow-ap 2022-11-10 17:04:21 +02:00
Dan Halbert d90bc1760f
Merge pull request #7188 from kylemccreery/pillbug
Add new board PillBug
2022-11-10 09:10:40 -05:00
Kyle McCreery 1f332e7007 Adding pillbug initial commit 2022-11-09 23:15:38 -05:00
Dan Halbert e6936decac
Merge pull request #7169 from blues/pdmin
STM32L4 PDMIn support
2022-11-09 14:19:51 -05:00
dronecz 11ce074318
Update mpconfigboard.mk 2022-11-08 23:43:13 +01:00
Matthew McGowan 97f693d2d8 docs(swan_r5): updated copyright notices 2022-11-08 14:18:54 -08:00
Matthew McGowan 843d6b42f9 formatting(swan_r5): lexicographically sorted the board module names in the swan_r5 makefile include [ci-skip][skip-ci]. Skip CI since this is a cosmetic change only. 2022-11-08 12:04:30 -08:00
Jeff Epler 7f36a365cf
delay 100us for analog voltage to stabilize
.. otherwise, depending on the prior state of the pin as a digital
input, the value read could be 20% low.
2022-11-08 10:43:14 -06:00
Jeff Epler 09f6919c93
Add ability to read VOLTAGE_MONITOR on Pico W
Because this must be treated like an in-use pin for all other purposes,
unfortunately a special case must be added in shared-bindings.

Multiple AnalogIn objects for VOLTAGE_MONITOR can be created (because
in use tracking isn't working) but this causes no harm.

Testing performed: Read the monitor, then imported wifi. When the
pin state was insufficiently restored, the second step would fail
with debug messages about do_ioctl timeout.

```
import analogio, board
a = analogio.AnalogIn(board.VOLTAGE_MONITOR)
print(a.value)
import wifi
```

Closes: #7020
2022-11-08 09:37:15 -06:00
dronecz 28e4834da8
Merge branch 'adafruit:main' into main 2022-11-08 01:02:46 +01:00
dronecz a568a5c2e2
Rename sdkonfig to sdkconfig 2022-11-06 22:14:19 +01:00
dronecz f1e658f8bb
Update sdkonfig 2022-11-06 22:07:12 +01:00
Jeff Epler 452ebe27ae
socketpool: make socket objects selectable
.. which will lead to them being usable in async contexts, pending
relevant changes in asyncio
2022-11-05 12:05:19 -05:00
Matthew McGowan ad9db01f5f Implements PDMIn for STM32L4 using the SAI peripheral and decimation/filtering in software. 2022-11-04 17:27:08 -07:00
Petr Sedlacek f3ec46bbb5 Add missing pin definitions for 42. Keebs Frood 2022-11-04 15:33:16 +01:00
dronecz 882100a87a
Create sdkonfig 2022-11-02 22:10:44 +01:00
dronecz 71b5e6088b
Update mpconfigboard.mk 2022-11-02 22:07:28 +01:00
dronecz d6fe378456
Update mpconfigboard.h 2022-11-02 22:05:39 +01:00
Jeff Epler 403a5b2681
Merge pull request #7126 from jepler/scorpio
add feather rp2040 scorpio
2022-11-02 14:47:40 -05:00
Rose Hooper 8933f93439 simplify and use columns for boardlist 2022-11-01 11:00:48 -04:00
Rose Hooper 36c4cc7d30 fix output layout of board list 2022-11-01 00:18:46 -04:00
Rose Hooper dec128f508 add boards list to make error message 2022-10-31 23:57:59 -04:00
dronecz 9b1181804c
Merge branch 'adafruit:main' into main 2022-10-30 19:16:05 +01:00
dronecz 468709abcc
Update pins.c
Hopefully last change nefore merge.
2022-10-30 18:51:46 +01:00
Dan Halbert 952812cdea
Merge pull request #7154 from dhalbert/alarm-lifetime
Save wake alarm info in static storage, simplifying recording of alarm
2022-10-30 12:28:50 -04:00
dronecz ae8f415bd5
Update board.c 2022-10-30 02:17:38 +02:00
Neradoc 0aa41fa92e change BOARD_USER_SAFE_MODE_ACTION into a separate sentence 2022-10-30 01:55:42 +02:00
Neradoc 934d2a7004 remove duplicate press boot button, it's already the default 2022-10-30 01:52:17 +02:00
dronecz 5d7c58da5d
Update pins.c
Attempt to fix build issue
2022-10-30 01:52:09 +02:00
Dan Halbert ded134c346 store wake_alarm in a static object 2022-10-29 16:26:36 -04:00
Jozsef Kiraly 992e97d84b fix: pre-commit 2022-10-29 20:00:37 +01:00
Jozsef Kiraly 9ca057385a feat: Add support for Waveshare RP2040-LCD-1.28 2022-10-29 18:52:43 +01:00
Dan Halbert a064b52ad7
CIRCUITPY_ESP32_CAMERA, not CIRCUITPY_USB_CAMERA 2022-10-29 10:13:11 -04:00
Dan Halbert 2ffd16a10c
Update mpconfigboard.mk 2022-10-29 09:27:09 -04:00
CDario 19fd9107a2 Merded with main branch 2022-10-29 07:46:54 +00:00
CDarius 7282bd9c9a
Removed boilerplate already handled by MP_WEAK definitions
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-10-29 09:34:45 +02:00
Dan Halbert 053d0fa8b5
Merge pull request #7145 from chukwon/fix_lolin_s3
fix and add lolin_s3 pins definition
2022-10-28 23:50:53 -04:00
Dan Halbert d95a085be4
Merge pull request #7144 from CDarius/add_m5stack_core_safe_mode
Added safe mode button and fix coyright attribution
2022-10-28 15:59:59 -04:00
Dan Halbert 0221cc8df7 Merge remote-tracking branch 'adafruit/main' into alarm-lifetime 2022-10-28 14:11:32 -04:00
chukwon 9c66320474 fix and add lolin_s3 pins definition 2022-10-28 21:40:35 +08:00
Dan Halbert 4e20049c38
Merge pull request #7122 from jepler/picow-ssl-server
pico w: implement sslsocket bind, listen, accept
2022-10-28 09:33:21 -04:00
CDario b815a4cc5e Added safe mode button and fix coyright attribution 2022-10-28 12:06:11 +00:00
CDario 27142d090b Fixed copyright attribution 2022-10-28 11:08:30 +00:00
microDev 9a09c62eee
espressif add back `ESP32_CAMERA` 2022-10-28 13:55:33 +05:30
CDario b276ed7af9 Fixed copyright attribution 2022-10-28 05:32:09 +00:00
CDario b94447fde5 Added safe mode button 2022-10-28 05:00:54 +00:00
Dan Halbert 9307b62ad5 wip 2022-10-27 22:42:04 -04:00
Dan Halbert 8fe44a23d2
Merge pull request #7140 from dhalbert/esp32-s3-box-spiram-fix
correct SPIRAM settings for ESP32-S3-BOX
2022-10-27 16:09:59 -04:00
Dan Halbert 26688fa826 correct SPIRAM settings for ESP32-S3-BOX 2022-10-27 14:45:29 -04:00
MicroDev baa44a2dba
Merge pull request #7133 from CDarius/fix_m5stack_core_basic
Fixed wrong configuration in sdkconfig
2022-10-27 18:34:07 +05:30
dronecz d774f3d34f
Update board.c
Fix for CLI
2022-10-27 15:02:44 +02:00
dronecz 0e0c106740 Add Maker badge board 2022-10-27 01:06:38 +02:00
CDario cdbad53649 Fixed wrong configuration in sdkconfig 2022-10-26 20:06:27 +00:00
CDario be07722bbc Added board M5Stack Atom Lite 2022-10-26 19:57:23 +00:00
Dan Halbert ca25016b52
Merge pull request #7119 from jepler/picow-reuseaddr
Enable, use SOF_REUSEADDR
2022-10-26 15:25:50 -04:00
Dan Halbert 5ebdf281cb
Merge pull request #7125 from dhalbert/esp-pin-alarm-fix
Fix setup of Espressif PinAlarms
2022-10-26 15:24:58 -04:00
Jeff Epler 7545e02a8e
add feather rp2040 scorpio 2022-10-26 10:05:37 -05:00
Jeff Epler 366cf4a048
Merge pull request #7113 from CDarius/m5stack_core_fire
Added M5Stack Core Fire board
2022-10-26 09:10:50 -05:00
Jeff Epler 0bc986ea7a
Merge pull request #7124 from piit79/frood
Adds support for the 42. Keebs Frood RP2040 board
2022-10-26 09:09:42 -05:00
Jeff Epler 76ed0445bb
Merge pull request #7120 from CDarius/m5stack_core_basic
Added M5Stack Core Basic board
2022-10-26 09:09:11 -05:00
Dan Halbert 56d8b9451f don't wait for pulls in PinAlarm 2022-10-25 20:42:08 -04:00
Dan Halbert e49cd00d60 fix debug UART pins on Metro ESP32-S2 2022-10-25 20:41:08 -04:00
Georg Bøe 032bf63f2d Raise error with positive code in recv_into for espressif 2022-10-25 22:53:01 +02:00
Jeff Epler 0cf096dda1
pico w: implement sslsocket bind, listen, accept 2022-10-25 14:46:41 -05:00
CDario f6e2369bbd Removed not available UART in board 2022-10-25 16:53:42 +00:00
CDario f9983ff556 Added M5Stack Core Basic board 2022-10-25 16:42:14 +00:00
Jeff Epler f997d0053d
Enable, use SOF_REUSEADDR
This is the lwip no-os version of SO_REUSEADDR, which is set on all
listening sockets in the espressif port; do so here as well,
it makes running servers easier. The "address in use" error does
not occur.
2022-10-25 10:09:16 -05:00
Petr Sedlacek bd7f0e23d7 Adds support for the 42. Keebs Frood RP2040 board
https://github.com/piit79/Frood
2022-10-25 16:40:32 +02:00
CDario c8191e8830 Better pins definitions 2022-10-25 11:41:39 +00:00
Kattni Rembor 5ea8b75e17 Add STEMMA_I2C() object to Picos for Cowbells. 2022-10-24 16:27:32 -04:00
CDario 5fa67548ea Added missing sdkconfig file 2022-10-24 20:03:06 +00:00
CDario 39171d7626 Removed unnecessary compiler flags 2022-10-24 19:21:26 +00:00
CDario beab76c325 Added M5Stack Core Fire board 2022-10-24 18:38:30 +00:00
MicroDev 773bb99c96
Merge pull request #7099 from Neradoc/add-m5stampc3-board
Add M5Stack Stamp C3 Board
2022-10-23 00:05:44 +05:30
Neradoc 3c5bf4e852
Update ports/espressif/boards/m5stack_stamp_c3/mpconfigboard.mk
Co-authored-by: MicroDev <70126934+MicroDev1@users.noreply.github.com>
2022-10-22 16:23:27 +02:00
microDev 8f0a674a1b
coproc module enhancements
- add light and pretend-to-deep sleep support
- check coproc running status
2022-10-22 19:08:49 +05:30
microDev 83b54d003d
implement more checks in coproc module
- check memory address range
- check firmware size at an earlier stage
2022-10-22 19:05:48 +05:30
Bill Sideris 7a50beb67e
PicoW more ap work 2022-10-22 11:58:44 +03:00
askpatrickw d147712522 Add M5 Stamp C3 board 2022-10-22 00:45:54 +02:00
Dan Halbert da7edf80e0
Merge pull request #7091 from MicroDev1/corpoc
Add `CoprocAlarm`
2022-10-21 13:36:01 -04:00
microDev 5b2728bd65
reorganize espressif `mpconfigport.mk` 2022-10-21 17:35:59 +05:30
microDev 2285dd1838
update espressif risc-v build configuration
- use optimization level O2
- explicitly state risc-v arch
2022-10-21 17:11:56 +05:30
Bill Sideris 8cc536bb7f
PicoW start_ap() 2022-10-21 13:20:16 +03:00
microDev b33a2b45dc
add coproc alarm 2022-10-20 18:38:20 +05:30
MicroDev b5b649801b
Merge pull request #6902 from MicroDev1/coproc
Add `coproc` module
2022-10-20 12:51:59 +05:30
microDev 5232e3f6c3
add coproc module 2022-10-20 09:09:44 +05:30
Dan Halbert 7015b7396e
Merge pull request #7089 from jepler/picow-gpio-number
pico w: Disentangle "TOTAL_GPIO_COUNT", it's complicated
2022-10-19 22:42:16 -04:00
Jeff Epler 576a1ac700
pico w: Disentangle "TOTAL_GPIO_COUNT", it's complicated
You might wonder how this fixes a problem with PulseIn, when the
changes aren't to any of those files! PulseIn is implemented in terms of
StateMachine, which had some assumptions about the relation between
the index of a pin object in mcu_pin_global_dict_table and its "pin
number". This was true, until some pins were removed from the
microcontroller module on Pico W.

Closes: #7078
2022-10-19 21:09:50 -05:00
Jeff Epler 8bef4282c0
pico w: implement static configuration methods in wifi.Radio 2022-10-19 20:54:53 -05:00
Dan Halbert 31d7c91c85
Merge pull request #7059 from jepler/asyncio-tests-dogfood
asyncio: we should dogfood our own asyncio implementation during automated tests
2022-10-19 15:11:04 -04:00
Dan Halbert 08e1cdb282
Merge pull request #7079 from jepler/picow-2xmss
Pico W grab bag
2022-10-19 15:03:00 -04:00
Dan Halbert 607e917363
Merge pull request #7073 from MicroDev1/patch
Fix 2/4MB Partition Tables & Makefile
2022-10-17 22:29:16 -04:00
Jeff Epler 6e350a65cf
Merge pull request #7076 from bill88t/early-wifi
Implement async wifi connection on picow
2022-10-17 19:54:58 -05:00
Jeff Epler 3b7feccd9b
picow: Implement stop_station
Weirdly we have to stop the AP too (which we never started),
or cyw43_tcpip_link_status still reports that STA is connected.
As long as AP mode isn't implemented, this doesn't matter and
we can just do it.
2022-10-17 19:42:10 -05:00
Jeff Epler 57756863ef
picow: depending on memory pressure, may only be able to write 1 MSS
Foamyguy discovered that trying to send >2920 bytes at once consistently
failed. I further discovered that sometimes trying to send >1460 bytes
would fail too.  By "fail", I mean that it would take a very long time
(around 200 * 50ms) before erroneously reporting that all bytes were
written.

In my testing, this change causes larger writes to successfully
send either 2920 or 1460 bytes (possibly after doing some 50ms waits
for a previous packet to clear).

The documentation of socket.send always stated that it COULD send fewer
bytes than requested, but adafruit_httpserver assumed that the number
of requested bytes were always sent, so after this change alone,
adafruit_httpserver will still not work properly.

Closes: #7077 (albeit fixes are needed in adafruit_httpserver too)
2022-10-17 19:42:07 -05:00
Jeff Epler 861b22730e
picow: if initial write fails, write at most 1 TCP MSS of data 2022-10-17 19:28:02 -05:00
Jeff Epler 1975742d9f
picow: fix formatting numbers in lwip debug output 2022-10-17 19:28:02 -05:00
Jeff Epler 6128f4e5af
picow: add resolution of ".local" names 2022-10-17 19:28:01 -05:00
microDev fb91c2f436
cleanup `sdkconfig-esp32.defaults`
- remove log level: set by -opt or -debug sdkconfig
- remove lwip hostname: set by board specific sdkconfig
2022-10-17 22:05:20 +05:30
Bill Sideris 47c373e67e
Use `cyw43_tcpip_link_status` instead 2022-10-17 18:33:32 +03:00
Bill Sideris bce024f59e
Implement async wifi connection on picow 2022-10-17 18:17:14 +03:00
Jeff Epler 47541afc7c
picow: ask at a lower level if the interface is up
Closes: #7072

```
Adafruit CircuitPython 8.0.0-beta.2-9-g5192082e64-dirty on 2022-10-17; Raspberry Pi Pico W with rp2040
>>> import wifi
>>> print(wifi.radio.ipv4_address)
None
>>> import os
>>> wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))
>>> print(wifi.radio.ipv4_address)
10.0.2.94
```
2022-10-17 10:08:50 -05:00
microDev 434c6d5604
fix uf2 bootloader condition in makefile 2022-10-17 19:45:48 +05:30
microDev 5114ae7a31
fix `2MB-no-uf2` partition table 2022-10-17 19:44:08 +05:30
microDev f86377e0f1
fix `4MB-no-uf2` partition table 2022-10-17 19:42:41 +05:30
Jeff Epler d4b1d4d430
Fix GPIO state when initializing CYW43 pin
Closes: #7063
2022-10-15 13:10:22 -05:00
microDev e7b25dbf73
improve `dualbank` errors 2022-10-15 13:20:10 +05:30
Jeff Epler 6a8bc738ec
Make it easy to test just a subset of tests
with e.g., 'make TEST_EXTRA="extmod/uasyncio*.py" test'
2022-10-14 17:07:27 -05:00
Jeff Epler 963a51487a
unix Makefile: easy wait to print test failures as diffs 2022-10-14 14:44:52 -05:00
Dan Halbert 0ce84b27e8
Merge pull request #7053 from CytronTechnologies/add-pin-definitions-maker-feather-aiot-s3
Added Pin Definitions for Cytron Maker Feather AIoT S3
2022-10-14 11:31:53 -04:00
Dan Halbert 062d63ee3a
Merge pull request #7050 from jepler/picow-wirelsess-off-in-deep-sleep
picow: Turn off wifi co-processor regulator when entering deep sleep
2022-10-14 08:17:16 -04:00
Dan Halbert 8caafd9079
Merge pull request #7051 from jepler/picow-hashlib
implement hashlib for picow
2022-10-14 08:14:41 -04:00
Kong Wai Weng fc00a6675e Added some pin definitions to match with the Arduino core. 2022-10-14 17:25:24 +08:00
microDev 66b539d768
fix espressif log level 2022-10-14 11:33:10 +05:30
Jeff Epler 3b3fe44174
implement hashlib for picow 2022-10-13 20:42:50 -05:00
Jeff Epler 0c5fd55c16
picow: Turn off wifi co-processor regulator when entering deep sleep
This reduces power consumption during true deep sleep.

In my measurements with ppk2 and a program that _irrevocably_ entered
deep sleep (no time alarm or pin alarm), power usage as measured on a
ppk2 decreased from ~10mA to ~1mA.
2022-10-13 20:10:10 -05:00
Dan Halbert bb3e04a078
Merge pull request #7048 from georgboe/fix-recvinto-errno
Return correct errno in raspberrypi's Socket.c
2022-10-13 18:19:02 -04:00
Georg Bøe e768b9ebb3 Return correct errno 2022-10-13 21:00:51 +02:00
Dan Halbert de7a9c38fc Merge remote-tracking branch 'adafruit/main' into add-os-utime-function 2022-10-13 14:15:13 -04:00
Dan Halbert 1569c7ed33
Merge pull request #7045 from jepler/smaller-microcontroller-temperature-samd
samd: Size-optimize the temperature code with an 0.5 to 2.0 degree relative additional error
2022-10-13 14:02:51 -04:00
Dan Halbert 7e4b2a09eb
Merge pull request #7000 from MicroDev1/storage-extend
Add Storage Extension Support
2022-10-13 10:05:55 -04:00
microDev 728fea4ca4
add storage extension python api 2022-10-13 09:53:33 +05:30
Jeff Epler f7d39ceae4
comment on the revised algorithm 2022-10-12 16:25:09 -05:00
Jeff Epler a943167d69
samd: Reduce a further 48 bytes for non-full builds
Another reduction of -48 bytes can be had if the fine calculation
step is skipped. The worst difference compared to the old reference
code with my calibration values in the 0° to 60° was 2°C,
and the difference at 25°C is 1°C.

The final size decrease for non-full builds like Trinket M0 is 268
bytes.
2022-10-12 15:53:44 -05:00
Jeff Epler b251e78ac5
samd: size-optimize microcontroller temp calc
Perform most arithmetic with scaled integer values.
For my calibration values
```
const uint32_t NVMCTRL_TEMP_LOG[]={0xfc05511e, 0xcc7ac0f7};
```
the maximum difference between the old and new calculation is 0.50°C.
The difference is smallest (0.13°) at 25.87°C in the old scale.

This reduces mcu_processor_get_temperature from 568 bytes to 348 bytes
(-220 bytes)
2022-10-12 15:44:14 -05:00
Jeff Epler 874ddd67bf
Pico W: ssl: factor out do_handshake 2022-10-12 11:38:30 -05:00
Jeff Epler 1641a7c002
Pico W: ssl: Correctly handle errors in send/recv
The prefixed versions raise Python exceptions, the un-prefixed return
negative error values. We don't want to raise an exception from here,
it leaves the SSL stack in an undefined state.
2022-10-12 11:38:30 -05:00
Jeff Epler 7c849fdadb
Pico W: ssl: Raise MemoryError for allocation errors 2022-10-12 11:38:29 -05:00
Jeff Epler b1f7940297
Pico W: Correctly treat empty cadata= as disabling host checking 2022-10-12 11:38:29 -05:00
Jeff Epler ca9523b814
Pico w: socket: Correctly return negative error code from recv_into 2022-10-12 11:38:29 -05:00
Jeff Epler 62cbd3bcd8
Pico w: socket: correctly track sockets generated by accept() 2022-10-12 11:38:26 -05:00
MicroDev ab22d5a8cd
Merge pull request #7024 from flom84/stm-include-headers-fixes
Remove redundant header files in STM port
2022-10-12 10:22:29 +05:30
Dan Halbert 822e806f03
Merge pull request #7031 from BPI-STEAM/CircuitPython-main-bpi-picow-dev
Add BananaPi BPI-PicoW-S3 .
2022-10-11 22:53:37 -04:00
Wind-stormger 376df8ec7e Add BananaPi BPI-PicoW-S3 .
Adds support for the BananaPi BPI-PicoW-S3 Boards.
Based on esp32s3 chip.
With one WS2812 LED, one monochrome LED, one ceramic antenna.
Support double-reset to tinyUF2.
2022-10-12 09:11:25 +08:00
Dan Halbert e19abef57e forgot to add these! 2022-10-11 13:12:43 -04:00
Dan Halbert 851f8a188d Merge remote-tracking branch 'adafruit/main' into HEAD 2022-10-11 12:21:59 -04:00
Dan Halbert 4cd370ecf8 Merge remote-tracking branch 'adafruit/main' into add-os-utime-function 2022-10-10 17:51:59 -04:00
Jeff Epler 0c8b261ec9
picow: Add support of self-signed certificates.
## Testing self-signed certificates and `load_verify_locations`

Obtain the badssl "self-signed" certificate in the correct form:

```sh
openssl s_client -servername self-signed.badssl.com -connect untrusted-root.badssl.com:443 < /dev/null | openssl x509 > self-signed.pem
```

Copy it and the script to CIRCUITPY:
```python
import os
import wifi
import socketpool
import ssl
import adafruit_requests

TEXT_URL = "https://self-signed.badssl.com/"
if not wifi.radio.ipv4_address:
    wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))

pool = socketpool.SocketPool(wifi.radio)
context = ssl.create_default_context()
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} without certificate (should fail)")
try:
    response = requests.get(TEXT_URL)
except Exception as e:
    print(f"Failed: {e}")
else:
    print(f"{response.status_code=}, should have failed with exception")

print("Loading server certificate")
with open("/self-signed.pem", "rb") as certfile:
    context.load_verify_locations(cadata=certfile.read())
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} with certificate (should succeed)")
try:
    response = requests.get(TEXT_URL)
except Exception as e:
    print(f"Unexpected exception: {e}")
else:
    print(f"{response.status_code=}, should be 200 OK")
```
2022-10-10 15:53:56 -05:00
Jeff Epler c98174eea5
Add support for SSL client certificate (load_cert_chain)
Tested with badssl.com:

 1. Get client certificates from https://badssl.com/download/
 2. Convert public portion with `openssl x509 -in badssl.com-client.pem -out CIRCUITPY/cert.pem`
 3. Convert private portion with `openssl rsa -in badssl.com-client.pem -out CIRCUITPY/privkey.pem` and the password `badssl.com`
 4. Put wifi settings in CIRCUITPY/.env
 5. Run the below Python script:

```py
import os
import wifi
import socketpool
import ssl
import adafruit_requests

TEXT_URL = "https://client.badssl.com/"
wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))

pool = socketpool.SocketPool(wifi.radio)
context = ssl.create_default_context()
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} without certificate (should fail)")
response = requests.get(TEXT_URL)
print(f"{response.status_code=}, should be 400 Bad Request")
input("hit enter to continue\r")

print("Loading client certificate")
context.load_cert_chain("/cert.pem", "privkey.pem")
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} with certificate (should succeed)")
response = requests.get(TEXT_URL)
print(f"{response.status_code=}, should be 200 OK")
```
2022-10-10 15:10:53 -05:00
flom84 81d227de73 Use types from circuitpython. 2022-10-10 20:55:44 +02:00