Merge pull request #2426 from embassy-rs/update-metapac-3984
stm32: update metapac.
This commit is contained in:
commit
77e60ecff8
3 changed files with 22 additions and 50 deletions
|
@ -57,7 +57,7 @@ futures = { version = "0.3.17", default-features = false, features = ["async-awa
|
||||||
rand_core = "0.6.3"
|
rand_core = "0.6.3"
|
||||||
sdio-host = "0.5.0"
|
sdio-host = "0.5.0"
|
||||||
critical-section = "1.1"
|
critical-section = "1.1"
|
||||||
stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-d5096244fa0b7992454a894a2aeaa369ae674222" }
|
stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-656ecf6714fa34fdfb3b3e2f2cd034bffed3f303" }
|
||||||
vcell = "0.1.3"
|
vcell = "0.1.3"
|
||||||
bxcan = "0.7.0"
|
bxcan = "0.7.0"
|
||||||
nb = "1.0.0"
|
nb = "1.0.0"
|
||||||
|
@ -75,7 +75,7 @@ critical-section = { version = "1.1", features = ["std"] }
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
proc-macro2 = "1.0.36"
|
proc-macro2 = "1.0.36"
|
||||||
quote = "1.0.15"
|
quote = "1.0.15"
|
||||||
stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-d5096244fa0b7992454a894a2aeaa369ae674222", default-features = false, features = ["metadata"]}
|
stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-656ecf6714fa34fdfb3b3e2f2cd034bffed3f303", default-features = false, features = ["metadata"]}
|
||||||
|
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
use embassy_hal_internal::{into_ref, PeripheralRef};
|
use embassy_hal_internal::{into_ref, PeripheralRef};
|
||||||
|
|
||||||
|
use crate::pac::opamp::vals::*;
|
||||||
use crate::Peripheral;
|
use crate::Peripheral;
|
||||||
|
|
||||||
/// Gain
|
/// Gain
|
||||||
|
@ -25,11 +26,11 @@ pub enum OpAmpSpeed {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(opamp_g4)]
|
#[cfg(opamp_g4)]
|
||||||
impl From<OpAmpSpeed> for crate::pac::opamp::vals::OpampCsrOpahsm {
|
impl From<OpAmpSpeed> for crate::pac::opamp::vals::Opahsm {
|
||||||
fn from(v: OpAmpSpeed) -> Self {
|
fn from(v: OpAmpSpeed) -> Self {
|
||||||
match v {
|
match v {
|
||||||
OpAmpSpeed::Normal => crate::pac::opamp::vals::OpampCsrOpahsm::NORMAL,
|
OpAmpSpeed::Normal => crate::pac::opamp::vals::Opahsm::NORMAL,
|
||||||
OpAmpSpeed::HighSpeed => crate::pac::opamp::vals::OpampCsrOpahsm::HIGHSPEED,
|
OpAmpSpeed::HighSpeed => crate::pac::opamp::vals::Opahsm::HIGHSPEED,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,7 +62,7 @@ impl<'d, T: Instance> OpAmp<'d, T> {
|
||||||
into_ref!(opamp);
|
into_ref!(opamp);
|
||||||
|
|
||||||
#[cfg(opamp_g4)]
|
#[cfg(opamp_g4)]
|
||||||
T::regs().opamp_csr().modify(|w| {
|
T::regs().csr().modify(|w| {
|
||||||
w.set_opahsm(speed.into());
|
w.set_opahsm(speed.into());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -97,25 +98,15 @@ impl<'d, T: Instance> OpAmp<'d, T> {
|
||||||
OpAmpGain::Mul16 => (0b10, 0b11),
|
OpAmpGain::Mul16 => (0b10, 0b11),
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(opamp_f3)]
|
T::regs().csr().modify(|w| {
|
||||||
T::regs().opampcsr().modify(|w| {
|
w.set_vp_sel(VpSel::from_bits(in_pin.channel()));
|
||||||
w.set_vp_sel(in_pin.channel());
|
w.set_vm_sel(VmSel::from_bits(vm_sel));
|
||||||
w.set_vm_sel(vm_sel);
|
w.set_pga_gain(PgaGain::from_bits(pga_gain));
|
||||||
w.set_pga_gain(pga_gain);
|
#[cfg(opamp_g4)]
|
||||||
|
w.set_opaintoen(Opaintoen::OUTPUTPIN);
|
||||||
w.set_opampen(true);
|
w.set_opampen(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
#[cfg(opamp_g4)]
|
|
||||||
T::regs().opamp_csr().modify(|w| {
|
|
||||||
use crate::pac::opamp::vals::*;
|
|
||||||
|
|
||||||
w.set_vp_sel(OpampCsrVpSel::from_bits(in_pin.channel()));
|
|
||||||
w.set_vm_sel(OpampCsrVmSel::from_bits(vm_sel));
|
|
||||||
w.set_pga_gain(OpampCsrPgaGain::from_bits(pga_gain));
|
|
||||||
w.set_opaintoen(OpampCsrOpaintoen::OUTPUTPIN);
|
|
||||||
w.set_opaen(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
OpAmpOutput { _inner: self }
|
OpAmpOutput { _inner: self }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,13 +135,13 @@ impl<'d, T: Instance> OpAmp<'d, T> {
|
||||||
OpAmpGain::Mul16 => (0b10, 0b11),
|
OpAmpGain::Mul16 => (0b10, 0b11),
|
||||||
};
|
};
|
||||||
|
|
||||||
T::regs().opamp_csr().modify(|w| {
|
T::regs().csr().modify(|w| {
|
||||||
use crate::pac::opamp::vals::*;
|
use crate::pac::opamp::vals::*;
|
||||||
w.set_vp_sel(OpampCsrVpSel::from_bits(pin.channel()));
|
w.set_vp_sel(VpSel::from_bits(pin.channel()));
|
||||||
w.set_vm_sel(OpampCsrVmSel::from_bits(vm_sel));
|
w.set_vm_sel(VmSel::from_bits(vm_sel));
|
||||||
w.set_pga_gain(OpampCsrPgaGain::from_bits(pga_gain));
|
w.set_pga_gain(PgaGain::from_bits(pga_gain));
|
||||||
w.set_opaintoen(OpampCsrOpaintoen::ADCCHANNEL);
|
w.set_opaintoen(Opaintoen::ADCCHANNEL);
|
||||||
w.set_opaen(true);
|
w.set_opampen(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
OpAmpInternalOutput { _inner: self }
|
OpAmpInternalOutput { _inner: self }
|
||||||
|
@ -159,29 +150,17 @@ impl<'d, T: Instance> OpAmp<'d, T> {
|
||||||
|
|
||||||
impl<'d, T: Instance> Drop for OpAmpOutput<'d, T> {
|
impl<'d, T: Instance> Drop for OpAmpOutput<'d, T> {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
#[cfg(opamp_f3)]
|
T::regs().csr().modify(|w| {
|
||||||
T::regs().opampcsr().modify(|w| {
|
|
||||||
w.set_opampen(false);
|
w.set_opampen(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
#[cfg(opamp_g4)]
|
|
||||||
T::regs().opamp_csr().modify(|w| {
|
|
||||||
w.set_opaen(false);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'d, T: Instance> Drop for OpAmpInternalOutput<'d, T> {
|
impl<'d, T: Instance> Drop for OpAmpInternalOutput<'d, T> {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
#[cfg(opamp_f3)]
|
T::regs().csr().modify(|w| {
|
||||||
T::regs().opampcsr().modify(|w| {
|
|
||||||
w.set_opampen(false);
|
w.set_opampen(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
#[cfg(opamp_g4)]
|
|
||||||
T::regs().opamp_csr().modify(|w| {
|
|
||||||
w.set_opaen(false);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -846,14 +846,7 @@ impl<'d, T: Instance, C: Channel, W: word::Word> Sai<'d, T, C, W> {
|
||||||
pub fn flush(&mut self) {
|
pub fn flush(&mut self) {
|
||||||
let ch = T::REGS.ch(self.sub_block as usize);
|
let ch = T::REGS.ch(self.sub_block as usize);
|
||||||
ch.cr1().modify(|w| w.set_saien(false));
|
ch.cr1().modify(|w| w.set_saien(false));
|
||||||
#[cfg(any(sai_v1, sai_v2))]
|
ch.cr2().modify(|w| w.set_fflush(true));
|
||||||
{
|
|
||||||
ch.cr2().modify(|w| w.set_fflush(vals::Fflush::FLUSH));
|
|
||||||
}
|
|
||||||
#[cfg(any(sai_v3, sai_v4))]
|
|
||||||
{
|
|
||||||
ch.cr2().modify(|w| w.set_fflush(true));
|
|
||||||
}
|
|
||||||
ch.cr1().modify(|w| w.set_saien(true));
|
ch.cr1().modify(|w| w.set_saien(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue