Commit Graph

1898 Commits

Author SHA1 Message Date
James Munns
4202dac8a6
L4 Example: probe-run to probe-rs
Reverts some change made in https://github.com/embassy-rs/embassy/pull/1792
2024-04-16 17:03:44 +02:00
Dion Dokter
90f1d29c24 Fix rng clock 2024-04-16 16:36:10 +02:00
Dion Dokter
a5f754238b Add spi, i2c and fix usart 2024-04-16 15:33:23 +02:00
Dion Dokter
53cb84d3d6 Added RTC example 2024-04-16 15:24:20 +02:00
Dion Dokter
c8c7c718f3 Merge branch 'master' into u0-dion 2024-04-16 13:48:18 +02:00
Dario Nieuwenhuis
d6b1233f16 stm32/usart: remove DMA generic params. 2024-04-16 02:00:55 +02:00
Dario Nieuwenhuis
6d122c274f
Merge pull request #2792 from wagcampbell/wgc/u5-flash-non-secure
Support non-secure flash operations on STM32U5
2024-04-15 22:28:34 +00:00
Warren Campbell
c5119c6318 Add support for using secure registers 2024-04-15 18:02:29 -04:00
Dario Nieuwenhuis
913bb19a34 stm32/i2c: remove DMA generic params. 2024-04-15 23:40:12 +02:00
Dario Nieuwenhuis
be087e5d43 stm32/spi: remove DMA generic params. 2024-04-15 21:23:49 +02:00
Boris Faure
ae4fb433ae usb-hid: all the RequestHandler method accept &mut self 2024-04-15 19:57:18 +02:00
Boris Faure
9341ef3b47 examples: request_handler is mutable 2024-04-15 19:57:18 +02:00
Dario Nieuwenhuis
65c085ce91 Add stm32u0 support. 2024-04-14 22:29:07 +02:00
Dario Nieuwenhuis
4079a8acf8 stm32/adc: update g4 for new pac. 2024-04-14 22:06:41 +02:00
Dion Dokter
e224e6cef4 Add CRC 2024-04-14 01:10:20 +02:00
Dion Dokter
ca84be80bc Add wdt and flash 2024-04-14 00:45:53 +02:00
Dion Dokter
0a785585bc Remove temp variable 2024-04-14 00:08:06 +02:00
Dion Dokter
b659e3d529 Add ADC 2024-04-14 00:04:13 +02:00
Dion Dokter
5f23e39052 Add some examples.
- usart works
- dac works
- rng gets stuck on while loop
- usb_serial works, but cannot test due to lack of user usb port
- adc needs work and does not work yet
2024-04-13 18:40:46 +02:00
Dion Dokter
af03e1653a Disable the speed limitation 2024-04-13 14:07:01 +02:00
Dario Nieuwenhuis
ec6ff217ca Add stm32u0 support. 2024-04-13 03:57:21 +02:00
Dario Nieuwenhuis
52bd24499c stm32/adc: update g4 for new pac. 2024-04-13 03:34:28 +02:00
Vega Deftwing
9053b6b5b3 Fix spelling and white space mistakes 2024-04-11 19:45:38 +00:00
Gustav Toft
fc260fbb01 Merge branch 'main' of https://github.com/embassy-rs/embassy 2024-04-11 09:07:38 +02:00
Gustav Toft
4ffe35c840 Merge branch 'main' of https://github.com/embassy-rs/embassy 2024-04-10 13:26:59 +02:00
Andres Vahter
fd901fc7e0 stm32: update adc examples 2024-04-10 10:57:52 +03:00
Barnaby Walters
effc08dde3 Incorporated adam’s suggestion into all multiprio comments 2024-04-07 16:22:42 +02:00
Barnaby Walters
56d34eefaa
Apply suggestions from code review
Co-authored-by: becothas <41289937+becothas@users.noreply.github.com>
2024-04-07 15:33:51 +02:00
Barnaby Walters
cf0097162c [embassy-stm32] added comments explaining multiprio interrupts 2024-04-07 15:19:56 +02:00
Barnaby Walters
99ea564f1c
Add VBUS detection blackpill comment 2024-04-05 22:11:01 +02:00
pawel00100
143b288333 Add parameter for enabling pull-up and pull-down in RP PWM input mode 2024-04-05 01:20:34 +02:00
Dario Nieuwenhuis
a84b33995e rp: remove mod sealed. 2024-04-05 00:48:46 +02:00
Dario Nieuwenhuis
6c35a1769d
Merge pull request #2697 from eZioPan/stm32-cordic
stm32 CORDIC driver
2024-04-04 21:32:27 +00:00
Gustav Toft
a373633d0d Merge branch 'main' of https://github.com/GustavToft/embassy 2024-04-04 15:52:44 +02:00
Gustav Toft
0427c442ea Implement raw sockets in embassy-net 2024-04-04 15:51:25 +02:00
Dario Nieuwenhuis
067e422863
Merge pull request #2746 from msrd0/multiprio-example-stm32h7
Add multiprio example for stm32h7 inspired by stm32f4
2024-04-04 12:55:03 +00:00
Dominic
8fbd21d216
Add multiprio example for stm32h7 inspired by stm32f4 2024-04-04 13:22:52 +02:00
Alexandru RADOVICI
aa9eb2ab01 rename PWM_CH to PWM_SLICE 2024-04-02 17:20:35 +03:00
Dario Nieuwenhuis
c8936edb6c stm32/can: simplify bxcan api, merging bx::* into the main structs.
The bx::* separate structs (Can, Rx, Tx) and separate `Instance` trait
are a relic from the `bxcan` crate. Remove them, move the functionality
into the main structs.
2024-04-02 11:08:03 +02:00
Corey Schuhen
2217b80278 CAN: Unify API's between BXCAN and FDCAN. Use Envelope for all read methods instead of a tuple sometimes. 2024-03-28 09:32:13 +10:00
Emilie Burgun
402def86ee Remove ad-hoc fixes for setting the IOSV bit to true 2024-03-26 17:27:02 +01:00
eZio Pan
0abcccee96 stm32 CORDIC: re-design API 2024-03-23 09:15:25 +08:00
eZio Pan
83069e7b49 stm32 CORDIC: add example 2024-03-23 09:15:25 +08:00
Dario Nieuwenhuis
1171e11655
Merge pull request #2730 from embassy-rs/stm32-sealed
stm32: use private_bounds for sealed traits.
2024-03-23 01:55:42 +01:00
Dario Nieuwenhuis
2bca875b5f stm32: use private_bounds for sealed traits. 2024-03-23 01:38:51 +01:00
Dario Nieuwenhuis
389cbc0a77 stm32/timer: simplify traits, convert from trait methods to struct. 2024-03-23 01:37:28 +01:00
Adam Greig
7cf6490fba
usb: remove device_descriptor buffer, store bytes in UsbDevice.inner instead 2024-03-23 00:35:15 +00:00
Dario Nieuwenhuis
eca9aac194 Fix warnings in recent nightly. 2024-03-20 16:39:09 +01:00
AlejandroFNadal
2587ade63e Rust formatting for comments. 2024-03-20 14:11:04 +01:00
Alejandro Nadal
47ebec82b8
Add comment warning for new users about changing pins on Ethernet for different devices
Not all STM32H7 devices share the pins of the example. Added a warning and a specific example for STM32H747XIH
2024-03-20 13:56:15 +01:00
Dario Nieuwenhuis
4858a53a39 stm32/usb: ensure mux is configured in examples. 2024-03-19 22:10:59 +01:00
Dario Nieuwenhuis
530ff9d4d3 stm32/usb: merge usb and usb_otg into single module. 2024-03-19 22:07:16 +01:00
Dario Nieuwenhuis
963fda2404
Merge pull request #2652 from timokroeger/stm32-ucpd
STM32 USB Type-C/USB Power Delivery Interface (UCPD)
2024-03-14 21:21:33 +00:00
Timo Kröger
7b80de5e3d [UCPD] Enable dead-battery support in example 2024-03-14 22:14:20 +01:00
Timo Kröger
e95e95ac7a [UCPD] Take interrupt in constructor and enable it 2024-03-14 21:55:05 +01:00
Vo Trung Chi
9f699e5772 stm32: add usb_hid_keyboard example
Signed-off-by: Vo Trung Chi <votrungchi_108@live.com>
2024-03-14 23:14:43 +07:00
Corey Schuhen
242759a600 Use Result instead of Option for Frame creation. 2024-03-13 17:46:50 +10:00
Corey Schuhen
12a3af5043 Shared frame types.
Remove BXCAN speciffic id and frame modules

Remove SizedClassicData
2024-03-13 17:46:50 +10:00
Dario Nieuwenhuis
35f284ec22
Merge pull request #2691 from caleb-garrett/cryp-dma
STM32 CRYP DMA
2024-03-12 19:30:20 +00:00
Caleb Garrett
b1ba272987 rustfmt 2024-03-12 15:13:06 -04:00
Caleb Garrett
2634a57098 Correct cryp CI build issues. 2024-03-12 15:05:22 -04:00
Caleb Garrett
61050a16d5 Add CRYP DMA support. Updated example. 2024-03-12 12:01:14 -04:00
Timo Kröger
89504f5162 [UCPD] Split into CC and PD phy
PD3.0 spec requires concurrent control of CC resistors for collision avoidance.
Needed to introduce some "ref counting" (its just a bool) for drop code.
2024-03-12 08:14:42 +01:00
Timo Kröger
b7972048a1 [UCPD] Improve example and defmt Format for enums 2024-03-12 08:14:42 +01:00
Timo Kröger
5e271ff31b [UCPD] Combine RX and TX
`select(rx.receive(), tx.transmit()` had subtle interrupt enable race conditions.
Combine receiver and transmitter into one new `PdPhy` struct to disallow the
problematic pattern.
Scanning through the USB PD 2.0 specification there is no need to have RX and TX
running concurrently (after all the USB PD communication is half-duplex).
2024-03-12 08:14:42 +01:00
Timo Kröger
4d0e383816 [UCPD] Prepare for PD communication implementation 2024-03-12 08:14:42 +01:00
Timo Kröger
a3b1222617 [UCPD] Improve Type-C CC handling
* Improved interrupt handling: Clear flags in ISR, check state change in future
* Disable pull-up/pull-down resistors and voltage monitor on drop
* nightly rustfmt
2024-03-12 08:14:42 +01:00
Timo Kröger
d99fcfd0c2 [UCPD] Configuration Channel (CC) handling 2024-03-12 08:14:42 +01:00
Caleb Garrett
6e9e8eeb5f Refactored cryp din/dout into functions. 2024-03-11 11:08:02 -04:00
Corey Schuhen
65b38cf755 Fix examples and improve imports required. 2024-03-07 17:45:01 +10:00
Corey Schuhen
a9ff38003b Documentation.
.
2024-03-07 17:45:01 +10:00
Corey Schuhen
fecb65b988 Make use of internal BXCAN crate work. Tested on stm32f103 with real bus and HIL tests.
Fix
2024-03-07 17:45:01 +10:00
Dario Nieuwenhuis
aaea056ed1
Merge pull request #2664 from eZioPan/build-target-fix
ci stm32: build target fix
2024-03-06 18:51:25 +00:00
Dario Nieuwenhuis
f3efa4ee3b stm32/rtc: remove use of deprecated .timestamp() 2024-03-06 19:45:57 +01:00
Vo Trung Chi
5d53348c76 stm32: add usb_hid_mouse example
Signed-off-by: Vo Trung Chi <chi.votrung@vn.bosch.com>
2024-03-07 00:59:49 +07:00
Vo Trung Chi
61653229b6 stm32: add usb_hid_mouse example
Signed-off-by: Vo Trung Chi <chi.votrung@vn.bosch.com>
2024-03-07 00:57:18 +07:00
Vo Trung Chi
315fb040ee stm32: add usb_hid_mouse example
Signed-off-by: Vo Trung Chi <chi.votrung@vn.bosch.com>
2024-03-07 00:46:27 +07:00
Dario Nieuwenhuis
c8c4b0b701 stm32/rcc: port g0 to new api. 2024-03-04 00:04:06 +01:00
Dario Nieuwenhuis
b4567bb8c5 stm32/rcc: g4: consistent PllSource, add pll pqr limits, simplify a bit. 2024-03-04 00:04:06 +01:00
Dario Nieuwenhuis
3fe907b54d
Merge pull request #2646 from cschuhen/feature/wake_tx_on_buffered_push
Give CAN a kick when writing into TX buffer via sender.
2024-03-01 23:15:42 +00:00
Corey Schuhen
df8f508ffa Writing to TX buffer also needs to fire an interrupt to kick off transmission if it is idle.
Formatting
2024-03-02 09:09:27 +10:00
Dario Nieuwenhuis
95234cddba stm32: autogenerate mux config for all chips. 2024-03-01 23:54:37 +01:00
Caleb Garrett
998532c33e
Merge branch 'embassy-rs:main' into cryp 2024-02-29 15:21:06 -05:00
eZio Pan
47c579eba2 update metapac 2024-02-29 00:11:40 +08:00
Haobo Gu
a0afd378f4 update usbd-hid to latest
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-02-26 17:28:29 +08:00
Caleb Garrett
29d0d80808
Merge branch 'main' into cryp 2024-02-25 21:21:21 -05:00
Dario Nieuwenhuis
72c6f9a101 stm32/adc: reexport enums from PAC to avoid boilerplate hell. 2024-02-26 03:02:58 +01:00
Caleb Garrett
f352b6d68b Address CI build issues. 2024-02-25 20:59:07 -05:00
Caleb Garrett
967b4927b0 Correct tag generation. 2024-02-25 20:59:07 -05:00
Caleb Garrett
bf4cbd7577 Add CRYP example. 2024-02-25 20:59:07 -05:00
Dario Nieuwenhuis
489d0be2a2 stm32/rcc: unify naming sysclk field to sys, enum to Sysclk. 2024-02-26 00:00:17 +01:00
Dario Nieuwenhuis
497515ed57
Merge pull request #2583 from OroArmor/tim_pll_clk
Enable PLL Clocks for TIMx peripherals on STM32F3xx Chips
2024-02-25 22:45:48 +00:00
Corey Schuhen
1327a644b6 FDCAN: Don't require internal module for public API. 2024-02-25 10:14:12 +10:00
Eli Orona
e79d2dd756 Move to internal mod and re-export the enums 2024-02-24 12:54:58 -08:00
Dario Nieuwenhuis
0665e0d452 stm32/rcc: port U5 to new API, add all PLLs, all HSE modes. 2024-02-23 01:24:05 +01:00
Dario Nieuwenhuis
9c918f6474
Merge pull request #2588 from cschuhen/feature/fdcan_buffered
Add FDCAN Buffered mode.
2024-02-23 00:07:05 +01:00
Eli Orona
88e29608ed Rust fmt 2024-02-20 17:59:51 -08:00
Eli Orona
9505695830 Move compile test to the STM32F334 example. 2024-02-20 17:55:05 -08:00
Dario Nieuwenhuis
ce81bb5d53
Merge pull request #2559 from mchant/main
added usb_hid_mouse example for rp
2024-02-20 00:05:41 +00:00
Mick Chanthaseth
bae30fb397
removed extra spaces. 2024-02-19 15:41:15 -08:00
Mick Chanthaseth
9c870981e3
fixed formatting in usb_hid_mouse.rs 2024-02-19 15:28:57 -08:00
Mick Chanthaseth
f3b96d8ba0
Updated formatting in usb_hid_mouse.rs. 2024-02-19 15:14:28 -08:00
Dario Nieuwenhuis
69bfcaad42
Merge pull request #2594 from exzachlyvv/zvv/u5-i2c
Add simple i2c example for u5
2024-02-18 22:35:18 +00:00
Corey Schuhen
3f93105e9f Add dep for static_cell to example. 2024-02-19 08:33:19 +10:00
Zach
f12bba8a6d Add simple i2c example for u5 2024-02-18 16:26:44 -06:00
Dario Nieuwenhuis
034e47abac
Merge pull request #2591 from exzachlyvv/zvv/u5-flash
support u5 flash
2024-02-18 17:55:35 +00:00
Corey Schuhen
eafa90cd07 Remove the OperatingMode typestates
Instead have two explcit types(without the mode generic arg)types:
- One for config
- One for all operating modes
2024-02-18 13:09:37 +10:00
Zach
f9e7fc6e5e u5 - add working rng example 2024-02-17 14:00:03 -06:00
Zach
dd9f0d9d9e support u5 flash 2024-02-17 12:04:53 -06:00
Corey Schuhen
5ad291b708 Add a buffered mode. 2024-02-17 18:26:57 +10:00
Corey Schuhen
70b3c4374d Port FDCAN HAL to use PAC directly instead of fdcan crate.
- Provide separate FDCAN capable and Classic CAN API's
- Don't use fdcan crate dep anymore
- Provide embedded-can traits.
2024-02-17 18:25:58 +10:00
Mick Chanthaseth
7609313a75
Merge branch 'embassy-rs:main' into main 2024-02-16 22:27:06 -08:00
Mick Chanthaseth
0097cbcfe3
Update imports in usb_hid_mouse.rs 2024-02-16 22:22:13 -08:00
Eli Orona
e99ef49611 Move to auto-generated based system. 2024-02-16 19:57:00 -08:00
Dario Nieuwenhuis
b7c98b9ec9
Merge pull request #2558 from CBJamo/ws2812_write_fixup
RP: Add explicit reset time to ws2812 write fn.
2024-02-17 01:49:20 +00:00
Dario Nieuwenhuis
542dab9189
Merge pull request #2578 from CBJamo/i2c_slave_fixes
Improve rp2040 i2c slave
2024-02-17 01:45:31 +00:00
Dario Nieuwenhuis
9352621058
Merge pull request #2579 from barnabywalters/g4rcc
[embassy-stm32]: stm32g4 RCC refactor
2024-02-16 23:38:49 +00:00
Barnaby Walters
6d7458dac7 Refinements
* Implemented boost mode dance (RM0440 p234-245, 6.5.1)
* Enabled boost mode in usb_serial example, tested on hardware
* Removed hard requirement of a valid 48MHz source (HSI48 is checked if
  requested, PLL passed through as-is and assumed to be valid)
* Used calc_pclk to calculate APB frequencies
* Refactored 48MHz configuration code to remove unnecessary let and block
* Renamed ahb_freq to hclk for clarity and consistency
2024-02-17 00:30:16 +01:00
Barnaby Walters
ae74833999 Removed redundant HSI48 configuration 2024-02-16 20:32:35 +01:00
Caleb Jamison
bd0b450ca4 Improve rp2040 i2c slave
This commit takes the fixes and error reporting improvements from
jcdickinson's work and applies them without overlaying a software state
machine on top of the hardware state machine.

Also allows configuration of response to 'general call' writes.
2024-02-15 17:56:50 -05:00
Barnaby Walters
5b7eff6541 [embassy-stm32]: started stm32g4 RCC refactor
* Copied API from f.rs where applicable
* HSE and HSI independantly configurable
* Boost mode set by user rather
* Added HSE, pll1_q and pll1_p frequencies to set_clocks call
* Stubbed max module based on f.rs, needs cleanup
2024-02-15 23:56:26 +01:00
Dario Nieuwenhuis
5220453d85
Merge pull request #2564 from embassy-rs/rcc-f1-update
stm32/rcc: port F1, F0 to new API.
2024-02-14 16:40:11 +00:00
Caleb Garrett
f0f1f2d14c Added HMAC example. 2024-02-12 20:33:04 -05:00
Caleb Garrett
d8b4922b3c Add STM32 HMAC function. 2024-02-12 20:33:04 -05:00
Dario Nieuwenhuis
8c82d1bcbc
Merge pull request #2528 from caleb-garrett/hash
STM32 Hash Accelerator
2024-02-13 01:36:11 +01:00
Dario Nieuwenhuis
b7c147445a stm32/rcc: port F1 to new API. 2024-02-13 01:21:51 +01:00
Nils Bars
6e24f0562d Print panics via defmt per default for the stm32f0 example 2024-02-12 21:18:50 +01:00
Ulf Lilleengen
a2b7b0c8e0
Merge pull request #2414 from JomerDev/usb-logger-without-device
Adds function and macro to create usb logger without device (also fixes a logger issue)
2024-02-12 20:04:57 +00:00
Dario Nieuwenhuis
0dc5e6d3e4 stm32/rcc: port F3 RCC to new API
See #2515
2024-02-12 02:19:31 +01:00
Mick Chanthaseth
58fa5e57b6
added usb_hid_mouse example for rp 2024-02-11 16:04:06 -08:00
Caleb Garrett
7bf044278e fmt 2024-02-11 11:47:38 -05:00
Caleb Garrett
eb64d71247 Consolidated hash drivers. 2024-02-11 11:32:29 -05:00
Caleb Jamison
b4dc406e19 Switch to ticker 2024-02-10 17:00:10 -05:00
Caleb Jamison
c873dcbb20 Add explicit reset time to ws2812 write fn. 2024-02-10 16:55:32 -05:00
Caleb Garrett
0c9661a661
Merge branch 'main' into hash 2024-02-09 19:24:19 -05:00
eZio Pan
6c690ab259 restore original public API of timer, but keep new PAC 2024-02-10 00:00:43 +01:00
eZio Pan
d538829f2f add methods with macro 2024-02-10 00:00:43 +01:00
eZio Pan
dc4898ca89 update timer mod after stm32-metapac timer_v2 2024-02-09 23:58:13 +01:00
Dario Nieuwenhuis
04147b4147
Merge pull request #2544 from shufps/feat/adc-l0
Feat/adc l0
2024-02-09 22:48:57 +00:00
Caleb Garrett
f6645750c9 Removed hash DMA from unsupported configs. 2024-02-08 17:24:27 -05:00
shufps
34c71b58cf made adc example working with default clock configuration and switched in v1 to PCLK/2 per default 2024-02-08 11:28:53 +01:00
shufps
b2b2abeb33 clippy 2024-02-08 11:14:29 +01:00
shufps
158d7dbc8f cargo fmt 2024-02-08 11:11:13 +01:00
shufps
8dff89bfd9 added ADC example running on L0 2024-02-08 11:07:30 +01:00
Badr Bouslikhin
cfc3e96633
fix(boot): update examples 2024-02-07 12:50:48 +01:00
Badr Bouslikhin
4a72f946e4
fix(boot): update stm32wb-dfu example readme 2024-02-07 11:38:05 +01:00
Badr Bouslikhin
c267cb9ab7
feat: enhance bootloader for multiple flash support 2024-02-06 16:25:45 +01:00
Caleb Garrett
e1f6f4b31d
Merge branch 'main' into hash 2024-02-04 17:24:11 -05:00
Caleb Garrett
a260c0a701 Format hash example. 2024-02-04 17:21:16 -05:00
Caleb Garrett
059d8a8222 Merge commit '1f940bf9e868438090ea126eb2267f5e9325fbd4' into hash 2024-02-04 17:19:15 -05:00
Caleb Garrett
66f44b95d7 Addressed hash CI build issues. 2024-02-04 17:16:33 -05:00
Dario Nieuwenhuis
d5d86b866f nrf/gpiote: add support for nrf51. 2024-02-04 21:36:19 +01:00
Caleb Garrett
1f940bf9e8
Merge branch 'main' into hash 2024-02-03 17:28:20 -05:00
Caleb Garrett
72bbfec39d Added hash DMA implementation. 2024-02-03 16:10:00 -05:00
Stefan Gehr
b9d0069671
correct spelling of the word "receive" 2024-02-03 14:56:31 +01:00
Caleb Garrett
6e9ddd4626 Added hash module with blocking implementation. Included SHA256 example. 2024-01-31 21:21:36 -05:00
Dario Nieuwenhuis
7e02389995
Merge pull request #2410 from eZioPan/waveform-on-CHx
impl waveform with TIM OC Channel DMA
2024-02-01 01:02:01 +00:00
Dario Nieuwenhuis
e613324e16 stm32/eth: rename new_rmii to new, update metapac to fix issues with PC2_C. 2024-02-01 01:39:52 +01:00
Simon B. Gasse
42d8f3930a Implement MII interface
- Extend the eth/v2 module to support MII besides RMII.
- Replace `Ethernet::new` with `Ethernet::new_mii` and
  `Ethernet::new_rmii`.
- Update ethernet examples.
- Add example for MII ethernet.
2024-02-01 01:33:34 +01:00
Caleb Jamison
8b7d856195 Rename timeout_at to with_deadline 2024-01-31 16:26:11 -05:00
Caleb Jamison
1e698af05b Add timeout_at convenience function and example. 2024-01-31 14:10:31 -05:00
Dario Nieuwenhuis
68be63c0e8
Merge pull request #2469 from embassy-rs/nrf51-basic-support
feat: add basic support for nRF51 chips to embassy-nrf
2024-01-31 00:20:40 +00:00
Corey Schuhen
1698f4dbc3 Add FDCAN examples for STM32G4, STM32H5 and STM32H7
Fix examples

Fix examples

Fix examples.
2024-01-31 05:40:05 +10:00
Tomasz bla Fortuna
a91a7a8557 Add FDCAN dependency in correct flavor based on selected chip.
Author: Torin Cooper-Bennun <tcbennun@maxiluxsystems.com>

Change from review.
2024-01-31 05:40:05 +10:00
Valentin Trophime
283debfda4
fix: typo in netcat command for std example
The previous given command `nc -l 8000` doesn't let me see anything and lead to a "WARN connect error: ConnectionReset". By explicitly changing the `local-port` of `nc` with the `-p` I can now see the `Hello` message printed, and the warning log disappeared.
2024-01-29 11:36:03 +01:00
Ulf Lilleengen
43553381cd lower arena for nrf51 2024-01-25 21:51:23 +01:00
Ulf Lilleengen
b16eca3f21 adjust memory settings for lower end variant 2024-01-25 21:50:03 +01:00
Ulf Lilleengen
f117213b6e fix: use nrf51-dk chip variant 2024-01-25 21:47:49 +01:00
Ulf Lilleengen
25f82538ae fix doc comment 2024-01-24 21:23:54 +01:00
Ulf Lilleengen
2a810a1a6a rustfmt 2024-01-24 21:23:54 +01:00
Ulf Lilleengen
4410aacafb feat: add basic support for nRF51 chips to embassy-nrf 2024-01-24 21:23:54 +01:00
Dario Nieuwenhuis
ee0ebe3121 rp/gpio: remove generics. 2024-01-22 21:32:10 +01:00
Dario Nieuwenhuis
2bc5e9523d nrf/gpio: remove generics. 2024-01-22 21:32:10 +01:00
Dario Nieuwenhuis
3387ee7238 stm32/gpio: remove generics. 2024-01-22 21:31:06 +01:00
Dario Nieuwenhuis
9f76dbb93b Remove nightly-only flags from cargo configs. 2024-01-22 21:31:06 +01:00
Dennis Ranke
7931fcfb3d fix wrong formatting due to not using nightly rustfmt 2024-01-20 16:35:09 +01:00
Dennis Ranke
69d4b42841 add pio_i2s example for RP2040 2024-01-20 16:08:32 +01:00
umgefahren
6ca43030db feat: Extended the Scan API 2024-01-19 23:51:57 +01:00
Dario Nieuwenhuis
04eb56a884
Merge pull request #2452 from shufps/feat/usb-L1-fix-and-usb-serial-example
changes to get usb working on a L1. Adds a usb_serial example too
2024-01-15 00:45:57 +01:00
shufps
ec4cffe28c usb-serial with HSI 2024-01-14 22:46:20 +01:00
shufps
018c48cf1c changes to get usb working on a L1. Adds a usb_serial example too 2024-01-14 22:43:22 +01:00
9names
850fe7251a Add cyw43 package versions to rp-examples Cargo.toml 2024-01-13 09:01:11 +11:00
Ulf Lilleengen
f23182a710 fix: rustfmt 2024-01-12 09:22:16 +01:00
Ulf Lilleengen
883b923faf fix: update after api change 2024-01-12 08:33:37 +01:00
Dario Nieuwenhuis
a36c8eb843 boot: bump crates to 0.2 2024-01-12 00:53:46 +01:00
Dario Nieuwenhuis
22197320ff bump embassy-time 0.3, embassy-executor 0.5, embassy-net 0.4. 2024-01-11 23:01:24 +01:00
Dario Nieuwenhuis
f0606da9ad time: split queue driver too, don't reexport drivers. 2024-01-11 23:01:24 +01:00
Dario Nieuwenhuis
b0b1ef9181
Merge pull request #2436 from embassy-rs/embassy-nrf-docs-nrf91-example
Embassy nrf docs and nrf91 example
2024-01-11 19:52:18 +00:00
Ulf Lilleengen
10b857250c trim nrf9160 example deps 2024-01-11 20:45:45 +01:00
Ulf Lilleengen
b161dd4b11 use secure mode 2024-01-11 20:33:27 +01:00
Ulf Lilleengen
3119aeec5c add nrf9160 example (assumes SPM from zephyr) 2024-01-11 19:19:16 +01:00
Dario Nieuwenhuis
e0775fbc8a Flatten embassy-boot dir tree 2024-01-11 18:55:59 +01:00
Ulf Lilleengen
50630192b8 fix: revert unintended change 2024-01-10 10:02:26 +01:00
Ulf Lilleengen
de08da0bf1 rustfmt 2024-01-10 09:54:35 +01:00
Ulf Lilleengen
ff5f5021fb cleanup docs and add channel synchronization example 2024-01-10 09:52:46 +01:00
Ulf Lilleengen
b867245894 simplify example 2024-01-10 09:23:53 +01:00
Ulf Lilleengen
be3c70d455
Merge pull request #2417 from vasilNnikolov/mutex_rp_example
Add example of pin sharing between tasks
2024-01-10 07:25:47 +00:00
Dario Nieuwenhuis
495b8b739a Change GPIO inherent methods back to &self.
With the embedded-hal rc3 update I changed them to require `&mut self`, but
in retrospect I think `&self` is better, for extra flexibility.

This PR reverts the changes from the rc3 update to inherent methods.
2024-01-10 00:00:10 +01:00
Vasil Nikolov
4843c060d0 no need for a PeripheralRef 2024-01-10 00:47:45 +02:00
Dario Nieuwenhuis
c9ac39df94 Update embedded-hal to v1.0 2024-01-09 23:37:14 +01:00
Vasil Nikolov
ebf46d37aa remove unused import 2024-01-09 00:35:11 +02:00
Vasil Nikolov
2498fbdf52 add example of pin sharing between tasks 2024-01-09 00:26:48 +02:00
Jomer.Dev
6f505feeb1 Add example 2024-01-08 00:21:02 +01:00
eZio Pan
424ddaf3d9 impl waveform with TIM Channel 2024-01-06 22:22:38 +08:00
Derek Hageman
d34910dbc8 stm32: Add G0 USB example
Add a USB CDC ACM example using STM32G0 USB and CRS.
2024-01-05 07:57:35 -07:00
Scott Mabin
f85898771b New embassy-net release 2024-01-04 16:06:59 +00:00
Dario Nieuwenhuis
87ac51d656
Merge pull request #2396 from tyler-gilbert/update-rcc-u5-with-sai-support
Update STM32 RCC U5 to support P and Q dividers
2024-01-03 17:12:50 +00:00
Tyler Gilbert
31bf127807 Update STM32 RCC U5 to support P and Q dividers 2024-01-03 10:46:45 -06:00
Adin Ackerman
9b47fbeb47 weird format rule 2024-01-02 20:12:58 -08:00
Adin Ackerman
e31dd036fe add hf timer example for g0 2024-01-02 20:03:14 -08:00
Christian Enderle
986eca1b12 fix for rustfmt 2024-01-02 23:24:23 +01:00
Christian Enderle
3830300990 stm32l5: add low-power stop example 2024-01-02 23:05:58 +01:00
Dario Nieuwenhuis
eb7197c5b7 examples: configure executor task arena sizes. 2024-01-02 18:13:25 +01:00
eZio Pan
c276da5fcb ask a DMA Channel only when use .gen_waveform() 2024-01-02 14:01:09 +08:00
eZio Pan
873ee06151 some trivial fix
use less #[cfg] macro; reuse same variable
2023-12-30 12:01:08 +08:00
eZio Pan
8c2a6df03b implement PWM waveform generating with DMA 2023-12-28 20:09:12 +08:00
eZio Pan
d90a97aa4c update metapac after stm32-data PR323
and refactor a few code with cargo clippy
2023-12-25 22:03:32 +08:00
eZio Pan
dcd4e6384e enable output compare preload for TIM
keep output waveform integrity
2023-12-23 19:53:02 +08:00
eZio Pan
2f75ffb233 remove unused feature attribute 2023-12-22 01:31:25 +08:00
eZio Pan
53fc344e4d fix timing, turn TIM UDE on only necessary, clean DMA FEIF after each Transfer 2023-12-22 01:24:31 +08:00
eZio Pan
d7e517e2d3
Merge branch 'main' into stm32f4-example-ws2812-spi 2023-12-22 00:19:00 +08:00
Dario Nieuwenhuis
8b36a32ed5 ci: use beta, add secondary nightly ci. 2023-12-21 15:03:57 +01:00
Ulf Lilleengen
0acf7b09c3 chore: replace make_static! macro usage with non-macro version 2023-12-21 10:29:57 +01:00
Ulf Lilleengen
1c3cf347cb remove embedded-sdmmc
Remove support for embedded-sdmmc due to lack of maintainership. Bring
it back once the upstream includes the async functionality.
2023-12-20 13:25:36 +01:00
Dario Nieuwenhuis
189b15c426 stm32/timer: docs. 2023-12-19 17:35:38 +01:00
Dario Nieuwenhuis
80c9d04bbd stm32: add some docs. 2023-12-18 00:53:18 +01:00
eZio Pan
05b8818de0 typo fix 2023-12-18 01:02:58 +08:00
eZio Pan
1934c2abc8 match up with stm32f429zi feature flag
stm32f429 has less DMA channel than stm32f411
2023-12-18 00:06:32 +08:00
eZio Pan
0a890cfbe7 stm32f4 ws2812 example with spi ...
... and more doc on TIM&DMA version,
also remove useless TIM APRE settings,
and use for loop instead of manually flip the index bit,
and replace `embassy_time::Timer` with `embassy_time::Ticker`, for more constant time interval.
2023-12-17 23:47:00 +08:00
eZio Pan
ea1e1973eb unify channel assign 2023-12-16 02:15:56 +08:00
eZio Pan
77e372e842 cargo fmt 2023-12-15 14:15:45 +08:00
eZio Pan
a165d73eed add ws2812 example for stm32f4 with PWM and DMA 2023-12-15 14:10:11 +08:00
Ulf Lilleengen
5ec2fbe3a2
Merge pull request #2284 from Redrield/feature/embassy-usb-dfu
Add embassy-usb-dfu crate, with related modifications to embassy-boot
2023-12-14 19:56:04 +00:00
Kaitlyn Kenwell
33e8943e5b Rename bootloader feature to dfu 2023-12-14 14:16:58 -05:00
Kaitlyn Kenwell
9f9f6e75bb Abstract chip reset logic, add Reset impls for cortex-m and esp32c3 2023-12-14 13:29:26 -05:00
Kaitlyn Kenwell
cbc8ccc51e Adjust stm32wb-dfu example memory maps to fix linker errors 2023-12-14 10:56:16 -05:00
Kaitlyn Kenwell
27d054aa68 Adjust toml files, fix application example 2023-12-14 10:34:22 -05:00
Kaitlyn Kenwell
a34abd849f Add examples to ci.sh 2023-12-14 10:30:10 -05:00
Dario Nieuwenhuis
d81395fab3 Update embedded-hal to 1.0.0-rc.3 2023-12-14 16:19:32 +01:00
Kaitlyn Kenwell
9cc5d8ac89 fmt 2023-12-14 09:38:49 -05:00
Kaitlyn Kenwell
e27e00f628 Address reviews 2023-12-14 09:36:22 -05:00
Kaitlyn Kenwell
702d2a1a19 Formatting fixes, add example using stm32wb55 2023-12-13 16:08:20 -05:00
Corey Schuhen
3626deecaa More formatting. 2023-12-11 21:26:23 +10:00
Corey Schuhen
b34c8e3eb1 Update formatting. 2023-12-11 21:25:05 +10:00
Corey Schuhen
13af76af88 Add example for using CAN with STM32F103 (BluePill) with a real CAN 2023-12-11 21:08:58 +10:00
Jesse Braham
925f5cbc26 Update all references to embasy-executor to the latest version 2023-12-06 12:05:47 +01:00
Badr Bouslikhin
0ffb35a2a1
stm32/eth: add host server command example 2023-12-05 19:50:11 +01:00
Badr Bouslikhin
d2a7322978
stm32/eth: fix h7 examples
The STM32H7 examples enable `dhcpv4` and `dns` features. Both use one
socket, meaning that we need one extra socket for our firmware tcp
socket.
2023-12-05 19:48:03 +01:00
Scott Mabin
334900752a update release version in examples and other crates 2023-12-04 13:15:10 +00:00
Dario Nieuwenhuis
03325ea81b update embedded-storage{,-async}, remove patch. 2023-12-04 13:48:36 +01:00
Dario Nieuwenhuis
c6989dfbca Remove nightly and unstable-traits features in preparation for 1.75. 2023-11-29 17:26:33 +01:00
Dario Nieuwenhuis
4634316749 Update embedded-(hal,io,nal). 2023-11-29 17:01:36 +01:00
Dario Nieuwenhuis
1b9925e3da Move embassy-lora, lora examples to lora-phy repo. 2023-11-29 16:26:31 +01:00
Adam Greig
09d7950313 STM32 DAC: Rework DAC driver, support all families. 2023-11-25 00:29:45 +01:00
Adam Greig
31fc337e2f STM32 DAC: Swap to new TSEL enum entirely in-HAL 2023-11-25 00:29:45 +01:00
Dario Nieuwenhuis
f5c9e3baa6
Merge pull request #2200 from barnabywalters/asynci2cv1
Implemented async I2C for v1
2023-11-24 23:08:47 +00:00
Barnaby Walters
3efc3eee57 stm32/i2c: implement async i2c v1. 2023-11-24 23:55:46 +01:00
Dario Nieuwenhuis
bc65b8f7ec stm32/i2c: add async, dual interrupt scaffolding. 2023-11-24 23:55:45 +01:00
Dario Nieuwenhuis
259cf6192b executor: Remove non-functional rtos-trace-interrupt. 2023-11-24 23:52:09 +01:00
Dario Nieuwenhuis
766ec77ec5
Merge pull request #2198 from adamgreig/stm32-opamp
STM32: Don't enable opamps in new(), wait until configured
2023-11-20 22:47:19 +00:00
Adam Greig
d1af696605
STM32 opamp: use impl Peripheral instead of directly taking pins 2023-11-20 21:35:05 +00:00
James Munns
f3c77e59c4 Add docs, touch all linker fragments 2023-11-19 23:10:11 +01:00
James Munns
30424d83ff Update RP2040 memory.x
The RP2040 has 264KiB of memory, not 256KiB.
2023-11-19 23:10:11 +01:00
Dario Nieuwenhuis
1f9b649f80 executor: release v0.3.3 2023-11-15 18:44:01 +01:00
Dario Nieuwenhuis
ace5221080 stm32/rcc: unify f2 into f4/f7. 2023-11-13 01:59:33 +01:00
Dario Nieuwenhuis
2376b3bdfa stm32/rcc: fix pll enum naming on f4, f7. 2023-11-13 01:56:50 +01:00
Dario Nieuwenhuis
4fe344ebc0 stm32/rcc: consistent casing and naming for PLL enums. 2023-11-13 00:52:01 +01:00
Dario Nieuwenhuis
4647df14b1 Update heapless to v0.8, embedded-nal-async to v0.7 2023-11-10 16:43:53 +01:00
Dario Nieuwenhuis
0b015bd727 usb: remove msos-descriptor feature. 2023-11-08 23:21:52 +01:00
kalkyl
8effff3383 rp: Remove control handler from USB raw bulk example 2023-11-07 20:45:01 +01:00
Dario Nieuwenhuis
05f983c607
Merge pull request #2158 from kalkyl/usb-bulk
rp: Add USB raw bulk example
2023-11-07 19:22:55 +00:00
kalkyl
d44383e9a7 fmt 2023-11-07 20:19:56 +01:00
kalkyl
37a773c037 Use driver reexport 2023-11-07 20:17:19 +01:00
kalkyl
d1adc93614 rp: Add USB raw bulk example 2023-11-07 19:57:05 +01:00
Dario Nieuwenhuis
78a7ee7ec4
Merge pull request #2157 from kalkyl/usb-raw
rp: Add USB raw example + msos-descriptor to examples and usb-logger
2023-11-07 10:30:52 +00:00
kalkyl
e3fe13e905 Add docs 2023-11-07 10:58:35 +01:00
kalkyl
38bfa6916f Update pio-uart example 2023-11-07 09:15:21 +01:00
kalkyl
50139752bc Add comments 2023-11-07 09:10:18 +01:00
kalkyl
db4cd73894 rp: Add USB raw example + msos descriptor to examples and usb-logger 2023-11-07 09:05:10 +01:00
Adam Greig
326bc98bd2
Update stm32 usb_raw example to use MSOS descriptors for WinUSB 2023-11-07 02:34:27 +00:00
xoviat
980c3cf42b
Merge pull request #2142 from adamgreig/stm32g4-opamp
stm32: support internal output on g4 opamps
2023-11-06 00:01:34 +00:00
Adam Greig
28eb4cd817
stm32: support internal output on g4 opamps 2023-11-05 23:57:15 +00:00
Dario Nieuwenhuis
0272deb158 stm32/rcc: add shared code for hsi48 with crs support. 2023-11-05 23:52:54 +01:00
Adam Greig
fa45dcd034
Add raw USB example using control transfers 2023-11-05 16:46:45 +00:00
Dario Nieuwenhuis
8911a4d855 stm32/rcc: switch to modern api for l0, l1. 2023-11-05 03:06:13 +01:00
kalkyl
649f1a122a Cleanup 2023-11-03 00:41:16 +01:00
kalkyl
413b394d31 rp: Add PWM input example 2023-11-03 00:37:58 +01:00
Dario Nieuwenhuis
7ea2c3508a
Merge pull request #2137 from kalkyl/pio-rotary-encoder
rp: Add PIO rotary encoder example
2023-11-02 21:52:01 +00:00
kalkyl
ec744558b2 Cleanup 2023-11-02 22:37:03 +01:00
kalkyl
44486c5b39 rp: Add PIO rotary encoder example 2023-11-02 21:54:20 +01:00
Dario Nieuwenhuis
1f51367eb9 Upgrade static-cell to v2.0 2023-11-02 21:52:07 +01:00
Dario Nieuwenhuis
e519e00265 Update Rust nightly. 2023-11-01 04:56:56 +01:00
Dario Nieuwenhuis
dd6a29adb2 Release embassy-executor v0.3.1 2023-11-01 00:17:44 +01:00
Dario Nieuwenhuis
74683c706b
Merge pull request #2127 from bugadani/release
Prepare embassy-net 0.2.1 and embassy-sync 0.4.0
2023-10-31 15:57:51 +00:00
Dániel Buga
d941882066 Prepare embassy-net 0.2.1 and embassy-sync 0.4.0 2023-10-31 09:33:27 +01:00
Dario Nieuwenhuis
3f74ff7235
Merge pull request #2123 from bugadani/feature
Re-add impl_trait_projections
2023-10-31 02:26:51 +01:00
kalkyl
c9b50e46a5 rp: Add PIO stepper motor driver example 2023-10-30 20:50:37 +01:00
Dániel Buga
ad07ea0290 Re-add impl_trait_projections 2023-10-30 19:10:45 +01:00
Dario Nieuwenhuis
a39ae12edc stm32/rcc: misc cleanups. 2023-10-23 17:36:21 +02:00
Dario Nieuwenhuis
0ef1cb29f7 stm32/rcc: merge wb into l4/l5. 2023-10-23 17:36:21 +02:00
Dario Nieuwenhuis
b9e13cb5d1 stm32/rcc: merge wl into l4/l5. 2023-10-23 00:31:36 +02:00
Dario Nieuwenhuis
412bcad2d1 stm32: rename HSI16 -> HSI 2023-10-22 22:39:55 +02:00
Dion Dokter
5b3f75dc72 Merge branch 'master' into center-align 2023-10-20 14:17:55 +02:00
Ulf Lilleengen
035800bfbd
Merge pull request #2091 from embassy-rs/comment-memory-x
docs: add linker script comments
2023-10-19 08:19:42 +00:00
Ulf Lilleengen
c7803bb8f4
docs: add linker script comments
Existing comment were outdated. Provide an example configuration
for using the softdevice with the nRF52 examples.
2023-10-19 09:29:20 +02:00
Dario Nieuwenhuis
f20f170b1f stm32/rcc: refactor and unify f4 into f7. 2023-10-18 05:11:31 +02:00
Dario Nieuwenhuis
67010d123c stm32/rcc: refactor f7. 2023-10-18 05:01:11 +02:00
xoviat
bbd12c9372 stm32: update metapac 2023-10-17 20:31:44 -05:00
Dario Nieuwenhuis
b478640463 fix clocks in stm32wl rng example. 2023-10-17 15:57:09 +02:00
xoviat
683d5c3066
Merge pull request #2077 from xoviat/rcc
stm32: update metapac
2023-10-17 01:05:18 +00:00
xoviat
a3574e519a stm32: update metapac 2023-10-16 20:04:10 -05:00
Dario Nieuwenhuis
6e6df22979
Merge pull request #2075 from CBJamo/rosc_example
Add example to show useage of rp2040 rosc
2023-10-16 23:22:06 +00:00
Caleb Jamison
5a1393aa0b Add example to show useage of rp2040 rosc 2023-10-16 16:17:07 -04:00
Dániel Buga
40e4ca4751 Prepare embassy-net(/-driver,/-driver-channel) 0.2.0 2023-10-16 20:59:06 +02:00
Dario Nieuwenhuis
213b4c9dca time: add links key, release v0.1.5. 2023-10-16 20:11:35 +02:00
Dario Nieuwenhuis
18e96898ea stm32/rcc: unify L4 and L5. 2023-10-16 04:00:51 +02:00
Dario Nieuwenhuis
5c5e681819 stm32/rcc: add better support for L4/L4+ differences. 2023-10-16 03:23:43 +02:00
xoviat
4a156df7a1 stm32: expand rcc mux to g4 and h7 2023-10-14 23:33:57 -05:00
Dario Nieuwenhuis
8a10948ce9 stm32/rcc: port L4 to the "flattened" API like h5/h7. 2023-10-15 03:08:49 +02:00
Adam Greig
0621e957a0
time: Update examples, tests, and other code to use new Timer::after_x convenience methods 2023-10-15 01:30:12 +01:00
Dario Nieuwenhuis
2e50bf667a
Merge pull request #2055 from kalkyl/usb-midi
embassy-usb: Add MIDI class
2023-10-14 23:10:25 +00:00
kalkyl
a57d383b1d embassy-usb: Add MIDI class 2023-10-14 04:20:59 +02:00
Dániel Buga
02d2c06b23 Release embassy-time 0.1.4 2023-10-12 18:14:33 +02:00
Dario Nieuwenhuis
66e399b5c6
Merge pull request #2035 from pbert519/stm_reset_and_enable
STM32: combine RccPeripherals reset() and enable() to enable_and_reset()
2023-10-12 14:09:13 +00:00
Ulf Lilleengen
01eb1a7339
Merge pull request #2033 from andresovela/stm32-add-timeout-to-i2c
stm32: add timeout to I2C driver
2023-10-12 10:44:27 +00:00
pbert
ecdd7c0e2f enable clock first 2023-10-12 11:04:44 +02:00
pbert
f65a96c541 STM32: combine RccPeripherals reset() and enable() to reset_and_enable() 2023-10-12 11:04:19 +02:00
Dario Nieuwenhuis
32b89eeba1 net: remove atomic-polyfill. 2023-10-12 02:07:26 +02:00
Andres Oliva
4cec4b0548 Remove more unused stuff 2023-10-11 23:52:26 +02:00
Dario Nieuwenhuis
b91d1eaca0 stm32/rcc: add LSE/LSI to all chips, add RTC to more chips. 2023-10-11 04:12:38 +02:00
Dario Nieuwenhuis
d0d0ceec6a stm32/rcc: rename HSE32 to HSE 2023-10-11 01:06:44 +02:00
Dario Nieuwenhuis
0cfa8d1bb5 stm32/rcc: use more PLL etc enums from PAC. 2023-10-11 00:12:33 +02:00
Andres Oliva
cd12c9cbce stm32: add timeout to I2C driver 2023-10-10 18:20:46 +02:00
Gabriel Górski
e62bf6a9fd Patch tests & examples 2023-10-09 13:46:56 +02:00
Dario Nieuwenhuis
6186fe0807 stm32/rcc: use PLL enums from PAC. 2023-10-09 02:48:22 +02:00
Dario Nieuwenhuis
85c6f23dcb
Merge pull request #2018 from jamesmunns/add-derives
Add some uncontroversial derives to Error types
2023-10-07 00:03:10 +00:00
Dario Nieuwenhuis
3bf8e4de5f
Merge pull request #2015 from willglynn/stm32u5_faster_clocks
stm32: u5: implement >55 MHz clock speeds
2023-10-06 23:38:15 +00:00
Dario Nieuwenhuis
3a8e0d4a27 stm32: implement MCO for all chips. 2023-10-07 01:15:24 +02:00
Matt Ickstadt
f01609036f h7: implement RTC and LSE clock configuration 2023-10-06 13:28:30 -05:00
James Munns
930b8f3495 Add some uncontroversial derives to Error types 2023-10-06 17:45:35 +02:00
Will Glynn
38e7709a24 stm32: u5: implement >55 MHz clock speeds
This commit allows STM32U5 devices to operate at 160 MHz.

On STM32U5, MSIS can run at 48 MHz and HSE can reach 50 MHz. Faster
clocks require using PLL1's R output, though PLL1 can serve other
functions besides using the R output for the system clock. This commit
extracts a public `PllConfig` struct, primarily to place associated
constructors on that type, but also with an eye towards enabling the P
and Q outputs in a later commit.

STM32U5 PLLs have various frequency requirements on each stage: after
the `m` prescaler, after the `n` multiplier, and after the `r` divider.
This commit implements the associated checks as assertions.

This commit fixes clock calculation and PLL register configuration
errors in PLL initialization.

STM32U5 has a PWR peripheral which can be configured to push Vcore into
different voltage ranges. System clocks exceeding 55 MHz require range
2, and system clocks exceeding 110 MHz require range 1. This commit
adds `voltage_range` to `Config` and configures PWR as directed.

The voltage range implies different performance limits on various clock
signals, including inside a PLL. This commit implements voltage range
<-> frequency range checks as assertions, and extracts the
otherwise-repeated MSIS, HSI16, and HSE initialization into private
methods on `Config`.

STM32U5 frequencies above 55 MHz require using the PWR EPOD booster.
The EPOD booster requires configuring a second `m` term for PLL1,
`mboost`, such that it falls in a particular range. (Recall that >50
MHz cannot be reached without PLL1, so there is no scenario where EPOD
is needed but PLL1 is not.) This commit configures and enables the EPOD
booster automatically as required.
2023-10-05 22:13:27 -05:00
xoviat
e1a0635ca3 stm32: update metapac and fix opamp ch 2023-10-04 16:15:08 -05:00
Dario Nieuwenhuis
0324cee0ca update embedded-io, embedded-nal-async. 2023-10-04 00:10:55 +02:00
xoviat
e561e673c2 stm32: add opamp mod and update pac 2023-10-03 16:34:13 -05:00
KingCol13
90ade1b311 Add wait for DHCP in rp wifi_tcp_server 2023-10-02 20:10:52 +01:00
KingCol13
a931dfd9ad Update firmware size in rp wifi examples 2023-10-02 20:10:45 +01:00
Dario Nieuwenhuis
eb12114345 Remove impl_trait_projections. 2023-10-02 14:00:49 +02:00
Jonathan Dickinson
f98c8886b2
feat: allow schmitt, slew, and drive strength be set from Flex, Input, Output
Allows the schmitt, slew and drive strength to be set from Flex. Input and Output[OpenDrain] also expose the appropriate setters.
2023-10-01 21:49:14 -04:00
Dion Dokter
05a9b11316 Fix examples 2023-10-01 23:39:53 +02:00
brian horakh
08175f191a bump wasm-pack version 2023-09-30 05:42:59 +00:00