Reverting unneeded changes
This commit is contained in:
parent
c058d4bcde
commit
b4eeeb2042
|
@ -571,59 +571,4 @@ where
|
||||||
Ok(tuning_word as f64 * self.system_clock_frequency()
|
Ok(tuning_word as f64 * self.system_clock_frequency()
|
||||||
/ (1u64 << 32) as f64)
|
/ (1u64 << 32) as f64)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn write_profile(
|
|
||||||
&mut self,
|
|
||||||
channel: Channel,
|
|
||||||
freq: f64,
|
|
||||||
turns: f32,
|
|
||||||
) -> Result<(), Error> {
|
|
||||||
// The function for channel frequency is `f_out = FTW * f_s / 2^32`, where FTW is the
|
|
||||||
// frequency tuning word and f_s is the system clock rate.
|
|
||||||
let tuning_word: u32 = ((freq as f64 / self.system_clock_frequency())
|
|
||||||
* 1u64.wrapping_shl(32) as f64)
|
|
||||||
as u32;
|
|
||||||
|
|
||||||
let phase_offset: u16 = (turns * (1 << 14) as f32) as u16 & 0x3FFFu16;
|
|
||||||
|
|
||||||
self.modify_channel_closure(channel, |interface| {
|
|
||||||
let mut data: [u8; 7] = [0; 7];
|
|
||||||
data[0..2].copy_from_slice(&phase_offset.to_be_bytes());
|
|
||||||
data[3] = Register::CFTW0 as u8;
|
|
||||||
data[4..7].copy_from_slice(&tuning_word.to_be_bytes());
|
|
||||||
interface
|
|
||||||
.write(Register::CPOW0 as u8, &data)
|
|
||||||
.map_err(|_| Error::Interface)
|
|
||||||
})?;
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn modify_channel_closure<F>(
|
|
||||||
&mut self,
|
|
||||||
channel: Channel,
|
|
||||||
f: F,
|
|
||||||
) -> Result<(), Error>
|
|
||||||
where
|
|
||||||
F: FnOnce(&mut INTERFACE) -> Result<(), Error>,
|
|
||||||
{
|
|
||||||
// Disable all other outputs so that we can update the configuration register of only the
|
|
||||||
// specified channel.
|
|
||||||
let mut csr: [u8; 1] = [0];
|
|
||||||
self.interface
|
|
||||||
.read(Register::CSR as u8, &mut csr)
|
|
||||||
.map_err(|_| Error::Interface)?;
|
|
||||||
|
|
||||||
let mut new_csr = csr;
|
|
||||||
new_csr[0].set_bits(4..8, 0);
|
|
||||||
new_csr[0].set_bit(4 + channel as usize, true);
|
|
||||||
|
|
||||||
let result = f(&mut self.interface);
|
|
||||||
|
|
||||||
self.interface
|
|
||||||
.write(Register::CSR as u8, &new_csr)
|
|
||||||
.map_err(|_| Error::Interface)?;
|
|
||||||
|
|
||||||
result
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -626,10 +626,10 @@ const APP: () = {
|
||||||
// Configure ethernet pins.
|
// Configure ethernet pins.
|
||||||
{
|
{
|
||||||
// Reset the PHY before configuring pins.
|
// Reset the PHY before configuring pins.
|
||||||
//let mut eth_phy_nrst = gpioe.pe3.into_push_pull_output();
|
let mut eth_phy_nrst = gpioe.pe3.into_push_pull_output();
|
||||||
//eth_phy_nrst.set_low().unwrap();
|
eth_phy_nrst.set_low().unwrap();
|
||||||
//delay.delay_ms(200u8);
|
delay.delay_us(200u8);
|
||||||
//eth_phy_nrst.set_high().unwrap();
|
eth_phy_nrst.set_high().unwrap();
|
||||||
let _rmii_ref_clk = gpioa
|
let _rmii_ref_clk = gpioa
|
||||||
.pa1
|
.pa1
|
||||||
.into_alternate_af11()
|
.into_alternate_af11()
|
||||||
|
|
|
@ -235,7 +235,7 @@ pub struct PounderDevices<DELAY> {
|
||||||
hal::gpio::gpiog::PG7<hal::gpio::Output<hal::gpio::PushPull>>,
|
hal::gpio::gpiog::PG7<hal::gpio::Output<hal::gpio::PushPull>>,
|
||||||
>,
|
>,
|
||||||
mcp23017: mcp23017::MCP23017<hal::i2c::I2c<hal::stm32::I2C1>>,
|
mcp23017: mcp23017::MCP23017<hal::i2c::I2c<hal::stm32::I2C1>>,
|
||||||
attenuator_spi: hal::spi::Spi<hal::stm32::SPI1, hal::spi::Enabled, u8>,
|
attenuator_spi: hal::spi::Spi<hal::stm32::SPI1>,
|
||||||
adc1: hal::adc::Adc<hal::stm32::ADC1, hal::adc::Enabled>,
|
adc1: hal::adc::Adc<hal::stm32::ADC1, hal::adc::Enabled>,
|
||||||
adc2: hal::adc::Adc<hal::stm32::ADC2, hal::adc::Enabled>,
|
adc2: hal::adc::Adc<hal::stm32::ADC2, hal::adc::Enabled>,
|
||||||
adc1_in_p: hal::gpio::gpiof::PF11<hal::gpio::Analog>,
|
adc1_in_p: hal::gpio::gpiof::PF11<hal::gpio::Analog>,
|
||||||
|
@ -262,7 +262,7 @@ where
|
||||||
DELAY,
|
DELAY,
|
||||||
hal::gpio::gpiog::PG7<hal::gpio::Output<hal::gpio::PushPull>>,
|
hal::gpio::gpiog::PG7<hal::gpio::Output<hal::gpio::PushPull>>,
|
||||||
>,
|
>,
|
||||||
attenuator_spi: hal::spi::Spi<hal::stm32::SPI1, hal::spi::Enabled, u8>,
|
attenuator_spi: hal::spi::Spi<hal::stm32::SPI1>,
|
||||||
adc1: hal::adc::Adc<hal::stm32::ADC1, hal::adc::Enabled>,
|
adc1: hal::adc::Adc<hal::stm32::ADC1, hal::adc::Enabled>,
|
||||||
adc2: hal::adc::Adc<hal::stm32::ADC2, hal::adc::Enabled>,
|
adc2: hal::adc::Adc<hal::stm32::ADC2, hal::adc::Enabled>,
|
||||||
adc1_in_p: hal::gpio::gpiof::PF11<hal::gpio::Analog>,
|
adc1_in_p: hal::gpio::gpiof::PF11<hal::gpio::Analog>,
|
||||||
|
@ -475,11 +475,10 @@ where
|
||||||
state: ChannelState,
|
state: ChannelState,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
self.ad9959
|
self.ad9959
|
||||||
.write_profile(
|
.set_frequency(channel.into(), state.parameters.frequency)
|
||||||
channel.into(),
|
.map_err(|_| Error::Dds)?;
|
||||||
state.parameters.frequency,
|
self.ad9959
|
||||||
state.parameters.phase_offset,
|
.set_phase(channel.into(), state.parameters.phase_offset)
|
||||||
)
|
|
||||||
.map_err(|_| Error::Dds)?;
|
.map_err(|_| Error::Dds)?;
|
||||||
self.ad9959
|
self.ad9959
|
||||||
.set_amplitude(channel.into(), state.parameters.amplitude)
|
.set_amplitude(channel.into(), state.parameters.amplitude)
|
||||||
|
|
Loading…
Reference in New Issue