#spi #driver #embedded-hal-driver #w5500 #wiznet

no-std w5500-ll

Low level driver for the Wiznet W5500 internet offload chip

12 releases (7 breaking)

0.8.0 May 8, 2021
0.7.0 Feb 24, 2021
0.6.2 Feb 15, 2021
0.5.1 Feb 6, 2021
0.1.0 Jan 2, 2021

#85 in Embedded development

Download history 286/week @ 2021-02-23 180/week @ 2021-03-02 268/week @ 2021-03-09 145/week @ 2021-03-16 184/week @ 2021-03-23 154/week @ 2021-03-30 135/week @ 2021-04-06 279/week @ 2021-04-13 148/week @ 2021-04-20 194/week @ 2021-04-27 191/week @ 2021-05-04 191/week @ 2021-05-11 222/week @ 2021-05-18 164/week @ 2021-05-25 125/week @ 2021-06-01 138/week @ 2021-06-08

863 downloads per month
Used in 2 crates

MIT license

210KB
1.5K SLoC

Maintenance crates.io docs.rs CI

w5500-ll

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::{blocking::vdm::W5500, Registers};

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

Feature Flags

All features are disabled by default.

  • defmt: Enable formatting Ipv4Addr and SocketAddrV4 with defmt.
  • embedded-hal: Enables the blocking module which contains implementations of the Registers trait using the embedded-hal traits.
  • 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.

Related Crates

Dependencies

~175KB