Skip to content

Commit ca9a3be

Browse files
committed
more Rcc
1 parent c739205 commit ca9a3be

37 files changed

+171
-185
lines changed

examples/analog-stopwatch-with-spi-ssd1306.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ fn main() -> ! {
8686

8787
let mut rcc = setup_clocks(dp.RCC);
8888

89-
let mut syscfg = dp.SYSCFG.constrain();
89+
let mut syscfg = dp.SYSCFG.constrain(&mut rcc);
9090

9191
let gpioa = dp.GPIOA.split(&mut rcc);
9292
let gpioe = dp.GPIOE.split(&mut rcc);
@@ -115,7 +115,7 @@ fn main() -> ! {
115115
phase: Phase::CaptureOnFirstTransition,
116116
},
117117
2000.kHz(),
118-
&rcc.clocks,
118+
&mut rcc,
119119
);
120120

121121
// Set up the LEDs. On the stm32f429i-disco they are connected to pin PG13 and PG14.

examples/display-touch.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ fn main() -> ! {
120120
let read_timing = Timing::default().data(8).address_setup(8).bus_turnaround(0);
121121

122122
// Initialise FSMC memory provider
123-
let (_fsmc, interface) = FsmcLcd::new(p.FSMC, lcd_pins, &read_timing, &write_timing);
123+
let (_fsmc, interface) = FsmcLcd::new(p.FSMC, lcd_pins, &read_timing, &write_timing, &mut rcc);
124124

125125
// Pass display-interface instance ST7789 driver to setup a new display
126126
let mut disp = ST7789::new(
@@ -146,7 +146,7 @@ fn main() -> ! {
146146
// STM32F412 uses I2c1 type for i2c bus.
147147
// The pins are mentioned in documentation -um2135-discovery-kit-with-stm32f412zg-mcu-stmicroelectronics
148148
#[cfg(feature = "stm32f412")]
149-
let mut i2c = { I2c::new(p.I2C1, (gpiob.pb6, gpiob.pb7), 400.kHz(), &rcc.clocks) };
149+
let mut i2c = { I2c::new(p.I2C1, (gpiob.pb6, gpiob.pb7), 400.kHz(), &mut rcc) };
150150

151151
// STM32F413 uses FMPI2C1 type.
152152
// The pins are mentioned in documentation -um2135-discovery-kit-with-stm32f413zh-mcu-stmicroelectronics

examples/f413disco-lcd-ferris.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,8 @@ fn main() -> ! {
735735
let read_timing = Timing::default().data(8).address_setup(8).bus_turnaround(0);
736736

737737
// Initialise FSMC memory provider
738-
let (_fsmc, interface) = FsmcLcd::new(p.FSMC, lcd_pins, &read_timing, &write_timing);
738+
let (_fsmc, interface) =
739+
FsmcLcd::new(p.FSMC, lcd_pins, &read_timing, &write_timing, &mut rcc);
739740

740741
// Pass display-interface instance ST7789 driver to setup a new display
741742
let mut disp = ST7789::new(

examples/i2c_scanner.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fn main() -> ! {
3030
dp.I2C1,
3131
(scl, sda),
3232
hal::i2c::Mode::standard(100.kHz()),
33-
&rcc.clocks,
33+
&mut rcc,
3434
);
3535

3636
rprintln!("Start i2c scanning...");

examples/i2s-audio-out.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ fn main() -> ! {
104104
let gpioc = dp.GPIOC.split(&mut rcc);
105105

106106
let i2s_pins = (gpioa.pa4, gpioc.pc10, NoPin::new(), gpioc.pc12);
107-
let i2s = I2s::new(dp.SPI3, i2s_pins, &rcc.clocks);
107+
let i2s = I2s::new(dp.SPI3, i2s_pins, &mut rcc);
108108
let i2s_config = I2sTransferConfig::new_master()
109109
.transmit()
110110
.standard(Philips)

examples/ist7920-bidi-normal-spi.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ fn main() -> ! {
4242
};
4343

4444
// Change spi transfer mode to Bidi for more efficient operations.
45-
// let spi = Spi::new(dp.SPI1, (sck, miso, mosi), mode, 8.MHz(), &rcc.clocks).to_bidi_transfer_mode();
45+
// let spi = Spi::new(dp.SPI1, (sck, miso, mosi), mode, 8.MHz(), &mut rcc).to_bidi_transfer_mode();
4646
// or
47-
let spi = dp.SPI1.spi_bidi((sck, mosi), mode, 8.MHz(), &rcc.clocks);
47+
let spi = dp.SPI1.spi_bidi((sck, mosi), mode, 8.MHz(), &mut rcc);
4848

4949
let iface = SPIInterface::new(spi, dc, cs);
5050

examples/qspi-w25q.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ fn main() -> ! {
165165
.flash_size(FlashSize::from_megabytes(16))
166166
.clock_prescaler(0)
167167
.sample_shift(hal::qspi::SampleShift::HalfACycle),
168+
&mut rcc,
168169
);
169170

170171
let mut flash = W25Q::new(qspi).unwrap();

examples/rng-display.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ fn main() -> ! {
6969
let gpiob = dp.GPIOB.split(&mut rcc);
7070
let scl = gpiob.pb8;
7171
let sda = gpiob.pb9;
72-
let i2c = I2c::new(dp.I2C1, (scl, sda), 400.kHz(), &rcc.clocks);
72+
let i2c = I2c::new(dp.I2C1, (scl, sda), 400.kHz(), &mut rcc);
7373

7474
// Set up the display
7575
let interface = I2CDisplayInterface::new(i2c);
@@ -79,7 +79,7 @@ fn main() -> ! {
7979

8080
// enable the RNG peripheral and its clock
8181
// this will panic if the clock configuration is unsuitable
82-
let mut rand_source = dp.RNG.constrain(&rcc.clocks);
82+
let mut rand_source = dp.RNG.constrain(&mut rcc);
8383
let mut format_buf = String::<20>::new();
8484
loop {
8585
//display clear

examples/rtic-button.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ mod app {
2626

2727
#[init]
2828
fn init(mut ctx: init::Context) -> (Shared, Local, init::Monotonics) {
29-
// syscfg
30-
let mut syscfg = ctx.device.SYSCFG.constrain();
3129
// clocks
3230
let mut rcc = ctx
3331
.device
3432
.RCC
3533
.freeze(Config::hse(25.MHz()).sysclk(SYSFREQ.Hz()));
34+
// syscfg
35+
let mut syscfg = ctx.device.SYSCFG.constrain(&mut rcc);
3636
// gpio ports A and C
3737
let gpioa = ctx.device.GPIOA.split(&mut rcc);
3838
let gpioc = ctx.device.GPIOC.split(&mut rcc);

examples/rtic-dual-i2s-audio-in-out.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ mod app {
149149
let (adc_p, process_c) = queue_1.split();
150150
let (process_p, dac_c) = queue_2.split();
151151
let device = cx.device;
152-
let mut syscfg = device.SYSCFG.constrain();
153152
let mut exti = device.EXTI;
154153
let mut rcc = device.RCC.freeze(
155154
Config::hse(8u32.MHz())
@@ -159,6 +158,7 @@ mod app {
159158
.pclk2(100.MHz())
160159
.i2s_clk(61440.kHz()),
161160
);
161+
let mut syscfg = device.SYSCFG.constrain(&mut rcc);
162162
let gpiob = device.GPIOB.split(&mut rcc);
163163
let gpioc = device.GPIOC.split(&mut rcc);
164164

@@ -170,7 +170,7 @@ mod app {
170170
gpiob.pb15, //SD
171171
gpiob.pb14, //ExtSD
172172
);
173-
let i2s2 = DualI2s::new(device.SPI2, device.I2S2EXT, i2s2_pins, &rcc.clocks);
173+
let i2s2 = DualI2s::new(device.SPI2, device.I2S2EXT, i2s2_pins, &mut rcc);
174174
let i2s2_config = DualI2sDriverConfig::new_master()
175175
.direction(Receive, Transmit)
176176
.standard(Philips)

examples/rtic-i2s-audio-in-out.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ mod app {
152152
let (adc_p, process_c) = queue_1.split();
153153
let (process_p, dac_c) = queue_2.split();
154154
let device = cx.device;
155-
let mut syscfg = device.SYSCFG.constrain();
156155
let mut exti = device.EXTI;
157156
let mut rcc = device.RCC.freeze(
158157
Config::hse(8u32.MHz())
@@ -162,6 +161,7 @@ mod app {
162161
.pclk2(100.MHz())
163162
.i2s_clk(61440.kHz()),
164163
);
164+
let mut syscfg = device.SYSCFG.constrain(&mut rcc);
165165
let gpioa = device.GPIOA.split(&mut rcc);
166166
let gpiob = device.GPIOB.split(&mut rcc);
167167
let gpioc = device.GPIOC.split(&mut rcc);
@@ -173,7 +173,7 @@ mod app {
173173
gpioc.pc6, //MCK
174174
gpiob.pb15, //SD
175175
);
176-
let i2s2 = I2s::new(device.SPI2, i2s2_pins, &rcc.clocks);
176+
let i2s2 = I2s::new(device.SPI2, i2s2_pins, &mut rcc);
177177
let i2s2_config = I2sDriverConfig::new_master()
178178
.receive()
179179
.standard(Philips)
@@ -187,7 +187,7 @@ mod app {
187187

188188
// I2S3 pins: (WS, CK, NoPin, SD) for I2S3
189189
let i2s3_pins = (gpioa.pa4, gpioc.pc10, NoPin::new(), gpioc.pc12);
190-
let i2s3 = I2s::new(device.SPI3, i2s3_pins, &rcc.clocks);
190+
let i2s3 = I2s::new(device.SPI3, i2s3_pins, &mut rcc);
191191
let i2s3_config = i2s2_config.to_slave().transmit();
192192
let mut i2s3_driver = I2sDriver::new(i2s3, i2s3_config);
193193
i2s3_driver.set_tx_interrupt(true);

examples/rtic-serial-dma-rx-idle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ mod app {
7171
serial::Config::default()
7272
.baudrate(9600.bps())
7373
.dma(serial::config::DmaConfig::Rx),
74-
&rcc.clocks,
74+
&mut rcc,
7575
)
7676
.unwrap();
7777

examples/rtic-spi-slave-dma.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ mod app {
7777
phase: Phase::CaptureOnFirstTransition,
7878
};
7979

80-
let mut spi3 = SpiSlave::new(spi, (sck, miso, mosi, None), mode);
80+
let mut spi3 = SpiSlave::new(spi, (sck, miso, mosi, None), mode, &mut rcc);
8181
spi3.set_internal_nss(false);
8282

8383
let (tx, rx) = spi3.use_dma().txrx();

examples/rtic-usart-shell-ssd1306.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ mod usart_shell {
7878

7979
#[init]
8080
fn init(mut ctx: init::Context) -> (Shared, Local, init::Monotonics) {
81-
// syscfg
82-
let mut syscfg = ctx.device.SYSCFG.constrain();
8381
// clocks
8482
let mut rcc = ctx
8583
.device
8684
.RCC
8785
.freeze(rcc::Config::hse(25.MHz()).sysclk(SYSFREQ.Hz()));
86+
// syscfg
87+
let mut syscfg = ctx.device.SYSCFG.constrain(&mut rcc);
8888
// monotonic timer
8989
let mono = DwtSystick::new(&mut ctx.core.DCB, ctx.core.DWT, ctx.core.SYST, SYSFREQ);
9090
// gpio ports A and C
@@ -101,14 +101,14 @@ mod usart_shell {
101101
// i2c
102102
let scl = gpiob.pb8;
103103
let sda = gpiob.pb9;
104-
let i2c = I2c::new(ctx.device.I2C1, (scl, sda), 400.kHz(), &rcc.clocks);
104+
let i2c = I2c::new(ctx.device.I2C1, (scl, sda), 400.kHz(), &mut rcc);
105105
// serial
106106
let pins = (gpioa.pa9, gpioa.pa10);
107107
let mut serial = Serial::new(
108108
ctx.device.USART1,
109109
pins,
110110
Config::default().baudrate(115_200.bps()).wordlength_8(),
111-
&rcc.clocks,
111+
&mut rcc,
112112
)
113113
.unwrap()
114114
.with_u8_data();
@@ -124,7 +124,7 @@ mod usart_shell {
124124
ldisp.init().unwrap();
125125

126126
let mut timer = ctx.device.TIM2.counter_hz(&mut rcc);
127-
//let mut timer = FTimer::new(ctx.device.TIM1, &clocks).counter_hz();
127+
//let mut timer = FTimer::new(ctx.device.TIM1, &mut rcc).counter_hz();
128128
timer.start(FPS.Hz()).unwrap();
129129
timer.listen(Event::Update);
130130

examples/rtic-usart-shell.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ mod usart_shell {
5050

5151
#[init]
5252
fn init(mut ctx: init::Context) -> (Shared, Local, init::Monotonics) {
53-
// syscfg
54-
let mut syscfg = ctx.device.SYSCFG.constrain();
5553
// clocks
5654
let mut rcc = ctx
5755
.device
5856
.RCC
5957
.freeze(rcc::Config::hse(25.MHz()).sysclk(SYSFREQ.Hz()));
58+
// syscfg
59+
let mut syscfg = ctx.device.SYSCFG.constrain(&mut rcc);
6060
// monotonic timer
6161
let mono = DwtSystick::new(&mut ctx.core.DCB, ctx.core.DWT, ctx.core.SYST, SYSFREQ);
6262
// gpio ports A and C
@@ -75,7 +75,7 @@ mod usart_shell {
7575
ctx.device.USART1,
7676
pins,
7777
Config::default().baudrate(115_200.bps()).wordlength_8(),
78-
&rcc.clocks,
78+
&mut rcc,
7979
)
8080
.unwrap()
8181
.with_u8_data();

examples/sai-duplex.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ fn main() -> ! {
3131

3232
let gpioe = p.GPIOE.split(&mut rcc);
3333
// SAIB is made synchronous to A.
34-
let (saia, saib) = p.SAI.split_sync_b();
34+
let (saia, saib) = p.SAI.split_sync_b(&mut rcc);
3535
let protocol = Protocol {
3636
sync: Synchronization::I2S,
3737
word_size: WordSize::Bit16,

examples/serial-9bit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ fn main() -> ! {
6565
.serial(
6666
(tx_pin, rx_pin),
6767
Config::default().baudrate(9600.bps()).wordlength_9(),
68-
&rcc.clocks,
68+
&mut rcc,
6969
)
7070
.unwrap()
7171
// Make this Serial object use u16s instead of u8s

examples/serial-dma.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fn main() -> ! {
6060
.parity_none()
6161
.stopbits(StopBits::STOP1)
6262
.dma(serial::config::DmaConfig::TxRx),
63-
&rcc.clocks,
63+
&mut rcc,
6464
)
6565
.unwrap();
6666

examples/serial.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ fn main() -> ! {
2424
let tx_pin = gpioa.pa9;
2525

2626
// configure serial
27-
// let mut tx = Serial::tx(dp.USART1, tx_pin, 9600.bps(), &rcc.clocks).unwrap();
27+
// let mut tx = Serial::tx(dp.USART1, tx_pin, 9600.bps(), &mut rcc).unwrap();
2828
// or
29-
let mut tx = dp.USART1.tx(tx_pin, 9600.bps(), &rcc.clocks).unwrap();
29+
let mut tx = dp.USART1.tx(tx_pin, 9600.bps(), &mut rcc).unwrap();
3030

3131
let mut value: u8 = 0;
3232

examples/spi-dma.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fn main() -> ! {
6060
(pb13, NoMiso::new(), pb15),
6161
mode,
6262
3.MHz(),
63-
&rcc.clocks,
63+
&mut rcc,
6464
);
6565

6666
let buffer = cortex_m::singleton!(: [u8; ARRAY_SIZE] = [1; ARRAY_SIZE]).unwrap();

examples/spi_slave.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ fn main() -> ! {
2929

3030
// clock speed is determined by the master
3131
let nss = gpioa.pa4.internal_resistor(Pull::Up).into();
32-
let mut spi = p.SPI1.spi_slave((sck, miso, mosi, Some(nss)), MODE);
32+
let mut spi = p
33+
.SPI1
34+
.spi_slave((sck, miso, mosi, Some(nss)), MODE, &mut rcc);
3335
// alternativelly you could use software `chip select`
34-
// let mut spi = SpiSlave::new(p.SPI1, (sck, miso, mosi, None), MODE);
36+
// let mut spi = SpiSlave::new(p.SPI1, (sck, miso, mosi, None), MODE, &mut rcc);
3537
// spi.set_internal_nss(false);
3638

3739
let mut data = [0x1];

examples/ssd1306-image.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ fn main() -> ! {
3838
let gpiob = dp.GPIOB.split(&mut rcc);
3939
let scl = gpiob.pb8.internal_pull_up(true);
4040
let sda = gpiob.pb9.internal_pull_up(true);
41-
// let i2c = I2c::new(dp.I2C1, (scl, sda), 400.kHz(), &rcc.clocks);
41+
// let i2c = I2c::new(dp.I2C1, (scl, sda), 400.kHz(), &mut rcc);
4242
// or
43-
let i2c = dp.I2C1.i2c((scl, sda), 400.kHz(), &rcc.clocks);
43+
let i2c = dp.I2C1.i2c((scl, sda), 400.kHz(), &mut rcc);
4444

4545
// There's a button on PC13. On the Nucleo board, it's pulled up by a 4.7kOhm resistor
4646
// and therefore is active LOW. There's even a 100nF capacitor for debouncing - nice for us

examples/st7789-lcd.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fn main() -> ! {
8383
// Bus turnaround time is zero, because no particular interval is required between transactions.
8484
let write_timing = Timing::default().data(3).address_setup(3).bus_turnaround(0);
8585

86-
let (_fsmc, interface) = FsmcLcd::new(dp.FSMC, lcd_pins, &read_timing, &write_timing);
86+
let (_fsmc, interface) = FsmcLcd::new(dp.FSMC, lcd_pins, &read_timing, &write_timing, &mut rcc);
8787

8888
// The 32F412GDISCOVERY board has an FRD154BP2902-CTP LCD. There is no easily available
8989
// datasheet, so the behavior of this code is based on the working demonstration C code:

examples/stopwatch-with-ssd1306-and-interrupts-and-dma-i2c.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ fn main() -> ! {
162162
if let (Some(mut dp), Some(cp)) = (pac::Peripherals::take(), cortex_m::Peripherals::take()) {
163163
let mut rcc = setup_clocks(dp.RCC);
164164
let gpiob = dp.GPIOB.split(&mut rcc);
165-
let i2c = I2c::new(dp.I2C1, (gpiob.pb8, gpiob.pb9), 400.kHz(), &rcc.clocks);
165+
let i2c = I2c::new(dp.I2C1, (gpiob.pb8, gpiob.pb9), 400.kHz(), &mut rcc);
166166

167167
// Then convert it to DMA
168168
let streams = StreamsTuple::new(dp.DMA1, &mut rcc);
@@ -181,7 +181,7 @@ fn main() -> ! {
181181
let gpioa = dp.GPIOA.split(&mut rcc);
182182
gpioa.pa8.into_push_pull_output().set_high();
183183

184-
let mut syscfg = dp.SYSCFG.constrain();
184+
let mut syscfg = dp.SYSCFG.constrain(&mut rcc);
185185

186186
// Create a button input with an interrupt
187187
let gpioc = dp.GPIOC.split(&mut rcc);

examples/stopwatch-with-ssd1306-and-interrupts.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ fn main() -> ! {
6464
if let (Some(mut dp), Some(cp)) = (pac::Peripherals::take(), cortex_m::Peripherals::take()) {
6565
let mut rcc = setup_clocks(dp.RCC);
6666
let gpiob = dp.GPIOB.split(&mut rcc);
67-
let i2c = I2c::new(dp.I2C1, (gpiob.pb8, gpiob.pb9), 400.kHz(), &rcc.clocks);
67+
let i2c = I2c::new(dp.I2C1, (gpiob.pb8, gpiob.pb9), 400.kHz(), &mut rcc);
6868

69-
let mut syscfg = dp.SYSCFG.constrain();
69+
let mut syscfg = dp.SYSCFG.constrain(&mut rcc);
7070

7171
// Create a button input with an interrupt
7272
let gpioc = dp.GPIOC.split(&mut rcc);

examples/uart-dma.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ fn main() -> ! {
144144
.parity_none()
145145
.stopbits(StopBits::STOP1)
146146
.dma(serial::config::DmaConfig::Rx),
147-
&rcc.clocks,
147+
&mut rcc,
148148
)
149149
.unwrap();
150150

examples/ws2812-spi.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ fn main() -> ! {
2424
(gpioa.pa5, NoPin::new(), gpioa.pa7),
2525
ws2812::MODE,
2626
3000.kHz(),
27-
&rcc.clocks,
27+
&mut rcc,
2828
);
2929

3030
const NUM_LEDS: usize = 20;

0 commit comments

Comments
 (0)