forked from renet/ENC424J600
Compare commits
5 Commits
d358103664
...
736d63dcad
Author | SHA1 | Date |
---|---|---|
occheung | 736d63dcad | |
occheung | d7ba11611b | |
occheung | 61182a8ef0 | |
Sebastien Bourdeauducq | 2ca717c94f | |
Sebastien Bourdeauducq | d70937f053 |
|
@ -5,8 +5,9 @@ description = "Embbeded Rust Ethernet driver for ENC424J600 Ethernet controller
|
|||
authors = ["Harry Ho <hh@m-labs.hk>"]
|
||||
version = "0.1.0"
|
||||
keywords = ["ethernet", "eth", "enc424j600", "stm32", "stm32f4xx"]
|
||||
repository = "https://github.com/smoltcp-rs/ENC424J600"
|
||||
repository = "https://git.m-labs.hk/M-Labs/ENC424J600"
|
||||
edition = "2018"
|
||||
license = "BSD-2-Clause"
|
||||
|
||||
[dependencies]
|
||||
volatile-register = "0.2"
|
||||
|
|
|
@ -16,7 +16,7 @@ pub mod tx;
|
|||
pub mod smoltcp_phy;
|
||||
|
||||
/// Max raw frame array size
|
||||
pub const RAW_FRAME_LENGTH_MAX: usize = 0x1000;
|
||||
pub const RAW_FRAME_LENGTH_MAX: usize = 1518;
|
||||
|
||||
pub trait EthController {
|
||||
fn init_dev(&mut self, delay: &mut impl DelayUs<u16>) -> Result<(), EthControllerError>;
|
||||
|
@ -29,6 +29,7 @@ pub trait EthController {
|
|||
}
|
||||
|
||||
/// TODO: Improve these error types
|
||||
#[derive(Debug)]
|
||||
pub enum EthControllerError {
|
||||
SpiPortError,
|
||||
GeneralError,
|
||||
|
|
|
@ -131,13 +131,17 @@ impl <SPI: Transfer<u8>,
|
|||
match self.spi.transfer(&mut buf) {
|
||||
Ok(_) => {
|
||||
// Disable chip select
|
||||
cortex_m::asm::delay(10_u32);
|
||||
self.nss.set_high();
|
||||
cortex_m::asm::delay(4_u32);
|
||||
Ok(buf[2])
|
||||
},
|
||||
// TODO: Maybe too naive?
|
||||
Err(_) => {
|
||||
// Disable chip select
|
||||
cortex_m::asm::delay(10_u32);
|
||||
self.nss.set_high();
|
||||
cortex_m::asm::delay(4_u32);
|
||||
Err(SpiPortError::TransferError)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue