-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Porting i2c to the extension trait pattern #28
Conversation
LGTM I can't reproduce the CI failure though. Let's try re-running it. |
svd2rust makes the following breaking change > [breaking-change] for access to alternate registers functions now used instead of untagged_unions (no more nightly features) Fix by making function calls for `cmrrX_output`. Fixing this will be a breaking change for anyone building `stm32-rs` locally. To bring your build enviroment up-to-date: ``` cargo install svd2rust --force ``` Closes stm32-rs#29 Unblocks stm32-rs#28 and others
Also as this is apparently 0.2.0 now I wanted to add another thought, the busy_wait macro in this implementation, responsible for waiting for an ACK on the bus would send the program to an infinite loop if there was no ACK present, it would probably be better to implement it so it actually throws an error, however I'm not exactly sure how to do that as this is the only way proposed in the reference manual for ACK detection I could find |
30: svd2rust: breaking changes from update to v0.15.0 r=jordens a=richardeoin svd2rust v0.15.0 makes the following breaking change ([changelog](https://github.com/rust-embedded/svd2rust/blob/master/CHANGELOG.md#v0150---2019-07-25)) > [breaking-change] for access to alternate registers functions now used instead of untagged_unions (no more nightly features) Fix by making function calls for `cmrrX_output`. Fixing this will be a breaking change for anyone building `stm32-rs` locally. To bring your build enviroment up-to-date: ``` cargo install svd2rust --force ``` Closes #29 Unblocks #28 and others Co-authored-by: Richard Meadows <[email protected]>
@hargoniX : The meaning of the milestone is something that should resolved before 0.2.0 is released. These changes look good and are simple, so merging now. The ACK issue is interesting, there's definitely an argument for passing a bors r+ |
19: timers, bugfix: fix periodic CountDown timer r=richardeoin a=richardeoin Previously the `CountDown` timer failed to start a new countdown if the periodic timer was running and no `wait()` call was made in the previous period. This was as the UIF bit was already set. See embedded-hal docs for the contract: https://docs.rs/embedded-hal/0.2.3/embedded_hal/timer/trait.CountDown.html#tymethod.start Add example to demonstrate correct behaviour. 26: rcc: add options to configure more PLL outputs r=richardeoin a=richardeoin * All 3 outputs of PLL1 can be configured. * Moving closer to a generic interface for PLL2/PLL3; just needs macro definitions and call to setup. * An `assert` will occour if pll1_p_ck is set independently when it is requried for sys_ck. * When `pll1_r_ck` is `None` in the configuration struct, it is set if required to keep `traceclk` running. Afaict there's no documentation on acceptable frequencies for `traceclk`, set p_ck/2 as a sensible choice (can be overridden by setting some `pll1_r_ck`). 27: Init traits prelude r=richardeoin a=richardeoin adc: Add initialisation trait Simplifies usage: ```rust let _ = adc::Adc::adc3(dp.ADC3, &mut delay, &mut ccdr); ``` to ```rust let _ = dp.ADC3.adc(&mut delay, &mut ccdr); ``` Previous method still works. Re-work arguments for timer, doesn't break anything as there aren't any examples yet. Closes #20 28: Porting i2c to the extension trait pattern r=richardeoin a=hargoniX See #27 31: dependencies: use stm32h7 PAC 0.8 r=richardeoin a=jordens * remove and warnings notes on using the local build of stm32h7 * bump cortex-m-rt to 0.6.10 (.ARM.exidx section) * mention that this works with beta close: #5 Co-authored-by: Richard Meadows <[email protected]> Co-authored-by: Henrik Böving <[email protected]> Co-authored-by: Robert Jördens <[email protected]>
Timed out (retrying...) |
27: Init traits prelude r=richardeoin a=richardeoin adc: Add initialisation trait Simplifies usage: ```rust let _ = adc::Adc::adc3(dp.ADC3, &mut delay, &mut ccdr); ``` to ```rust let _ = dp.ADC3.adc(&mut delay, &mut ccdr); ``` Previous method still works. Re-work arguments for timer, doesn't break anything as there aren't any examples yet. Closes #20 28: Porting i2c to the extension trait pattern r=richardeoin a=hargoniX See #27 31: dependencies: use stm32h7 PAC 0.8 r=richardeoin a=jordens * remove and warnings notes on using the local build of stm32h7 * bump cortex-m-rt to 0.6.10 (.ARM.exidx section) * mention that this works with beta close: #5 Co-authored-by: Richard Meadows <[email protected]> Co-authored-by: Henrik Böving <[email protected]> Co-authored-by: Robert Jördens <[email protected]>
Build succeeded
|
svd2rust makes the following breaking change > [breaking-change] for access to alternate registers functions now used instead of untagged_unions (no more nightly features) Fix by making function calls for `cmrrX_output`. Fixing this will be a breaking change for anyone building `stm32-rs` locally. To bring your build enviroment up-to-date: ``` cargo install svd2rust --force ``` Closes stm32-rs#29 Unblocks stm32-rs#28 and others
30: svd2rust: breaking changes from update to v0.15.0 r=jordens a=richardeoin svd2rust v0.15.0 makes the following breaking change ([changelog](https://github.com/rust-embedded/svd2rust/blob/master/CHANGELOG.md#v0150---2019-07-25)) > [breaking-change] for access to alternate registers functions now used instead of untagged_unions (no more nightly features) Fix by making function calls for `cmrrX_output`. Fixing this will be a breaking change for anyone building `stm32-rs` locally. To bring your build enviroment up-to-date: ``` cargo install svd2rust --force ``` Closes stm32-rs#29 Unblocks stm32-rs#28 and others Co-authored-by: Richard Meadows <[email protected]>
27: Init traits prelude r=richardeoin a=richardeoin adc: Add initialisation trait Simplifies usage: ```rust let _ = adc::Adc::adc3(dp.ADC3, &mut delay, &mut ccdr); ``` to ```rust let _ = dp.ADC3.adc(&mut delay, &mut ccdr); ``` Previous method still works. Re-work arguments for timer, doesn't break anything as there aren't any examples yet. Closes stm32-rs#20 28: Porting i2c to the extension trait pattern r=richardeoin a=hargoniX See stm32-rs#27 31: dependencies: use stm32h7 PAC 0.8 r=richardeoin a=jordens * remove and warnings notes on using the local build of stm32h7 * bump cortex-m-rt to 0.6.10 (.ARM.exidx section) * mention that this works with beta close: stm32-rs#5 Co-authored-by: Richard Meadows <[email protected]> Co-authored-by: Henrik Böving <[email protected]> Co-authored-by: Robert Jördens <[email protected]>
See #27