Comments (3)
I was just getting ready to tackle this issue, so I did a git pull and turns out it is already fixed 😃
Thanks @andresv, I just tested it and it also works with optimizations on now
from stm32g0xx-hal.
Just tested 9697aef and it is not fixed yet.
For now I need to add a 'timeout' to the busy_wait
loops
($i2c:expr) => {
let mut count = 0;
loop {
let isr = $i2c.isr.read();
if isr.berr().bit_is_set() {
$i2c.icr.write(|w| w.berrcf().set_bit());
return Err(Error::BusError);
} else if isr.arlo().bit_is_set() {
$i2c.icr.write(|w| w.arlocf().set_bit());
return Err(Error::ArbitrationLost);
} else if isr.nackf().bit_is_set() {
$i2c.icr.write(|w| w.nackcf().set_bit());
return Err(Error::Nack);
} else if isr.busy().bit_is_clear() {
break;
}
count += 1;
if count > 1000 {
break;
}
}
};
I'll try to look into it further soon
from stm32g0xx-hal.
Yes, I have the same problem.
At some point stuff from L0 https://github.com/stm32-rs/stm32l0xx-hal/blob/master/src/i2c.rs should be merged.
G0 and L0 are quite similar. However G0 uses modern DMAMUX.
from stm32g0xx-hal.
Related Issues (20)
- [dependencies.stm32g0xx-hal] produces error during cargo build "uplicate key: `stm32g0xx-hal`" HOT 2
- unable to build examples (exit status: 101) HOT 1
- Feature: fully erasable pins HOT 2
- Invalid clock configuration for apb_clk, apb_tim_clk and core_clk HOT 3
- Stopwatch::elapsed truncates 32 bit timer TIM2 to 16 bits
- I think FDCAN is missing? HOT 3
- GPIO - alternate function + open drain HOT 1
- Add G0B1 Variant HOT 4
- I2C slave loses data on repeated start condition
- Help, examples of measuring input signals
- IWDG prescaler calculation
- Spelling error `dma_circualr_mode()` HOT 2
- i2c-nonblocking: how to use? HOT 1
- I2C doesn't send STOP if write_read is called immediately after any other transfer
- New chip variants have been added to the stm32g0 PAC HOT 3
- UnlockedFlash::write memory safety HOT 3
- Configuring I2C pins causes them to be temporarily pulled low HOT 2
- timer interrupt fires immediately after being enabled HOT 2
- Allow output value to be set before configuring pin as an output HOT 4
- Feature: add RTIC monotonic impl
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 stm32g0xx-hal.