Jan Špaček
41711195e3
stm32/i2c: use new_pin! macro
2024-06-01 19:46:39 +02:00
Jan Špaček
081afca3f0
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-25 18:44:55 +02:00
Dario Nieuwenhuis
45a12fd41f
stm32/i2c: remove peripheral generic param.
2024-05-21 01:25:49 +02:00
James Munns
5ce3a6b61e
Add workaround for STM32 i2cv1 errata
2024-04-29 12:32:33 +02:00
Dario Nieuwenhuis
913bb19a34
stm32/i2c: remove DMA generic params.
2024-04-15 23:40:12 +02:00
Sebastian Goll
b52e9a60eb
Add missing check for empty buffer in asynchronous read_write()
2024-03-27 10:39:33 +01:00
Sebastian Goll
54d7d49513
Refactor DMA implementation of I2C v1, clarify flow of code
2024-03-27 01:07:42 +01:00
Sebastian Goll
7e44db099c
Move FrameOptions and related function to module itself
2024-03-27 00:35:30 +01:00
Sebastian Goll
b299266cd2
It is not necessary to enable interrupts before registering waker
2024-03-27 00:32:06 +01:00
Sebastian Goll
2e2986c67b
It is not necessary to wait for SB and MSL sequentially
2024-03-27 00:32:06 +01:00
Sebastian Goll
c1175bf7d8
It is not necessary to wait for STOP to be fully generated
2024-03-27 00:32:06 +01:00
Sebastian Goll
accec7a840
Implement asynchronous transaction for I2C v1
2024-03-27 00:32:06 +01:00
Sebastian Goll
9c00a40e73
Extract frame options generation into iterator to reuse in async
2024-03-26 22:53:14 +01:00
Sebastian Goll
0885c102d3
Refactor async I2C transfers to use frame options
2024-03-26 22:53:14 +01:00
Sebastian Goll
746ded94b1
Fix minor typos
2024-03-26 22:53:14 +01:00
Dario Nieuwenhuis
eca9aac194
Fix warnings in recent nightly.
2024-03-20 16:39:09 +01:00
Sebastian Goll
cff665f2ec
Avoid unnecessary double-reference
2024-03-20 13:08:42 +01:00
Sebastian Goll
8f19a2b537
Avoid missing stop condition when write/read with empty read buffer
2024-03-20 02:59:30 +01:00
Sebastian Goll
c96062fbcd
Implement blocking transaction handling for I2C v1
2024-03-20 02:59:30 +01:00
Sebastian Goll
7c08616c02
Introduce frame options to control start/stop conditions
2024-03-20 02:55:49 +01:00
Dario Nieuwenhuis
90e96d281f
Merge pull request #2373 from embassy-rs/jamesmunns-patch-2
...
stm32: Add breadcrumb to i2cv1 investigation
2023-12-28 23:58:19 +01:00
James Munns
a780339103
stm32: Add breadcrumb to i2cv1 investigation
...
Adds an in-code breadcrumb for https://github.com/embassy-rs/embassy/issues/2372
2023-12-28 23:57:10 +01:00
James Munns
a142be8bb8
Seems to help
2023-12-27 19:12:44 +01:00
Dario Nieuwenhuis
124478c5e9
stm32: more docs.
2023-12-18 19:11:23 +01:00
Dario Nieuwenhuis
7044e53af4
stm32/i2c: remove _timeout public API, share more code between v1/v2.
2023-12-18 18:24:55 +01: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
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
xoviat
05218a52e6
stm32: update set_config
2023-10-01 09:39:10 -05:00
xoviat
274f63a879
stm32: fix refcounts for usart, spi, and i2c
2023-09-04 15:47:33 -05:00
Grant Miller
d49f40dd5c
embassy-stm32: Misc clippy fixes
2023-08-06 15:00:39 -05:00
Dario Nieuwenhuis
036e6ae30c
Rename embassy-hal-common to embassy-hal-internal, document it's for internal use only. ( #1700 )
2023-07-28 13:23:22 +02:00
Dario Nieuwenhuis
558918651e
stm32: update stm32-metapac.
2023-06-19 03:22:12 +02:00
Dario Nieuwenhuis
921780e6bf
Make interrupt module more standard.
...
- Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`.
- Reexport the PAC interrupt enum in `embassy_xx::interrupt`.
This has a few advantages:
- The `embassy_xx::interrupt` module is now more "standard".
- It works with `cortex-m` functions for manipulating interrupts, for example.
- It works with RTIC.
- the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs.
- When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
2023-06-08 18:00:48 +02:00
xoviat
316be179af
stm32: move to bind_interrupts
...
disable lora functionality for now
2023-05-24 17:29:56 -05:00
Dario Nieuwenhuis
be37eee13d
Update embedded-hal crates.
2023-04-06 22:41:50 +02:00
chemicstry
33f75419e5
Unify i2cv1 definition with i2cv2
2022-10-24 22:34:10 +03:00
chemicstry
4ce4131f8b
Implement i2cv1 timeout
2022-10-24 11:30:04 +03:00
Ulf Lilleengen
72c2e985bb
Update embedded-hal versions and explicitly pin
2022-09-29 11:27:46 +02:00
chemicstry
936473b68a
Make sda/scl pullups separate as in nRF HAL
2022-08-10 12:36:15 +03:00
chemicstry
6498324b58
Implement I2C pullup configuration
2022-08-09 22:13:35 +03:00
Dario Nieuwenhuis
4901c34d9c
Rename Unborrowed -> PeripheralRef, Unborrow -> Peripheral
2022-07-23 14:00:19 +02:00
Grant Miller
5ecbe5c918
embassy-stm32: Simplify time
...
- Remove unused `MilliSeconds`, `MicroSeconds`, and `NanoSeconds` types
- Remove `Bps`, `KiloHertz`, and `MegaHertz` types that were only used
for converting to `Hertz`
- Replace all instances of `impl Into<Hertz>` with `Hertz`
- Add `hz`, `khz`, and `mhz` methods to `Hertz`, as well as
free function shortcuts
- Remove `U32Ext` extension trait
2022-07-10 21:46:45 -05:00
bors[bot]
5f43c1d37e
Merge #850
...
850: Shared buses with SetConfig r=Dirbaio a=kalkyl
Addresses issue #830
Co-authored-by: Henrik Alsér <henrik@mindbite.se>
2022-07-10 00:03:44 +00:00
Henrik Alsér
880b71a1e8
impl SetConfig for stm32 i2c and SPI
2022-07-09 02:28:05 +02:00
Henrik Alsér
4e7cf44a3e
Cleanup
2022-07-07 00:00:17 +02:00
Henrik Alsér
265d43a65d
v1 fix
2022-07-06 23:56:44 +02:00
Henrik Alsér
2dfb03abda
Add EH 1.0 impls for stm32 i2c
2022-07-06 23:25:38 +02:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00