11765 Commits

Author SHA1 Message Date
Damien George
7d66ae603d esp32/machine_timer: Switch from legacy driver to timer HAL.
The legacy driver was deprecated in IDF v5, and crashes when the ISR
handler is called.  Instead of fixing the legacy code, this commit reworks
the machine.Timer class to use the low-level HAL driver.

Tested on ESP32, ESP32S2, ESP32S3 and ESP32C3.  Behaviour is the same as it
was before this commit, except the way the Timer object is printed, it now
gives more useful information (timer id, mode, period in ms).

Fixes issue #11970.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-14 10:02:42 +10:00
Scott Shawcroft
4e01674cbd
Fix rp2 safe mode via reset press
The picodvi PR #7880 switched the saved word to the watchdog
register since it reworked the RAM layout. This works for
reset_into_safe_mode because the watchdog scratch registers are
preserved by soft resets. They *aren't* preserved for pressing the
reset button. So it broken manual safe mode. Switch back to using
RAM to store the saved word but use the pico-sdks "uninitialized"
designation instead of a fixed location.

Also fixes USB host feather status neopixel by setting the power
pin.
2023-07-13 14:49:08 -07:00
Sylwester
3ac84281bf Add NeoPixel Library for Datanoise PicoADK. 2023-07-13 12:04:27 +02:00
madcitygeek
a7bbb05e25
Update mpconfigboard.mk
Use unique CIRCUITPY_CREATION_ID
2023-07-12 22:59:43 -05:00
madcitygeek
2742466709
Merge branch 'adafruit:main' into add_luatos_core_esp32c3_ch343 2023-07-12 22:29:47 -05:00
Nicholas H.Tollervey
14c2b64131 webassembly: Replace typeof window check with ENVIRONMENT_IS_NODE flag.
When the "typeof window" check is run within a web worker the window is
undefined, causing an error because "require" is only defined in a Node
environment.  Change the logic to reflect the true intentions of when this
code should run, ie in Node only.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-13 13:24:35 +10:00
Damien George
88771c1500 renesas-ra,stm32: Remove duplicate machine module from constants list.
In the u-module renaming done in 30628d1bb782006c88325a086ddfcd5c2e5ddbb4,
these duplicate lines were accidentally left.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-13 13:18:09 +10:00
Damien George
62673a7708 stm32/mpconfigport: Always define MICROPY_SOFT_TIMER_TICKS_MS.
Even if MICROPY_PY_MACHINE is disabled, the soft timer is still used.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-13 13:10:31 +10:00
Victor Rajewski
730525cec9 stm32/qspi: Allow qspi_write_cmd_data to write cmd with 1 data byte.
The existing qspi for stm32 implementation can only send a spi command with
exactly 0 or 2 data bytes.  Certain spiflash chips (e.g. AT25SF321B) have
commands that only take a single data byte, and will ignore the command if
more than that is sent.  This commit allows sending a command with a single
data byte.

Signed-off-by: Victor Rajewski <victor@allumeenergy.com.au>
2023-07-13 12:49:51 +10:00
Yuuki NAGAO
409978a1fb stm32/adc: Fix pyb.ADCAll.read_core_bat on G4 and L4 MCUs.
Update adc_refcor before reading ADC_CHANNEL_VBAT because VREFINT_CAL is at
VDDA=3.0V.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:40:55 +10:00
Yuuki NAGAO
cb38f77918 stm32/adc: Add workaround for ADC errata with G4 MCUs.
For STM32G4, there is a errata on ADC that may get wrong ADC result.
According to the errata sheet, this can be avoid by performing two
consecutive ADC conversions and keep second result.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:40:52 +10:00
Yuuki NAGAO
0a31b9bf78 stm32/machine_adc: Fix machine.ADC to work on G4 MCUs.
Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:39:12 +10:00
Yuuki NAGAO
d9764ad140 stm32/adc: Fix reading internal ADC channels on G4 MCUs.
For STM32G4 series, the internal sensors are connected to:
- ADC1_IN16: Temperature sensor
- ADC1_IN17: Battery voltage monitoring
- ADC1_IN18: Internal voltage reference
but ADC_CHANNEL_TEMPSENSOR_ADC1, ADC_CHANNEL_VBAT,
ADC_CHANNEL_VREFINT are not defined as 16, 17, 18.

This commit converts channel 16, 17, 18 to ADC_CHANNEL_x in
adc_get_internal_channel().

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:39:12 +10:00
Yuuki NAGAO
0ba94a67ba stm32/adc: Fix pyb.ADCAll.read_core_temp for G4 MCUs.
For STM32G4,
 * TS_CAL1 raw data acquired at a temperature of 30°C
 * TS_CAL2 raw data acquired at a temperature of 130°C
Also, these values are at VDDA=3.0V.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:39:06 +10:00
Yuuki NAGAO
de8035b510 stm32/adc: Fix ADC clock prescaler for G4 MCUs.
For STM32G4, ADC clock frequency should be equal or less than 60MHz.
To satisfy this specification, ADC clock prescaler should be equal or
greater than 4 (For example, NUCLEO_G474RE runs 170MHz).

In addition, to obtain accurate internal channel value,
the ADC clock prescaler is set to 16 because vbat needs at least 12us
(16/170*247.5=23.3us).

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:39:01 +10:00
Yuuki NAGAO
ec9ea97413 stm32/dac: Fix dac.write_timed on G4 MCUs to use 32-bit DMA access.
For STMG4 MCUs, the peripheral registers for DAC have to be accessed by
words (32bits) because DAC is connected to AHB directly.

(This requirement is also there for other MCU series.  However, if DAC is
connected to APB like F4/L1/L4 MCUs, AHB byte or half-word transfer is
changed into a 32-bit APB transfer.  This means that PSIZE does not have to
be DMA_PDATAALIGN_WORD on these MCUs, and in fact must be BYTE/HALFWORD to
function correctly.)

Fixes issue #9563.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
2023-07-13 12:23:34 +10:00
Glenn Moloney
dbced75b48 esp32/network_wlan: Wait for STA/AP START/STOP event in wlan.active.
This is a fix for commit bccbaa92b1fc6237f0f49a7f07cc194835fbf4e3:
- Should only wait for WIFI_EVENT_STA_START when invoked on the STA_IF
  interface.
- The WIFI_EVENT_STA_START event is generated every time the STA_IF
  interface is set active(True) and it was previously inactive, ie. not
  only after calling esp_wifi_start().
- Also wait for WIFI_EVENT_STA_STOP when deactivating the interface.
- Also wait for relevant AP events.

Fixes issue #11910.

Signed-off-by: Glenn Moloney <glenn.moloney@gmail.com>
Signed-off-by: Damien George <damien@micropython.org>
2023-07-13 11:49:14 +10:00
Jeff Epler
6b5cf5537a
Merge pull request #8035 from dhalbert/metro-rp2040
Add Adafruit Metro RP2040
2023-07-12 10:40:37 -05:00
Miroslav Zuzelka
8d6ef37a7c
Update pins.c
Fix pre-commit error
2023-07-11 23:12:46 +02:00
Miroslav Zuzelka
2746709dfc
Update pins.c
Add EPD pins definition
2023-07-11 22:58:12 +02:00
Miroslav Zuzelka
812df860cc
Merge branch 'adafruit:main' into main 2023-07-11 22:54:01 +02:00
madcitygeek
5e97ff80f2 Added a varient of the luatos board with on-board ch343 2023-07-11 14:56:10 -05:00
Scott Shawcroft
346ec8d4a8
Merge pull request #8156 from DatanoiseTV/datanoise_picoadk
Add Datanoise PicoADK Board
2023-07-11 11:01:28 -07:00
Dan Halbert
5a7a7e221d
Merge pull request #8130 from dhalbert/adafruit_qtpy_esp32s3_4mbflash_2mbpsram
Add adafruit_qtpy_esp32s3_4mbflash_2mbpsram; remove frozen libs from qtpy_esp32s3_nopsram
2023-07-11 13:05:19 -04:00
Scott Shawcroft
7764cde6c2
Merge pull request #8155 from tannewt/imx_usb_host
Basic USB host support and keyboard workflow
2023-07-11 09:50:09 -07:00
Damien George
2c67671651 esp32/boards/GENERIC_OTA: Enable silent checks to reduce firmware size.
Enabling mDNS put this firmware over the limit of the OTA partition size,
so tweak the compiler settings to reduce the firmware size.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-12 00:12:13 +10:00
Sylwester
9b80943885 Add Datanoise PicoADK 2023-07-11 10:01:46 +02:00
Sylwester
449416f5e1 Add Datanoise PicoADK 2023-07-11 09:52:47 +02:00
Carlosgg
1f35576a69 esp32: Re-enable mDNS after move to IDF v5.0.2.
mDNS was disabled in e4650125b88a35f074097f16d84a8f49bd22ac06.  This commit
re-enables it.

For reference see:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/migration-guides/release-5.x/5.0/removed-components.html

Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
2023-07-11 15:58:15 +10:00
Damien George
7bced2eaec stm32/modmachine: Make machine_reset_cause_obj public.
To match the other functions in the machine module, in particular so that
MICROPY_PY_MACHINE can be disabled without getting a compiler warning about
unused code.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-11 13:45:53 +10:00
Tobias Thyrrestrup
dd8de8b412 stm32/modmachine: Remove duplicate machine_timer_type declaration.
Signed-off-by: Tobias Thyrrestrup <tt@LEGO.com>
2023-07-11 12:34:51 +10:00
Scott Shawcroft
52ca0504d9
Comment out debug UART on RP2040 USB host feather 2023-07-10 15:37:57 -07:00
Petr Sedlacek
ae84441575 Update 42. Keebs Frood support for Rev7 2023-07-10 23:32:02 +02:00
Scott Shawcroft
2686beab36
Basic USB host support and keyboard workflow
Connects up read, write and ctrl_transfer to TinyUSB. USB Host
support is available on iMX RT and RP2040.

Fixes #6527 (imx) and fixes #5986 (rp2).
2023-07-10 14:22:21 -07:00
Scott Shawcroft
9f3f2aabff
Merge pull request #8152 from splitkb/liatris
Add new board: splitkb.com's Liatris
2023-07-10 12:07:27 -07:00
Jeff Epler
164fcb22c2
Enable "from __future__ import annotations" on unix build 2023-07-10 13:53:26 -05:00
Leah Post
036eca8123 Add new board: splitkb.com's Liatris 2023-07-10 14:45:08 +02:00
MicroDev
8704ba158b
fix set hostname 2023-07-09 21:25:37 +05:30
Miroslav Zuzelka
4caccfdf8d
Merge branch 'adafruit:main' into main 2023-07-07 11:48:38 +02:00
Miroslav Zuzelka
8991f0cd7a Update ES3ink board definition
- fix wrong VID
- add NEOPIXEL definition
- add DOUBLE_TAP_PIN definition
- add definition for default SPI bus
2023-07-07 11:48:03 +02:00
Zelin Cai
5fedf02806 Added Makerdiary nRF52840 Connect Kit.
Signed-off-by: Zelin Cai <zelin@makerdiary.com>
2023-07-07 15:11:12 +08:00
Scott Shawcroft
fad86bfb27
Merge pull request #8129 from Neradoc/fix-psram-on-esp32s3-box
Fix PSRAM on espressif ESP32S3 box and box lite
2023-07-05 14:16:17 -07:00
Melissa LeBlanc-Williams
5dc7e9472b Swapped address pins for Rev C 2023-07-03 12:08:10 -07:00
Miroslav Zuzelka
1787e76389 Add ES3ink board definition 2023-06-30 11:01:00 +02:00
Dan Halbert
2a8d6d655c adafruit_qtpy_esp32s3_4mbflash_2mbpsram 2023-06-28 22:59:00 -04:00
Neradoc
f1d9ee0de3 Fix PSRAM on espressif ESP32S3 box and box lite 2023-06-28 19:26:08 +02:00
Scott Shawcroft
ce3df829e1
Merge pull request #8118 from n0xa/M5StickCPlus
Adding support for M5Stack Stick C Plus
2023-06-28 09:08:02 -07:00
Dan Halbert
77b3a0570e add Adafruit Metro M7 1011 SD 2023-06-27 19:11:25 -04:00
Scott Shawcroft
5dc2b168d7
Merge pull request #8123 from jepler/issue8121-workaround
rp2040: Avoid screeches due to audio underflow during flash writes
2023-06-27 09:09:03 -07:00
Jeff Epler
385366128f
Don't use "cookie" variable/function name 2023-06-27 09:59:02 -05:00