re-worked GPIO implementation
This commit is contained in:
@ -10,7 +10,7 @@ use log::{error, info};
|
||||
use zynq7000_hal::{
|
||||
clocks::Clocks,
|
||||
gic::{GicConfigurator, GicInterruptHelper, Interrupt},
|
||||
gpio::{MioPins, PinState},
|
||||
gpio::{Output, PinState, mio},
|
||||
gtc::Gtc,
|
||||
prelude::*,
|
||||
time::Hertz,
|
||||
@ -58,13 +58,11 @@ pub fn main() -> ! {
|
||||
gtc.enable();
|
||||
|
||||
// This structure holds all MIO pins.
|
||||
let mio_pins = MioPins::new(dp.gpio);
|
||||
let uart_tx = mio_pins.mio48.into_uart();
|
||||
let uart_rx = mio_pins.mio49.into_uart();
|
||||
let mio_pins = mio::Pins::new(dp.gpio);
|
||||
let mut uart = Uart::new_with_mio(
|
||||
dp.uart_1,
|
||||
UartConfig::new_with_clk_config(uart_clk_config),
|
||||
(uart_tx, uart_rx),
|
||||
(mio_pins.mio48, mio_pins.mio49),
|
||||
)
|
||||
.unwrap();
|
||||
uart.write_all(b"-- Zynq 7000 GTC Ticks example --\n\r")
|
||||
@ -78,7 +76,7 @@ pub fn main() -> ! {
|
||||
)
|
||||
};
|
||||
|
||||
let mut led = mio_pins.mio7.into_output(PinState::Low);
|
||||
let mut led = Output::new_for_mio(mio_pins.mio7, PinState::Low);
|
||||
loop {
|
||||
info!(
|
||||
"MS_TICKS: {}",
|
||||
|
@ -11,7 +11,7 @@ use zynq7000_hal::{
|
||||
BootMode,
|
||||
clocks::Clocks,
|
||||
gic::{GicConfigurator, GicInterruptHelper, Interrupt},
|
||||
gpio::{MioPins, PinState},
|
||||
gpio::{Output, PinState, mio},
|
||||
gtc::Gtc,
|
||||
prelude::*,
|
||||
time::Hertz,
|
||||
@ -57,14 +57,12 @@ pub fn main() -> ! {
|
||||
gtc.enable_auto_increment();
|
||||
gtc.enable_interrupt();
|
||||
gtc.enable();
|
||||
let mio_pins = MioPins::new(dp.gpio);
|
||||
let uart_tx = mio_pins.mio48.into_uart();
|
||||
let uart_rx = mio_pins.mio49.into_uart();
|
||||
let mio_pins = mio::Pins::new(dp.gpio);
|
||||
|
||||
let mut uart = Uart::new_with_mio(
|
||||
dp.uart_1,
|
||||
UartConfig::new_with_clk_config(uart_clk_config),
|
||||
(uart_tx, uart_rx),
|
||||
(mio_pins.mio48, mio_pins.mio49),
|
||||
)
|
||||
.unwrap();
|
||||
uart.write_all(b"-- Zynq 7000 Logging example --\n\r")
|
||||
@ -81,7 +79,7 @@ pub fn main() -> ! {
|
||||
let boot_mode = BootMode::new();
|
||||
info!("Boot mode: {:?}", boot_mode);
|
||||
|
||||
let mut led = mio_pins.mio7.into_output(PinState::Low);
|
||||
let mut led = Output::new_for_mio(mio_pins.mio7, PinState::Low);
|
||||
loop {
|
||||
let gtc = gtc.read_timer();
|
||||
info!("Hello, world!");
|
||||
|
@ -6,7 +6,7 @@ use core::panic::PanicInfo;
|
||||
use cortex_ar::asm::nop;
|
||||
use embedded_hal::digital::StatefulOutputPin;
|
||||
use zynq7000::PsPeripherals;
|
||||
use zynq7000_hal::gpio::{MioPins, PinState};
|
||||
use zynq7000_hal::gpio::{Output, PinState, mio};
|
||||
use zynq7000_rt as _;
|
||||
|
||||
/// One user LED is MIO7
|
||||
@ -45,8 +45,8 @@ pub fn main() -> ! {
|
||||
}
|
||||
Lib::Hal => {
|
||||
let dp = PsPeripherals::take().unwrap();
|
||||
let mio_pins = MioPins::new(dp.gpio);
|
||||
let mut led = mio_pins.mio7.into_output(PinState::High);
|
||||
let mio_pins = mio::Pins::new(dp.gpio);
|
||||
let mut led = Output::new_for_mio(mio_pins.mio7, PinState::High);
|
||||
loop {
|
||||
led.toggle().unwrap();
|
||||
for _ in 0..5_000_000 {
|
||||
|
Reference in New Issue
Block a user