34586 Commits

Author SHA1 Message Date
Rene Straub
08c661c930 stm32/dac: Add STM32H5 DAC support, with dma_nohal implementation.
Integrate DAC support for STM32H5.  Implement STM32H5 GPDMA driver. The DMA
driver is largely different from other STM32 variants.  To support the DAC
circular mode, memory based linked list DMA descriptors are used.

Signed-off-by: Rene Straub <rene@see5.ch>
2023-09-28 17:11:37 +10:00
Jeff Epler
8b84edfdde
ci_set_matrix: no need to expand the value of CIRCUITPY_WEB_WORKFLOW
This is now done by the way shared_bindings_matrix.py invokes make.
2023-09-27 21:36:35 -05:00
Jeff Epler
e40abda1bc
ci_set_matrix: Don't use .get(), it hides errors
Variables that are explicitly fetched always have a value, even if it
is the empty value. However, using .get() hid the error that
shared_bindings_matrix wasn't fetching SRC_SUPERVISOR.
2023-09-27 21:36:34 -05:00
Jeff Epler
c261ac6318
shared_bindings_matrix: Explicitly fetch SRC_SUPERVISOR for ci_set_matrix 2023-09-27 21:33:19 -05:00
Jeff Epler
a9fce6c495
qualia: fixes for revision C
* neopixel removed, could not share function with DBLTAP
 * external SPI bus definition is settled
2023-09-27 18:13:21 -05:00
Jeff Epler
aa0d7aad83
Merge pull request #8440 from jepler/dotclock-overscan-rotation
Dotclock: fix overscan and rotation
2023-09-27 18:07:50 -05:00
Jeff Epler
c1a98e460a
Merge pull request #8439 from tannewt/fix_for_make_quirk
Tweak for make quirk
2023-09-27 18:05:43 -05:00
Jeff Epler
451356db2d
Merge pull request #8438 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2023-09-27 18:05:21 -05:00
Jeff Epler
b3141933af
FramebufferDisplay: dirty rows are physical
.. so they need a correct row count, which could be the "core.width"
of a 90/180 rotated display.

While I discovered this on the very unusual 320x960 display it could have
affected any framebuffer display that was taller than it was wide,
including sharp memory displays and rgbmatrix displays.
2023-09-27 15:15:34 -05:00
Jeff Epler
f80d08e207
Make dot clock displays with a masked portion on the left work 2023-09-27 15:15:32 -05:00
Hosted Weblate
c2297f7980
Merge remote-tracking branch 'origin/main' 2023-09-27 18:39:46 +00:00
Scott Shawcroft
3684640ada
Merge pull request #8430 from jepler/dotclock-enhancements
Dotclock enhancements
2023-09-27 11:39:37 -07:00
Scott Shawcroft
ad837d44ed
Tweak for make quirk 2023-09-27 09:17:07 -07:00
Hosted Weblate
fdab0f7212
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2023-09-27 18:13:54 +02:00
Scott Shawcroft
44d27cb23d
Merge pull request #8435 from tannewt/fix_esp32_with5.1
Update ADC and I2S APIs for 5.1
2023-09-27 09:13:47 -07:00
Jeff Epler
41096dddaa
Merge pull request #8434 from rimwolf-redux/bitmap
Fixed displayio/Bitmap value_count range check
2023-09-27 09:22:25 -05:00
Rene Straub
72ef2e6291 stm32/machine_adc: Fix and improve STM32H5 support.
Changes are:
- Run ADC on PCLK/16.
- Verify and optimize timings (ADC_STAB_DELAY_US, ADC_SAMPLETIME_DEFAULT).
- Add support for STM32H5 VBAT and COREVDD channels on ADC2.
- Replace ADC constants in machine_adc_locals_dict_table.
- Convert STM32 literal to channel numbers in adc_config_channel with
  corresponding STM32 LL library functions (__LL_ADC_IS_CHANNEL_INTERNAL(),
  __LL_ADC_CHANNEL_TO_DECIMAL_NB()).

Reasoning for the second last point: the STM32 driver literals are uint32_t
that don't work with MP_ROM_INT() which handles signed 31 bit integers
only.  Introduce enumerator machine_adc_internal_ch_t to define external
channels (0..19), internal channels (256..) and the special channel VREF
(0xffff).  Values are converted to STM32 literals with adc_ll_channel()
when required in adc_config_and_read_u16().

Signed-off-by: Rene Straub <rene@see5.ch>
2023-09-27 16:58:10 +10:00
Rene Straub
64d24fccd6 stm32/adc: Optimize sampling time for G4, H5, L4 and WB MCUs.
Signed-off-by: Rene Straub <rene@see5.ch>
2023-09-27 16:28:31 +10:00
Rene Straub
8f9bba0a1a stm32/adc: Add support for STM32H5 ADC2 inputs.
Select ADC instance based on pin information to support ADC2 inputs.
Display ADC instance number similar to machine_adc (STM32H5 only):
<ADC2 on Pin(Pin.cpu.F14, mode=Pin.ANALOG) channel=6>

Signed-off-by: Rene Straub <rene@see5.ch>
2023-09-27 16:28:15 +10:00
Rene Straub
13cc280eae stm32/adc: Fix STM32H5 support.
Fixed the preliminary STM32H5 ADC support for pyb.ADC:
- Run ADC on PCLK/16.
- Use STM32 ADC library channel literals (__HAL_ADC_DECIMAL_NB_TO_CHANNEL).
- Use correct temperature conversion for H5 (30C, 130C calibration points).

Signed-off-by: Rene Straub <rene@see5.ch>
2023-09-27 16:26:30 +10:00
Phillip Burgess
54322578d2 RP2040: fix 8-bit WAV "audio buffer too small" bug
Also subtly fixed 8- to 16-bit scaling math
2023-09-26 16:44:19 -07:00
Scott Shawcroft
3fdfb9bd32
Update ADC and I2S APIs for 5.1
This fixes ESP32 because the BufferedIn used the old ADC API and
I2S did too indirectly.

Fixes #8429
2023-09-26 16:06:54 -07:00
Jeff Epler
3d3061f6f7
fix qualia board definition 2023-09-26 08:33:27 -05:00
Jeff Epler
1c2362b758
bump qualia psram to 120MHz 2023-09-26 08:33:10 -05:00
Jeff Epler
6990c37320
Fix calculation of bit-weight for reset pin 2023-09-26 08:33:00 -05:00
Jeff Epler
3af5cbc312
bump ram to 120MHz 2023-09-26 07:49:00 -05:00
Jeff Epler
03141d40af
espressif: i2c: initialize "has_lock"
Otherwise, a stack-constructed i2c instance might get some other value
here.
2023-09-26 07:48:59 -05:00
Randy Hudson
f5d4f1edb7 Fixed displayio/Bitmap value_count range 2023-09-25 22:11:25 -04:00
Jeff Epler
747b6e8d2e
enable LCD_RGB_RESTART_IN_VSYNC
this "should" turn permanent tearing into temporary tearing.
2023-09-25 16:39:38 -05:00
Jeff Epler
6263f6af84
Switch to i2c init string for espressif lcd ev, expose values via board 2023-09-25 16:39:00 -05:00
Jeff Epler
65310ab615
update io expander table for rev C 2023-09-25 12:00:04 -05:00
Jeff Epler
ce22edba15
On Qualia, define board.TFT_IO_EXPANDER
these arguments make it easier to call ioexpander_send_init_sequence
2023-09-25 11:33:01 -05:00
Jeff Epler
04ad525c09
Re-work ioexpander_send_init_sequence
* can now send the I2C bus initialization code
 * can now reset the display on an I/O expander pin
 * parameters re-ordered to enable easy use with **board.TFT_IO_EXPANDER
2023-09-25 11:31:16 -05:00
Jeff Epler
409d1a83b6
displayio: fix releasing dot clock framebuffres in release_displays
this caused problems particularly when the framebuffer was not associated
with a display.
2023-09-25 09:45:35 -05:00
MicroDev
27fd60d739
implement suggested changes
- update the docs
- split out common `watchdog_reset`
- revert to using `None` instead of `WatchDogMode.NONE`
2023-09-24 15:23:38 +00:00
Dan Halbert
586ead30b9
Merge pull request #8427 from MakerM0/8.2.x
Add board def for MagiClick S3
2023-09-24 11:03:01 -04:00
MakerM0
761ac3b363
Update pins.c 2023-09-24 22:40:08 +08:00
MakerM0
6acce76181
Update pins.c 2023-09-24 22:35:31 +08:00
MakerM0
9284d25ad4
Update pins.c 2023-09-24 22:28:48 +08:00
MakerM0
e197493537
Update mpconfigboard.mk 2023-09-24 22:24:24 +08:00
MakerM0
1143d3e33a
Update mpconfigboard.h 2023-09-24 22:23:56 +08:00
MakerM0
ca4ecf043e
Update board.c 2023-09-24 22:23:12 +08:00
MakerM0
71e165b1fc
Update pins.c 2023-09-24 22:22:48 +08:00
MakerM0
918f93fc2c
Update mpconfigboard.mk 2023-09-24 22:08:00 +08:00
MakerM0
3913adf7fb
Update sdkconfig 2023-09-24 22:06:38 +08:00
MakerM0
c35839afc5
Update board.c 2023-09-24 22:05:34 +08:00
MakerM0
0507e7a00d
Update mpconfigboard.mk 2023-09-24 21:50:30 +08:00
MakerM0
5ffb7e7c83
Update mpconfigboard.mk 2023-09-24 21:38:30 +08:00
MakerM0
ab8e119510
Update sdkconfig 2023-09-24 21:17:39 +08:00
MakerM0
9ab8822c59
Update pins.c 2023-09-24 21:17:25 +08:00