| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Merge branch 'main' into main | xoviat | 2025-12-11 | 1 | -1/+9 |
| |\ | |||||
| | * | low-power: use scoped block stop | xoviat | 2025-12-08 | 1 | -0/+8 |
| | | | | | | | | | Co-authored-by: hjeldin <[email protected]> | ||||
| | * | low-power: improve debug logic | xoviat | 2025-12-06 | 1 | -1/+1 |
| | | | |||||
| * | | stm32/i2c: Add blocking_listen | TrAyZeN | 2025-12-01 | 1 | -16/+49 |
| | | | |||||
| * | | stm32/i2c: Restrict listen to async I2c mode | TrAyZeN | 2025-12-01 | 1 | -16/+16 |
| |/ | |||||
| * | fix i2c slave RX early termination handling | Elias Hanelt | 2025-11-26 | 1 | -1/+2 |
| | | |||||
| * | low_power: remove device busys for wle | xoviat | 2025-11-22 | 1 | -11/+0 |
| | | |||||
| * | stm32: Run cargo fmt | HybridChild | 2025-11-13 | 1 | -7/+11 |
| | | |||||
| * | stm32/i2c: Implement async DMA for transaction write groups | HybridChild | 2025-11-13 | 1 | -3/+47 |
| | | |||||
| * | stm32/i2c: Fix async write_vectored and restore DMA implementation | HybridChild | 2025-11-13 | 1 | -7/+34 |
| | | |||||
| * | stm32/i2c: Run cargo fmt | HybridChild | 2025-11-13 | 1 | -22/+69 |
| | | |||||
| * | stm32/i2c: Add comprehensive v2 Master API tests and fix async issues | HybridChild | 2025-11-13 | 1 | -21/+7 |
| | | |||||
| * | stm32/i2c: Fix v2 async transaction implementation | HybridChild | 2025-11-12 | 1 | -108/+153 |
| | | |||||
| * | stm32/i2c_v2: Refactor transaction implementation | HybridChild | 2025-11-12 | 1 | -54/+33 |
| | | |||||
| * | stm32/i2c_v2: Add initial transaction implementation | HybridChild | 2025-11-12 | 1 | -28/+474 |
| | | |||||
| * | Added TXDR flush via TXE set to the drop guard for write_dma_internal_slave; ↵ | WillaWillNot | 2025-11-10 | 1 | -1/+8 |
| | | | | | factored in remaining DMA transfers for the return values for write_dma_internal_slave and read_dma_internal_slave | ||||
| * | Pause DMA before awaiting DMA not-running at end of I2C target DMA read/write. | WillaWillNot | 2025-11-05 | 1 | -1/+3 |
| | | |||||
| * | stm32/stop: move stop_with_rtc into init | xoviat | 2025-11-04 | 1 | -1/+1 |
| | | |||||
| * | stm32/low-power: cleanup and improve | xoviat | 2025-11-04 | 1 | -5/+5 |
| | | |||||
| * | use DeviceBusy to mark when stop1 or stop2 is unavailable. | liebman | 2025-11-03 | 1 | -0/+10 |
| | | |||||
| * | low_power: i2c wakeup | liebman | 2025-11-03 | 1 | -0/+5 |
| | | |||||
| * | Rustfmt for edition 2024. | Dario Nieuwenhuis | 2025-10-06 | 1 | -1/+1 |
| | | |||||
| * | refactor: make dma implementations match in interface | elagil | 2025-09-05 | 1 | -1/+1 |
| | | |||||
| * | stm32/i2c: fix failure of subsequent transmissions after NACK | Fabian Wolter | 2025-09-02 | 1 | -4/+11 |
| | | | | | | | | | | | When a slave responds with a NACK in blocking I²C master mode, all subsequent transmissions send only the address followed immediately by a STOP. This happens because the current implementation sets I2C_CR2.STOP = 1 whenever any error (including a NACK) occurs. As a result, the STOP bit is already set when the next transmission starts. According to the reference manual: "If a NACK is received: […] a STOP condition is automatically sent […]" This bug was not triggered until #4454 was merged. | ||||
| * | wait for STOP flag in blocking_write_vectored as well | Malte Brieske | 2025-08-13 | 1 | -2/+4 |
| | | |||||
| * | wait for STOP flag when writing too | Malte Brieske | 2025-08-13 | 1 | -2/+4 |
| | | |||||
| * | wait for STOPF in blocking read | Malte Brieske | 2025-08-13 | 1 | -0/+1 |
| | | |||||
| * | stm32 i2c v2: rename freq to frequency | Süha Ünüvar | 2025-08-08 | 1 | -5/+5 |
| | | |||||
| * | i2c | Süha Ünüvar | 2025-08-08 | 1 | -2/+2 |
| | | |||||
| * | fix: stm32 i2c slave blocking r/w | Knaifhogg | 2025-07-24 | 1 | -58/+220 |
| | | | | | | | | | | | | | | | This fixes an issue where the slave interface would time out when the master goes from a short write to a read (e.g. when accessing memory registers) with a START signal between. The previous implementation would expect the full buffer length to be written before starting to listen to new commands. This also adds debug trace printing which helped during implemention and testing. Places error checking into a function inspired from a C implementation of HAL. | ||||
| * | fix name change | jrmoulton | 2025-06-10 | 1 | -3/+2 |
| | | |||||
| * | fmt | jrmoulton | 2025-06-10 | 1 | -1/+1 |
| | | |||||
| * | merge new embassy changes | jrmoulton | 2025-06-10 | 1 | -23/+87 |
| |\ | |||||
| | * | fix: Fix for #3888 async I2C read bug for introduced in #3887 in STM32 I2C ↵ | Fredrik Reinholdsen | 2025-04-01 | 1 | -3/+9 |
| | | | | | | | | | | | | | | | | | | | | | v2 driver In fixing a different timing related bug, #3887, a new bug was introduced causing I2C reads longer than 255 bytes to timeout for some I2C devices, #3888. The issue was caused by incorrect branch order, and poll function being called unnecessarily. Async I2C read poll function now only looks for I2C transfer complete reload (TCR) interrupts, intead of TCR and transfer complete (TC) interrupts, since TC interrupts are not raised when AUTOEND bit is set. | ||||
| | * | stm32/i2c: disable peripheral when changing timings | Aaron Griffith | 2025-02-27 | 1 | -0/+9 |
| | | | |||||
| | * | Merge pull request #3878 from showier-drastic/i2c-v2-add-nack | Dario Nieuwenhuis | 2025-02-17 | 1 | -7/+60 |
| | |\ | | | | | | | stm32: i2c-v2: Add error handling | ||||
| | | * | stm32: i2c-v2: Add error handling | Shaw Drastin | 2025-02-12 | 1 | -7/+60 |
| | | | | | | | | | | | | | | | | | | | Currently when error occurres, we have to wait for timeout, which is less than ideal. Enable related interrupts, and return Err when error occurres. | ||||
| | * | | fix: Fix for async I2C v2 driver sequential read/write reads. Fixes #3887 | Fredrik Reinholdsen | 2025-02-15 | 1 | -12/+10 |
| | |/ | | | | | | | | | | | | | | | For I2C devices that support variable length reads, sending chunks of data as long as the master keeps ACK:ing after each received byte, sequential reads will sometimes get out of sync, causing additional reads to return invalid data. This was caused by a delay between awaiting the DMA read and sending the software STOP signal, which may result in the slave to have time to send a byte of data in between, causing potential miss-alignment. This would then cause subsequent reads to return invalid data. Async write-reads now no longer send STOP after the initial write, matching the behaviour of the blocking version. | ||||
| | * | chore: fix build | elagil | 2025-01-03 | 1 | -3/+3 |
| | | | |||||
| * | | add stm32 i2c slave example | jrmoulton | 2024-08-13 | 1 | -13/+13 |
| | | | |||||
| * | | remove 10 bit support | jrmoulton | 2024-08-13 | 1 | -110/+22 |
| | | | |||||
| * | | fix ci | jrmoulton | 2024-08-13 | 1 | -1/+1 |
| | | | |||||
| * | | add drop guard, clear interrupts, fix len return | jrmoulton | 2024-08-13 | 1 | -3/+8 |
| | | | |||||
| * | | remove dead code when v1 | jrmoulton | 2024-08-13 | 1 | -0/+9 |
| | | | |||||
| * | | move addr mask impl to be v2 only | jrmoulton | 2024-08-13 | 1 | -1/+16 |
| | | | |||||
| * | | move embedded hal impl to version modules to allow for 10bit addr on v2 | jrmoulton | 2024-08-13 | 1 | -0/+88 |
| | | | |||||
| * | | Add more docs | jrmoulton | 2024-08-13 | 1 | -1/+1 |
| | | | |||||
| * | | Move slave constructor to v2 module | jrmoulton | 2024-08-13 | 1 | -0/+21 |
| | | | |||||
| * | | stm32 i2c slave | jrmoulton | 2024-08-13 | 1 | -38/+404 |
| |/ | |||||
| * | Fix Formatting Issues | Jamie Bird | 2024-06-21 | 1 | -2/+2 |
| | | |||||
