Comments (5)
Generally, i2c on stm32 is something that we want to support. You need to implement the RTC and I2C traits for stm32g0xx microcontrollers.
- See the RTC implementation that works on stm32f4: https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/rtc.rs
- See the draft I2C implementation that works on stm32f4: https://github.com/embassy-rs/embassy/pull/92/files
For the I2C implementation, you can copy this file, and then adjust it to use InterruptFuture
for transmission of the address, and replace L263-L270 with DMA, like what's done in the stm32f4 PR. The F4 PR is probably almost correct, but I can't currently test it because I don't use I2C in my project. I'll probably keep is as a reference until someone needs I2C for F4.
from embassy.
Also, join https://app.element.io/#/room/#embassy-rs:matrix.org so that we can discuss your questions in chat, and there's not so many questions in this issue.
from embassy.
I think we have i2c now implemented for all STM32 boards, if you wouldn't mind taking a look?
If you find your target board(s) are not supported (or include too many bugs), let us know.
Thanks!
from embassy.
stm32g0 is I2Cv2 which we do support. What's missing is:
- stm32g0 support itself.
- I2C slave mode (we only have master).
stm32g0 support shouldn't be hard, just enabling it here and fixing what breaks (most likely lack of RCC).
from embassy.
embassy-stm32 now fully supports G0.
Tracking slave mode support in #622
from embassy.
Related Issues (20)
- nrf52840 Bluetooth support? HOT 1
- Possible to use embassy API with esp32? HOT 1
- stm32: no fifo field in Uart::Config, and broken FIFO with new_half_duplex mode HOT 1
- Add support for AT32 series MCU by ArteryTek
- RP2040 USB hang when receiving a corrupted IN packet
- USB Driver trait documentation is unclear about some things HOT 4
- STM32F303 I2C `blocking_read_write` works but async `write_read` fails due to a timeout HOT 3
- some examples overflowing HOT 3
- Mismatch between online documentation and what cargo installs HOT 2
- Docs: embassy_sync PriorityChannel has wrong link in docs
- stm32/spi: new_blocking_txonly_nosck hangs on v3+
- Update BDMA example for soundness
- stm32 i2cv1 async regression, silently reads back 0xFF HOT 1
- Embassy task with `const generics`
- Uart write work but not read fn HOT 2
- impl ReadReady for tcp should use can_recv() insted of may_recv() HOT 2
- bxcan on stm32l5
- Proposition of example of QSPI usage on STM32 HOT 1
- Async read methods on nrf twim lead to unsoundness when canceled (?) HOT 2
- Problem with `embassy_stm32::ospi::Ospi::new_*` HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from embassy.