Crate w5500_ll

source ·
Expand description

Platform agnostic rust driver for the Wiznet W5500 SPI internet offload chip.

This is a low-level (ll) crate. The scope of this crate is:

  1. Register accessors.
  2. Networking data types.

Higher level functionality (such as socket operations) should be built on-top of what is provided here.

Example

Reading the VERSIONR register (a constant value).

use w5500_ll::{eh1::vdm::W5500, Registers};

let mut w5500 = W5500::new(spi);
let version: u8 = w5500.version()?;
assert_eq!(version, 0x04);

Feature Flags

All features are disabled by default.

  • async: Nightly only. Enables the asynchronous aio::Registers trait.
  • defmt: Enable formatting most types with defmt.
  • eh0: Enables the eh0 module which contains implementations of the Registers trait using the embedded-hal version 0.2 traits.
  • eh1: Enables the eh1 module which contains implementations of the Registers trait using the embedded-hal version 1 traits.
  • eha0a: Nightly only. Implements the aio::Registers trait for types in the eh1 module using the embedded-hal-async alpha traits.
  • ip_in_core: Nightly only. Use core::net types for Ipv4Addr and SocketAddrV4.
  • std: Enables conversion between std::net and w5500_ll::net types. This is for testing purposes only, the std flag will not work on embedded systems because it uses the standard library.

Modules

  • aioasync
    Asynchronous W5500 traits.
  • eh0eh0
    Blocking implementations of the Registers trait using the embedded-hal version 0.2 blocking SPI traits.
  • eh1eh1
    Blocking implementations of the Registers trait using the embedded-hal version 1 blocking SPI traits.
  • Networking data types.
  • Helpers and functions relating to W5500 SPI transfers.

Structs

Enums

Constants

Traits