Updated crates for the fimrware part
This commit is contained in:
parent
475e9621a1
commit
ceb4dc035f
5 changed files with 489 additions and 570 deletions
1007
Cargo.lock
generated
1007
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -5,25 +5,25 @@ version = "0.1.0"
|
|||
|
||||
[dependencies]
|
||||
cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
|
||||
defmt = { version = "0.3", features = ["encoding-rzcobs"] }
|
||||
defmt = { version = "1.0", features = ["encoding-rzcobs"] }
|
||||
defmt-brtt = { version = "0.1", default-features = false, features = ["rtt"] }
|
||||
panic-probe = { version = "0.3", features = ["print-defmt"] }
|
||||
panic-probe = { version = "1.0", features = ["print-defmt"] }
|
||||
rtic = { version = "2.0.1", features = [ "thumbv7-backend" ] }
|
||||
defmt-rtt = "0.4"
|
||||
stm32f4xx-hal = { version = "0.21.0", features = ["stm32f401", "usb_fs"] }
|
||||
defmt-rtt = "1.1"
|
||||
stm32f4xx-hal = { version = "0.23.0", features = ["stm32f401", "usb_fs"] }
|
||||
embedded-hal = {version = "1.0.0"}
|
||||
nb = "1.0.0"
|
||||
num-traits = { version = "0.2", default-features = false, features = ["libm"] }
|
||||
num = {version = "0.4", default-features = false}
|
||||
ufmt = "0.2.0"
|
||||
qmc5883l = "0.0.1"
|
||||
qmc5883l = {version = "0.0.1", git="https://github.com/patrickelectric/qmc5883l", rev="62b8a64b54e0f843ddf0c5942f8ed218b5f3e492"}
|
||||
rtic-monotonics = {version = "2.0.2", features = ["cortex-m-systick"]}
|
||||
xca9548a = "0.2.1"
|
||||
xca9548a = "1.0.0"
|
||||
as5048a = { git = "https://github.com/LongHairedHacker/as5048a", rev="b15d716bf47ce4975a6cefebf82006c9b09e8fea"}
|
||||
usb-device = "0.3.2"
|
||||
usbd-serial = "0.2.2"
|
||||
postcard = {version = "1.0.10", features = ["use-defmt"]}
|
||||
heapless = {version = "0.8.0", features = ["defmt-03"]}
|
||||
heapless = {version = "0.9.2", features = ["defmt"]}
|
||||
radomctl-protocol = { path = "../protocol" }
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
use core::{mem::MaybeUninit, ptr::addr_of_mut};
|
||||
use core::mem::MaybeUninit;
|
||||
|
||||
use stm32f4xx_hal::pac;
|
||||
|
||||
|
|
@ -9,7 +9,7 @@ fn jump_to_bootloader() {
|
|||
let address: u32 = 0x1FFF0000;
|
||||
|
||||
let device = pac::Peripherals::steal();
|
||||
device.SYSCFG.memrm.modify(|_, w| w.bits(0x01));
|
||||
device.SYSCFG.memrmp().modify(|_, w| w.bits(0x01));
|
||||
|
||||
let mut p = cortex_m::Peripherals::steal();
|
||||
p.SCB.invalidate_icache();
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ mod app {
|
|||
otg_fs::{UsbBus, UsbBusType, USB},
|
||||
pac::{I2C1, SPI1},
|
||||
prelude::*,
|
||||
rcc::Config,
|
||||
signature, spi,
|
||||
};
|
||||
use usb_device::prelude::*;
|
||||
|
|
@ -93,26 +94,19 @@ mod app {
|
|||
bootloader::init();
|
||||
|
||||
defmt::info!("init");
|
||||
let mut rcc = cx
|
||||
.device
|
||||
.RCC
|
||||
.freeze(Config::hse(25.MHz()).sysclk(84.MHz()).require_pll48clk());
|
||||
|
||||
let rcc = cx.device.RCC.constrain();
|
||||
|
||||
// Freeze the configuration of all the clocks in the system and store the frozen frequencies in
|
||||
// `clocks`
|
||||
let clocks = rcc
|
||||
.cfgr
|
||||
.use_hse(25.MHz())
|
||||
.sysclk(84.MHz())
|
||||
.require_pll48clk()
|
||||
.freeze();
|
||||
|
||||
Mono::start(cx.core.SYST, clocks.sysclk().to_Hz());
|
||||
Mono::start(cx.core.SYST, rcc.clocks.sysclk().to_Hz());
|
||||
|
||||
defmt::info!("Clock Setup done");
|
||||
|
||||
// Acquire the GPIO peripherials
|
||||
let gpioa = cx.device.GPIOA.split();
|
||||
let gpiob = cx.device.GPIOB.split();
|
||||
let gpioc = cx.device.GPIOC.split();
|
||||
let gpioa = cx.device.GPIOA.split(&mut rcc);
|
||||
let gpiob = cx.device.GPIOB.split(&mut rcc);
|
||||
let gpioc = cx.device.GPIOC.split(&mut rcc);
|
||||
|
||||
let board_led = gpioc.pc13.into_push_pull_output();
|
||||
|
||||
|
|
@ -128,7 +122,7 @@ mod app {
|
|||
cx.device.OTG_FS_PWRCLK,
|
||||
),
|
||||
(gpioa.pa11, gpioa.pa12),
|
||||
&clocks,
|
||||
&rcc.clocks,
|
||||
);
|
||||
|
||||
unsafe {
|
||||
|
|
@ -177,7 +171,7 @@ mod app {
|
|||
i2c::Mode::Standard {
|
||||
frequency: 400.kHz(),
|
||||
},
|
||||
&clocks,
|
||||
&mut rcc,
|
||||
);
|
||||
|
||||
defmt::info!("I2C Setup done");
|
||||
|
|
@ -201,13 +195,13 @@ mod app {
|
|||
let pico = gpioa.pa7.into_push_pull_output();
|
||||
let spi1 = spi::Spi::new(
|
||||
cx.device.SPI1,
|
||||
(sck, poci, pico),
|
||||
(Some(sck), Some(poci), Some(pico)),
|
||||
spi::Mode {
|
||||
polarity: spi::Polarity::IdleLow,
|
||||
phase: spi::Phase::CaptureOnSecondTransition,
|
||||
},
|
||||
8.MHz(),
|
||||
&clocks,
|
||||
&mut rcc,
|
||||
);
|
||||
|
||||
defmt::info!("SPI Setup done");
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@ edition = "2021"
|
|||
|
||||
[dependencies]
|
||||
serde = {version = "1.0.193", default-features = false, features = ["derive"]}
|
||||
heapless = {version = "0.8.0", features = ["serde"]}
|
||||
heapless = {version = "0.9.2", features = ["serde"]}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue