Commit Graph

22 Commits

Author SHA1 Message Date
Harry Ho 27ba42c4fb spi: Introduce certain 1 & 3-byte opcodes to replace reg read/writes 2021-06-03 11:51:09 +08:00
Harry Ho 40a53cc0d6 spi: Fix Rx/Tx buffer logic & simplify
* tx/rx: Rename wrap_addr to start_addr for clarity
* Fix RX logic, when advancing the tail pointer, not retrieving the stored RX buffer start address but the default value instead
* Fix TX logic, when advancing the head pointer for next transmission, not retrieving the stored TX buffer end address but the default value instead
* Rename SPI-related const's to match the datasheet: RERXDATA→RRXDATA, WEGPDATA→WGPDATA
* Remove useless const's for SRAM default addresses for TX buffer
* Simplify code
2021-04-30 17:30:25 +08:00
Harry Ho 6d17703e6b Add Enc424j600::init() for complete initialisation 2021-04-29 17:08:19 +08:00
Harry Ho b9b28f0725 Rename functions & classes for clarity
* EthController → EthPhy
  * ::receive_next() → ::recv_packet()
  * ::send_raw_packet() → ::send_packet()
* SpiEth -> Enc424j600
  * ::read_from_mac() → ::read_mac_addr()
  * ::write_mac_address() → ::write_mac_addr()
* EthControllerError → Error
  * ::GeneralError → ::RegisterError
* spi::SpiPortError -> spi::Error
2021-04-29 17:07:28 +08:00
Harry Ho 3529fcd192 Turn EthController trait methods unrelated to PHY into instance methods 2021-04-29 17:03:51 +08:00
occheung b6d1b3828a feature: add nal support 2021-01-26 17:21:53 +08:00
occheung 6021623813 lib: add write mac 2021-01-25 18:32:21 +08:00
occheung 1add94c12e Remove cortex-m dependencies for delay (#2)
Co-Authored-By: occheung <dc@m-labs.hk>
Co-Committed-By: occheung <dc@m-labs.hk>
2021-01-25 12:35:23 +08:00
occheung c4b62cc238 lib: derive debug for error for unwrapping 2021-01-18 15:33:03 +08:00
occheung 356c3aefe2 lib: reduce stack usage 2021-01-18 15:32:32 +08:00
Harry Ho d358103664 Fix controller & smoltcp device bugs
* lib.rs: fix transmission status checking (line 176)
* lib.rs: make RAW_FRAME_LENGTH_MAX the same for both RX and TX, for the purpose of setting MAMXFL in controller, as well as setting MTU for smoltcp device
* smoltcp_phy.rs: fix missing MTU definition
2020-12-30 17:06:50 +08:00
Harry Ho 010be3e9eb Fix controller & smoltcp device bugs
* lib.rs: fix transmission status checking (line 176)
* lib.rs: make RAW_FRAME_LENGTH_MAX the same for both RX and TX, for the purpose of setting MAMXFL in controller, as well as setting MTU for smoltcp device
* smoltcp_phy.rs: fix missing MTU definition
2020-12-30 17:05:39 +08:00
Harry Ho 25e682763c Use core::cell::RefCell to refer to EthController 2020-12-29 11:43:55 +08:00
Harry Ho 4ba5052623 Simplify, styling & spelling 2020-12-29 11:42:31 +08:00
Harry Ho e9a3a5e550 Add software delays on controller init; add missing SPISEL delay 2020-12-28 17:17:01 +08:00
Harry Ho ae0d77cbf1 Fix poor & unimplemented code 2020-12-28 17:06:31 +08:00
Harry Ho 7b313292ca Replace stm32f4xx_hal with embedded_hal in the library 2020-08-24 12:07:45 +08:00
Harry Ho 5b99525cd0 Reorganise spi consts 2020-08-17 15:51:25 +08:00
Harry Ho dd062723a3 Add smoltcp Phy impls 2020-06-24 14:17:07 +08:00
Harry Ho 82f4bef09f Add packet TX 2020-06-18 11:09:39 +08:00
Harry Ho 9b48a585cf Add packet RX 2020-06-17 17:04:18 +08:00
Harry Ho 4e4267e55a Add reading SFR registers via SPI
* uses stm32f4xx_hal crate
2020-06-15 16:18:34 +08:00