Commit Graph

1718 Commits

Author SHA1 Message Date
Peter Kövesdi
b6f9dbfb5b fixed: example loops crashing after 256 passes 2024-04-29 22:31:16 +02:00
Dario Nieuwenhuis
6f44d7a9df stm32: update metapac. Adds U5 LPDMA, fixes ADC_COMMONs. 2024-04-29 20:52:27 +02:00
Dario Nieuwenhuis
08314b0940
Merge pull request #2862 from AtoVproject/feature/web-usb-class
WebUSB implementation
2024-04-28 21:24:21 +02:00
Chris Maniewski
095af92791
feature: WebUSB capability implementation
This adds the WebUSB implementation as per
https://wicg.github.io/webusb/, using one in-endpoint and one
out-endpoint as well as an example for the RP2040 to illustrate this
capability.
2024-04-27 23:14:16 +02:00
eZio Pan
d9e59e8e42 low power for h5 2024-04-28 00:33:02 +08:00
Dario Nieuwenhuis
5732ee7ca9 Reduce use of the full futures crate. 2024-04-26 23:22:25 +02:00
Dario Nieuwenhuis
597315873d Remove leftover cargo new boilerplate. 2024-04-26 22:59:50 +02:00
Dario Nieuwenhuis
5b0735688d
Merge pull request #2846 from BjornTheProgrammer/main
Added PIO pwm examples for rp
2024-04-26 20:24:30 +00:00
Dario Nieuwenhuis
7bc92584e1
Merge pull request #2858 from jamesmunns/james/embassy-usb-0_2
embassy-usb: Update version and add changelog
2024-04-26 20:22:46 +00:00
James Munns
0d0d8e14e2 Update dependent versions 2024-04-23 19:48:16 +02:00
Dario Nieuwenhuis
4d4cbc0dd3
Merge pull request #2812 from borisfaure/mut-hid-request-handler
usb::hid::RequestHandler::set_report(&mut self, ...)
2024-04-23 17:42:56 +00:00
Dario Nieuwenhuis
1de44e7086
Merge pull request #2840 from MaxiluxSystems/feature/fdcan-runtime-cfg
stm32: can: fd: Properties for common runtime get/set operations
2024-04-23 13:46:09 +00:00
Torin Cooper-Bennun
846abfae2b examples: stm32: can: fix build 2024-04-22 13:31:01 +01:00
Joël Schulz-Ansres
01b36a4434 rustfmt usb examples 2024-04-22 01:06:59 +02:00
Joël Schulz-Ansres
896d0e7cd8 Add comment on vbus_detection to all USB examples 2024-04-22 00:52:37 +02:00
Bjorn
d2ba751c06 Changed attach to new 2024-04-21 10:00:57 -07:00
Bjorn
7658966486 Merge branch 'main' of https://github.com/embassy-rs/embassy 2024-04-20 22:12:28 -07:00
Bjorn
0a2d58ec5b Added PIO pwm examples for rp
Two additionally `rp` examples, `pio_pwm.rs`, which is a baremetal example of how to do pwm with pio, and `pio_servo.rs`, which is a more extended example of pwm and pio with servos.
2024-04-20 22:12:24 -07:00
Dario Nieuwenhuis
bab4affe7c
Merge pull request #2813 from diondokter/u0-dion
More U0 support
2024-04-16 18:45:09 +00:00
Dario Nieuwenhuis
bd13b5c060 More probe-run -> probe-rs run. 2024-04-16 17:07:13 +02:00
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