Ran cargo fmt

This commit is contained in:
Jonah Dahlquist 2020-11-19 20:13:17 -08:00
commit 79b1f52102
6 changed files with 44 additions and 44 deletions

View file

@ -4,10 +4,10 @@ use bit_field::BitArray;
use bus::{ActiveBus, ActiveFourWire, ActiveThreeWire, FourWire, ThreeWire};
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::spi::FullDuplex;
use interface::Interface;
use network::Network;
use register;
use socket::Socket;
use interface::Interface;
pub struct Device<SpiBus: ActiveBus, NetworkImpl: Network> {
pub bus: SpiBus,
@ -47,7 +47,8 @@ impl<SpiBus: ActiveBus, NetworkImpl: Network> Device<SpiBus, NetworkImpl> {
fn clear_mode(&mut self) -> Result<(), SpiBus::Error> {
// reset bit
let mut mode = [0b10000000];
self.bus.write_frame(register::COMMON, register::common::MODE, &mut mode)?;
self.bus
.write_frame(register::COMMON, register::common::MODE, &mut mode)?;
Ok(())
}

View file

@ -1,8 +1,8 @@
use bus::{ActiveFourWire, ActiveThreeWire, Bus, FourWire, ThreeWire};
use device::Device;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::spi::FullDuplex;
use network::Network;
use device::Device;
pub struct InactiveDevice<SpiBus: Bus, NetworkImpl: Network> {
bus: SpiBus,
@ -15,7 +15,9 @@ impl<SpiBus: Bus, NetworkImpl: Network> InactiveDevice<SpiBus, NetworkImpl> {
}
}
impl<ChipSelect: OutputPin, NetworkImpl: Network> InactiveDevice<FourWire<ChipSelect>, NetworkImpl> {
impl<ChipSelect: OutputPin, NetworkImpl: Network>
InactiveDevice<FourWire<ChipSelect>, NetworkImpl>
{
pub fn activate<Spi: FullDuplex<u8>>(
self,
spi: Spi,

View file

@ -4,11 +4,11 @@ use embedded_nal::Ipv4Addr;
use crate::{MacAddress, Mode};
use bus::{ActiveBus,FourWire,ActiveFourWire};
use device::Device;
use network::{Network,Manual};
use bus::{ActiveBus, ActiveFourWire, FourWire};
use core::cell::RefCell;
use uninitialized_device::{UninitializedDevice,InitializeError};
use device::Device;
use network::{Manual, Network};
use uninitialized_device::{InitializeError, UninitializedDevice};
pub struct Interface<SpiBus: ActiveBus, NetworkImpl: Network> {
pub device: RefCell<Device<SpiBus, NetworkImpl>>,
@ -16,7 +16,9 @@ pub struct Interface<SpiBus: ActiveBus, NetworkImpl: Network> {
impl<SpiBus: ActiveBus, NetworkImpl: Network> Interface<SpiBus, NetworkImpl> {
fn new(device: Device<SpiBus, NetworkImpl>) -> Self {
Self { device: RefCell::new(device) }
Self {
device: RefCell::new(device),
}
}
pub fn release(self) -> Device<SpiBus, NetworkImpl> {
@ -24,16 +26,25 @@ impl<SpiBus: ActiveBus, NetworkImpl: Network> Interface<SpiBus, NetworkImpl> {
}
}
impl<Spi: FullDuplex<u8>, ChipSelect: OutputPin> Interface<ActiveFourWire<Spi, ChipSelect>, Manual> {
pub fn setup(spi: Spi, cs: ChipSelect, mac: MacAddress, ip: Ipv4Addr) -> Result<Self, InitializeError<<ActiveFourWire<Spi, ChipSelect> as ActiveBus>::Error>> {
Ok(UninitializedDevice::new(FourWire::new(cs).activate(spi)).initialize_manual(mac, ip, Mode::default())?.into_interface())
impl<Spi: FullDuplex<u8>, ChipSelect: OutputPin>
Interface<ActiveFourWire<Spi, ChipSelect>, Manual>
{
pub fn setup(
spi: Spi,
cs: ChipSelect,
mac: MacAddress,
ip: Ipv4Addr,
) -> Result<Self, InitializeError<<ActiveFourWire<Spi, ChipSelect> as ActiveBus>::Error>> {
Ok(UninitializedDevice::new(FourWire::new(cs).activate(spi))
.initialize_manual(mac, ip, Mode::default())?
.into_interface())
}
}
impl<SpiBus: ActiveBus, NetworkImpl: Network> From<Device<SpiBus, NetworkImpl>> for Interface<SpiBus, NetworkImpl> {
impl<SpiBus: ActiveBus, NetworkImpl: Network> From<Device<SpiBus, NetworkImpl>>
for Interface<SpiBus, NetworkImpl>
{
fn from(device: Device<SpiBus, NetworkImpl>) -> Interface<SpiBus, NetworkImpl> {
Interface::<SpiBus, NetworkImpl>::new(device)
}
}

View file

@ -18,7 +18,9 @@ pub struct MacAddress {
impl MacAddress {
pub fn new(n0: u8, n1: u8, n2: u8, n3: u8, n4: u8, n5: u8) -> Self {
MacAddress { address: [n0, n1, n2, n3, n4, n5] }
MacAddress {
address: [n0, n1, n2, n3, n4, n5],
}
}
}
@ -74,14 +76,14 @@ impl Default for Mode {
}
pub mod bus;
mod device;
mod inactive_device;
pub mod interface;
mod network;
pub mod register;
mod socket;
mod udp;
pub mod uninitialized_device;
mod device;
pub mod interface;
pub use bus::ActiveFourWire;
pub use interface::Interface;

View file

@ -1,10 +1,10 @@
use crate::bus::ActiveBus;
use crate::interface::Interface;
use crate::network::Network;
use crate::register::socketn;
use crate::socket::Socket;
use crate::interface::Interface;
use core::fmt::Debug;
use embedded_nal::{nb, IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4, UdpServer, UdpClient};
use embedded_nal::{nb, IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4, UdpClient, UdpServer};
pub struct UdpSocket {
socket: Socket,
@ -56,26 +56,15 @@ impl UdpSocket {
.and_then(|_| self.socket.command(bus, socketn::Command::Send))?;
loop {
if self
.socket
.get_tx_read_pointer(bus)?
== self
.socket
.get_tx_write_pointer(bus)?
{
if self
.socket
.has_interrupt(bus, socketn::Interrupt::SendOk)?
{
self.socket
.reset_interrupt(bus, socketn::Interrupt::All)?;
if self.socket.get_tx_read_pointer(bus)? == self.socket.get_tx_write_pointer(bus)? {
if self.socket.has_interrupt(bus, socketn::Interrupt::SendOk)? {
self.socket.reset_interrupt(bus, socketn::Interrupt::All)?;
return Ok(());
} else if self
.socket
.has_interrupt(bus, socketn::Interrupt::Timeout)?
{
self.socket
.reset_interrupt(bus, socketn::Interrupt::All)?;
self.socket.reset_interrupt(bus, socketn::Interrupt::All)?;
return Err(NbError::Other(UdpSocketError::WriteTimeout));
}
}
@ -112,9 +101,7 @@ impl UdpSocket {
*/
// TODO loop until RX received size stops changing, or it's larger than
// receive_buffer.len()
let read_pointer = self
.socket
.get_rx_read_pointer(bus)?;
let read_pointer = self.socket.get_rx_read_pointer(bus)?;
let mut header = [0u8; 8];
bus.read_frame(self.socket.rx_buffer(), read_pointer, &mut header)?;
let remote = SocketAddr::new(
@ -130,9 +117,7 @@ impl UdpSocket {
&mut receive_buffer[0..packet_size],
)?;
let tx_write_pointer = self
.socket
.get_tx_write_pointer(bus)?;
let tx_write_pointer = self.socket.get_tx_write_pointer(bus)?;
self.socket
.set_rx_read_pointer(bus, tx_write_pointer)
.and_then(|_| self.socket.command(bus, socketn::Command::Receive))?;
@ -190,7 +175,6 @@ impl<E: Debug> From<NbError<E>> for nb::Error<E> {
}
}
impl<SpiBus, NetworkImpl> UdpClient for Interface<SpiBus, NetworkImpl>
where
SpiBus: ActiveBus,

View file

@ -1,11 +1,11 @@
use crate::network::{Dhcp, Manual, Network};
use crate::{MacAddress, Mode};
use bus::{ActiveBus, ActiveFourWire, ActiveThreeWire};
use device::Device;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::spi::FullDuplex;
use embedded_nal::Ipv4Addr;
use register;
use device::Device;
pub struct UninitializedDevice<SpiBus: ActiveBus> {
bus: SpiBus,