Commit graph

1672 commits

Author SHA1 Message Date
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