clean up item visibility
* There isn't much API that would only be used accross modules within stabilizer/dsp but should not be pub beyond stabilizer/dsp. * Therefore it's easier to let the definition determine visibility and the mod.rs/lib.rs determine location in the namesapce. * Blanket use pub items in mod and lib.
This commit is contained in:
parent
261ed12798
commit
e58e7f179e
38
Cargo.lock
generated
38
Cargo.lock
generated
@ -208,7 +208,7 @@ dependencies = [
|
|||||||
"easybench",
|
"easybench",
|
||||||
"miniconf",
|
"miniconf",
|
||||||
"ndarray",
|
"ndarray",
|
||||||
"num",
|
"num-complex",
|
||||||
"rand",
|
"rand",
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
@ -458,19 +458,6 @@ version = "0.4.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2178127478ae4ee9be7180bc9c3bffb6354dd7238400db567102f98c413a9f35"
|
checksum = "2178127478ae4ee9be7180bc9c3bffb6354dd7238400db567102f98c413a9f35"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
|
|
||||||
dependencies = [
|
|
||||||
"num-complex",
|
|
||||||
"num-integer",
|
|
||||||
"num-iter",
|
|
||||||
"num-rational",
|
|
||||||
"num-traits",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-complex"
|
name = "num-complex"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@ -478,6 +465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
|
checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -490,28 +478,6 @@ dependencies = [
|
|||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num-iter"
|
|
||||||
version = "0.1.42"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
"num-integer",
|
|
||||||
"num-traits",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num-rational"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
"num-integer",
|
|
||||||
"num-traits",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-traits"
|
name = "num-traits"
|
||||||
version = "0.2.14"
|
version = "0.2.14"
|
||||||
|
@ -2,19 +2,18 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use stabilizer::{hardware, net};
|
|
||||||
|
|
||||||
use miniconf::Miniconf;
|
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
use dsp::iir;
|
use dsp::iir;
|
||||||
use hardware::{
|
use stabilizer::{
|
||||||
Adc0Input, Adc1Input, AdcCode, AfeGain, Dac0Output, Dac1Output, DacCode,
|
hardware::{
|
||||||
DigitalInput0, DigitalInput1, InputPin, SystemTimer, AFE0, AFE1,
|
hal, setup, Adc0Input, Adc1Input, AdcCode, AfeGain, Dac0Output,
|
||||||
|
Dac1Output, DacCode, DigitalInput0, DigitalInput1, InputPin,
|
||||||
|
SystemTimer, AFE0, AFE1,
|
||||||
|
},
|
||||||
|
net::{Miniconf, NetworkUsers, Telemetry, TelemetryBuffer, UpdateState},
|
||||||
};
|
};
|
||||||
|
|
||||||
use net::{NetworkUsers, Telemetry, TelemetryBuffer, UpdateState};
|
|
||||||
|
|
||||||
const SCALE: f32 = i16::MAX as _;
|
const SCALE: f32 = i16::MAX as _;
|
||||||
|
|
||||||
// The number of cascaded IIR biquads per channel. Select 1 or 2!
|
// The number of cascaded IIR biquads per channel. Select 1 or 2!
|
||||||
@ -50,7 +49,7 @@ impl Default for Settings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rtic::app(device = stm32h7xx_hal::stm32, peripherals = true, monotonic = stabilizer::hardware::SystemTimer)]
|
#[rtic::app(device = stabilizer::hardware::hal::stm32, peripherals = true, monotonic = stabilizer::hardware::SystemTimer)]
|
||||||
const APP: () = {
|
const APP: () = {
|
||||||
struct Resources {
|
struct Resources {
|
||||||
afes: (AFE0, AFE1),
|
afes: (AFE0, AFE1),
|
||||||
@ -69,7 +68,7 @@ const APP: () = {
|
|||||||
#[init(spawn=[telemetry, settings_update])]
|
#[init(spawn=[telemetry, settings_update])]
|
||||||
fn init(c: init::Context) -> init::LateResources {
|
fn init(c: init::Context) -> init::LateResources {
|
||||||
// Configure the microcontroller
|
// Configure the microcontroller
|
||||||
let (mut stabilizer, _pounder) = hardware::setup(c.core, c.device);
|
let (mut stabilizer, _pounder) = setup(c.core, c.device);
|
||||||
|
|
||||||
let network = NetworkUsers::new(
|
let network = NetworkUsers::new(
|
||||||
stabilizer.net.stack,
|
stabilizer.net.stack,
|
||||||
@ -98,7 +97,7 @@ const APP: () = {
|
|||||||
dacs: stabilizer.dacs,
|
dacs: stabilizer.dacs,
|
||||||
network,
|
network,
|
||||||
digital_inputs: stabilizer.digital_inputs,
|
digital_inputs: stabilizer.digital_inputs,
|
||||||
telemetry: net::TelemetryBuffer::default(),
|
telemetry: TelemetryBuffer::default(),
|
||||||
settings: Settings::default(),
|
settings: Settings::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -214,7 +213,7 @@ const APP: () = {
|
|||||||
|
|
||||||
#[task(binds = ETH, priority = 1)]
|
#[task(binds = ETH, priority = 1)]
|
||||||
fn eth(_: eth::Context) {
|
fn eth(_: eth::Context) {
|
||||||
unsafe { stm32h7xx_hal::ethernet::interrupt_handler() }
|
unsafe { hal::ethernet::interrupt_handler() }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[task(binds = SPI2, priority = 3)]
|
#[task(binds = SPI2, priority = 3)]
|
||||||
|
@ -2,23 +2,18 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use embedded_hal::digital::v2::InputPin;
|
|
||||||
|
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
use dsp::{Accu, Complex, ComplexExt, Lockin, RPLL};
|
use dsp::{Accu, Complex, ComplexExt, Lockin, RPLL};
|
||||||
|
use stabilizer::{
|
||||||
use stabilizer::net;
|
hardware::{
|
||||||
|
design_parameters, hal, setup, Adc0Input, Adc1Input, AdcCode, AfeGain,
|
||||||
use stabilizer::hardware::{
|
Dac0Output, Dac1Output, DacCode, DigitalInput0, DigitalInput1,
|
||||||
design_parameters, setup, Adc0Input, Adc1Input, AdcCode, AfeGain,
|
InputPin, InputStamper, SystemTimer, AFE0, AFE1,
|
||||||
Dac0Output, Dac1Output, DacCode, DigitalInput0, DigitalInput1,
|
},
|
||||||
InputStamper, SystemTimer, AFE0, AFE1,
|
net::{Miniconf, NetworkUsers, Telemetry, TelemetryBuffer, UpdateState},
|
||||||
};
|
};
|
||||||
|
|
||||||
use miniconf::Miniconf;
|
|
||||||
use net::{NetworkUsers, Telemetry, TelemetryBuffer, UpdateState};
|
|
||||||
|
|
||||||
// A constant sinusoid to send on the DAC output.
|
// A constant sinusoid to send on the DAC output.
|
||||||
// Full-scale gives a +/- 10.24V amplitude waveform. Scale it down to give +/- 1V.
|
// Full-scale gives a +/- 10.24V amplitude waveform. Scale it down to give +/- 1V.
|
||||||
const ONE: i16 = ((1.0 / 10.24) * i16::MAX as f32) as _;
|
const ONE: i16 = ((1.0 / 10.24) * i16::MAX as f32) as _;
|
||||||
@ -78,7 +73,7 @@ impl Default for Settings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rtic::app(device = stm32h7xx_hal::stm32, peripherals = true, monotonic = stabilizer::hardware::SystemTimer)]
|
#[rtic::app(device = stabilizer::hardware::hal::stm32, peripherals = true, monotonic = stabilizer::hardware::SystemTimer)]
|
||||||
const APP: () = {
|
const APP: () = {
|
||||||
struct Resources {
|
struct Resources {
|
||||||
afes: (AFE0, AFE1),
|
afes: (AFE0, AFE1),
|
||||||
@ -140,7 +135,7 @@ const APP: () = {
|
|||||||
network,
|
network,
|
||||||
digital_inputs: stabilizer.digital_inputs,
|
digital_inputs: stabilizer.digital_inputs,
|
||||||
timestamper: stabilizer.timestamper,
|
timestamper: stabilizer.timestamper,
|
||||||
telemetry: net::TelemetryBuffer::default(),
|
telemetry: TelemetryBuffer::default(),
|
||||||
|
|
||||||
settings,
|
settings,
|
||||||
|
|
||||||
@ -295,7 +290,7 @@ const APP: () = {
|
|||||||
|
|
||||||
#[task(binds = ETH, priority = 1)]
|
#[task(binds = ETH, priority = 1)]
|
||||||
fn eth(_: eth::Context) {
|
fn eth(_: eth::Context) {
|
||||||
unsafe { stm32h7xx_hal::ethernet::interrupt_handler() }
|
unsafe { hal::ethernet::interrupt_handler() }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[task(binds = SPI2, priority = 3)]
|
#[task(binds = SPI2, priority = 3)]
|
||||||
|
@ -833,7 +833,7 @@ pub fn setup(
|
|||||||
.set_speed(hal::gpio::Speed::VeryHigh);
|
.set_speed(hal::gpio::Speed::VeryHigh);
|
||||||
|
|
||||||
// Configure the IO_Update signal for the DDS.
|
// Configure the IO_Update signal for the DDS.
|
||||||
let mut hrtimer = pounder::hrtimer::HighResTimerE::new(
|
let mut hrtimer = pounder::HighResTimerE::new(
|
||||||
device.HRTIM_TIME,
|
device.HRTIM_TIME,
|
||||||
device.HRTIM_MASTER,
|
device.HRTIM_MASTER,
|
||||||
device.HRTIM_COMMON,
|
device.HRTIM_COMMON,
|
||||||
@ -845,7 +845,7 @@ pub fn setup(
|
|||||||
// is triggered after the QSPI write, which can take approximately 120nS, so
|
// is triggered after the QSPI write, which can take approximately 120nS, so
|
||||||
// there is additional margin.
|
// there is additional margin.
|
||||||
hrtimer.configure_single_shot(
|
hrtimer.configure_single_shot(
|
||||||
pounder::hrtimer::Channel::Two,
|
pounder::HRTimerChannel::Two,
|
||||||
design_parameters::POUNDER_IO_UPDATE_DURATION,
|
design_parameters::POUNDER_IO_UPDATE_DURATION,
|
||||||
design_parameters::POUNDER_IO_UPDATE_DELAY,
|
design_parameters::POUNDER_IO_UPDATE_DELAY,
|
||||||
);
|
);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
///! Module for all hardware-specific setup of Stabilizer
|
///! Module for all hardware-specific setup of Stabilizer
|
||||||
use stm32h7xx_hal as hal;
|
pub use stm32h7xx_hal as hal;
|
||||||
|
|
||||||
// Re-export for the DigitalInputs below:
|
// Re-export for the DigitalInputs below:
|
||||||
pub use embedded_hal::digital::v2::InputPin;
|
pub use embedded_hal::digital::v2::InputPin;
|
||||||
@ -16,13 +16,13 @@ pub mod pounder;
|
|||||||
mod system_timer;
|
mod system_timer;
|
||||||
mod timers;
|
mod timers;
|
||||||
|
|
||||||
pub use adc::{Adc0Input, Adc1Input, AdcCode};
|
pub use adc::*;
|
||||||
pub use afe::Gain as AfeGain;
|
pub use afe::{Gain as AfeGain, *};
|
||||||
pub use cycle_counter::CycleCounter;
|
pub use cycle_counter::*;
|
||||||
pub use dac::{Dac0Output, Dac1Output, DacCode};
|
pub use dac::*;
|
||||||
pub use digital_input_stamper::InputStamper;
|
pub use digital_input_stamper::*;
|
||||||
pub use pounder::DdsOutput;
|
pub use pounder::*;
|
||||||
pub use system_timer::SystemTimer;
|
pub use system_timer::*;
|
||||||
|
|
||||||
// Type alias for the analog front-end (AFE) for ADC0.
|
// Type alias for the analog front-end (AFE) for ADC0.
|
||||||
pub type AFE0 = afe::ProgrammableGainAmplifier<
|
pub type AFE0 = afe::ProgrammableGainAmplifier<
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
|
use super::hal;
|
||||||
|
use embedded_hal::{adc::OneShot, blocking::spi::Transfer};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
pub mod attenuators;
|
mod attenuators;
|
||||||
mod dds_output;
|
mod dds_output;
|
||||||
pub mod hrtimer;
|
mod hrtimer;
|
||||||
mod rf_power;
|
mod rf_power;
|
||||||
|
|
||||||
#[cfg(feature = "pounder_v1_1")]
|
#[cfg(feature = "pounder_v1_1")]
|
||||||
pub mod timestamp;
|
pub mod timestamp;
|
||||||
|
|
||||||
pub use dds_output::DdsOutput;
|
pub use attenuators::*;
|
||||||
|
pub use dds_output::*;
|
||||||
use super::hal;
|
pub use hrtimer::{Channel as HRTimerChannel, *};
|
||||||
|
pub use rf_power::*;
|
||||||
use attenuators::AttenuatorInterface;
|
|
||||||
use rf_power::PowerMeasurementInterface;
|
|
||||||
|
|
||||||
use embedded_hal::{adc::OneShot, blocking::spi::Transfer};
|
|
||||||
|
|
||||||
const EXT_CLK_SEL_PIN: u8 = 8 + 7;
|
const EXT_CLK_SEL_PIN: u8 = 8 + 7;
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
///! telemetry (via MQTT), configuration of run-time settings (via MQTT + Miniconf), and live data
|
///! telemetry (via MQTT), configuration of run-time settings (via MQTT + Miniconf), and live data
|
||||||
///! streaming over raw UDP/TCP sockets. This module encompasses the main processing routines
|
///! streaming over raw UDP/TCP sockets. This module encompasses the main processing routines
|
||||||
///! related to Stabilizer networking operations.
|
///! related to Stabilizer networking operations.
|
||||||
use heapless::{consts, String};
|
|
||||||
use miniconf::Miniconf;
|
|
||||||
use serde::Serialize;
|
|
||||||
|
|
||||||
use core::fmt::Write;
|
use core::fmt::Write;
|
||||||
|
use heapless::{consts, String};
|
||||||
|
pub use miniconf::Miniconf;
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
mod messages;
|
mod messages;
|
||||||
mod miniconf_client;
|
mod miniconf_client;
|
||||||
@ -20,10 +19,10 @@ mod telemetry;
|
|||||||
use crate::hardware::{CycleCounter, EthernetPhy, NetworkStack};
|
use crate::hardware::{CycleCounter, EthernetPhy, NetworkStack};
|
||||||
use messages::{MqttMessage, SettingsResponse};
|
use messages::{MqttMessage, SettingsResponse};
|
||||||
|
|
||||||
pub use miniconf_client::MiniconfClient;
|
pub use miniconf_client::*;
|
||||||
pub use network_processor::NetworkProcessor;
|
pub use network_processor::*;
|
||||||
pub use shared::NetworkManager;
|
pub use shared::*;
|
||||||
pub use telemetry::{Telemetry, TelemetryBuffer, TelemetryClient};
|
pub use telemetry::*;
|
||||||
|
|
||||||
pub type NetworkReference = shared::NetworkStackProxy<'static, NetworkStack>;
|
pub type NetworkReference = shared::NetworkStackProxy<'static, NetworkStack>;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user