From 226db2f1ecb0da4afa7e69e39fb4f927a67f1525 Mon Sep 17 00:00:00 2001 From: Georges Date: Sat, 5 Nov 2022 11:49:39 +0100 Subject: [PATCH 01/16] add w7500x-pac --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 2b88a45..c38c50f 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ This project is developed and maintained by the [Resources team][team]. - [GigaDevice](#gigadevice) - [XMC](#xmc) - [Vorago](#vorago) + - [Wiznet](#wiznet) - [HAL implementation crates](#hal-implementation-crates) - [OS](#os) - [Microchip](#microchip-1) @@ -330,6 +331,10 @@ Peripheral access crates for the different XMC4xxx families of microcontrollers - [`va108xx`](https://egit.irs.uni-stuttgart.de/rust/va108xx) - ![crates.io](https://img.shields.io/crates/v/va108xx.svg) - [`va416xx`](https://egit.irs.uni-stuttgart.de/rust/va416xx) - ![crates.io](https://img.shields.io/crates/v/va416xx.svg) +### Wiznet + +- [`w7500x-pac`](https://crates.io/crates/w7500x-pac) Peripheral Access Crate for Wiznet's W7500x microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/w7500x-pac.svg) + ## HAL implementation crates Implementations of [`embedded-hal`] for microcontroller families and systems running some OS. - ![crates.io](https://img.shields.io/crates/v/embedded-hal.svg) From 2c7e2a5def36200e415573963fa7f05d1ad28968 Mon Sep 17 00:00:00 2001 From: Dblm0 Date: Fri, 2 Dec 2022 16:11:45 +0300 Subject: [PATCH 02/16] Add cargo-bloat tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c38c50f..3d9fcac 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ In 2018 the Rust community created an embedded working group to help drive adopt - [defmt-test](https://github.com/knurling-rs/defmt-test), an embedded test harness that lets you write and run unit tests as if you were using the built-in `#[test]` attribute, but will run on an embedded target - [embedded-hal-compat](https://github.com/ryankurte/embedded-hal-compat), a compatibility layer to provide interoperability between `v0.2.x` and `v1.x.x` hal implementations and drivers - [Embassy start](https://github.com/titanclass/embassy-start) is a GitHub repo template for setting up async embedded Rust projects that use [Embassy](https://github.com/embassy-rs/embassy). This particular template targets nRF hardware and networking using the Uarte for the purposes of illustration only. +- [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) Find out what takes most of the space in your executable. [embedded-hal-mock]: https://crates.io/crates/embedded-hal-mock From 5c9df090e0a80fa0b42b35c497b5cde1f762fad5 Mon Sep 17 00:00:00 2001 From: Dblm0 Date: Fri, 2 Dec 2022 17:53:42 +0300 Subject: [PATCH 03/16] Move cargo-bloat closer to cargo-* tools --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d9fcac..7c2e837 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ In 2018 the Rust community created an embedded working group to help drive adopt - [cargo-flash](https://probe.rs/docs/tools/cargo-flash/) A small cargo subcommand to download your binary to your target chip. - ![crates.io](https://img.shields.io/crates/v/cargo-flash.svg) - [cargo-embed](https://probe.rs/docs/tools/cargo-embed/) A superset of cargo-flash with additional useful features like configuration file support, a RTT terminal or a GDB server. - ![crates.io](https://img.shields.io/crates/v/cargo-embed.svg) - [cargo-hf2](https://github.com/jacobrosenthal/hf2-rs) A small cargo subcommand to download cargo builds to Microsoft UF2 bootloaders via HID USB . - ![crates.io](https://img.shields.io/crates/v/cargo-hf2.svg) +- [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) Find out what takes most of the space in your executable. - [uf2](https://github.com/sajattack/uf2conv-rs) Converts binary files to Microsoft's UF2 format for copying over to mass storage device uf2 bootloaders - ![crates.io](https://img.shields.io/crates/v/uf2.svg) - [Knurling Tools](https://knurling.ferrous-systems.com/tools/) are developed by [Ferrous Systems] to ease the development process for building, debugging, and testing embedded Rust systems. These tools include: - [Probe Run](https://github.com/knurling-rs/probe-run): a cargo runner to flash and run embedded applications just like you would native applications, including backtraces and panicking behavior @@ -165,7 +166,6 @@ In 2018 the Rust community created an embedded working group to help drive adopt - [defmt-test](https://github.com/knurling-rs/defmt-test), an embedded test harness that lets you write and run unit tests as if you were using the built-in `#[test]` attribute, but will run on an embedded target - [embedded-hal-compat](https://github.com/ryankurte/embedded-hal-compat), a compatibility layer to provide interoperability between `v0.2.x` and `v1.x.x` hal implementations and drivers - [Embassy start](https://github.com/titanclass/embassy-start) is a GitHub repo template for setting up async embedded Rust projects that use [Embassy](https://github.com/embassy-rs/embassy). This particular template targets nRF hardware and networking using the Uarte for the purposes of illustration only. -- [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) Find out what takes most of the space in your executable. [embedded-hal-mock]: https://crates.io/crates/embedded-hal-mock From 2fe3f9d1f44f0794192e14833f84e68b576c35b2 Mon Sep 17 00:00:00 2001 From: Dblm0 Date: Fri, 2 Dec 2022 17:56:52 +0300 Subject: [PATCH 04/16] Add cargo-call-stack tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c2e837..c8fb93b 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ In 2018 the Rust community created an embedded working group to help drive adopt - [cargo-embed](https://probe.rs/docs/tools/cargo-embed/) A superset of cargo-flash with additional useful features like configuration file support, a RTT terminal or a GDB server. - ![crates.io](https://img.shields.io/crates/v/cargo-embed.svg) - [cargo-hf2](https://github.com/jacobrosenthal/hf2-rs) A small cargo subcommand to download cargo builds to Microsoft UF2 bootloaders via HID USB . - ![crates.io](https://img.shields.io/crates/v/cargo-hf2.svg) - [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) Find out what takes most of the space in your executable. +- [cargo-call-stack](https://crates.io/crates/cargo-call-stack) Static, whole program stack usage analyzer. - [uf2](https://github.com/sajattack/uf2conv-rs) Converts binary files to Microsoft's UF2 format for copying over to mass storage device uf2 bootloaders - ![crates.io](https://img.shields.io/crates/v/uf2.svg) - [Knurling Tools](https://knurling.ferrous-systems.com/tools/) are developed by [Ferrous Systems] to ease the development process for building, debugging, and testing embedded Rust systems. These tools include: - [Probe Run](https://github.com/knurling-rs/probe-run): a cargo runner to flash and run embedded applications just like you would native applications, including backtraces and panicking behavior From 2fb6ada16f4a917f3086e8a547b6446862384039 Mon Sep 17 00:00:00 2001 From: Dblm0 Date: Fri, 2 Dec 2022 17:57:14 +0300 Subject: [PATCH 05/16] Add cargo-dfu tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8fb93b..e944c02 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ In 2018 the Rust community created an embedded working group to help drive adopt - [cargo-hf2](https://github.com/jacobrosenthal/hf2-rs) A small cargo subcommand to download cargo builds to Microsoft UF2 bootloaders via HID USB . - ![crates.io](https://img.shields.io/crates/v/cargo-hf2.svg) - [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) Find out what takes most of the space in your executable. - [cargo-call-stack](https://crates.io/crates/cargo-call-stack) Static, whole program stack usage analyzer. +- [cargo-dfu](https://crates.io/crates/cargo-dfu) Cargo extension for flashing embedded rust programs via DFU. - [uf2](https://github.com/sajattack/uf2conv-rs) Converts binary files to Microsoft's UF2 format for copying over to mass storage device uf2 bootloaders - ![crates.io](https://img.shields.io/crates/v/uf2.svg) - [Knurling Tools](https://knurling.ferrous-systems.com/tools/) are developed by [Ferrous Systems] to ease the development process for building, debugging, and testing embedded Rust systems. These tools include: - [Probe Run](https://github.com/knurling-rs/probe-run): a cargo runner to flash and run embedded applications just like you would native applications, including backtraces and panicking behavior From 16cec50e2c9ec56479935ef3fde9088c40f54985 Mon Sep 17 00:00:00 2001 From: James Logan Date: Tue, 6 Dec 2022 17:00:29 -0500 Subject: [PATCH 06/16] add tm4c129-launchpad to board crates list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e944c02..f2db0f5 100644 --- a/README.md +++ b/README.md @@ -662,6 +662,7 @@ Crates tailored for specific boards. - [`monotron`](https://github.com/thejpster/monotron) - A 1980s home-computer style application for the Texas Instruments Stellaris Launchpad. PS/2 keyboard input, text output on a bit-bashed 800x600 VGA signal. Uses [menu], [vga-framebuffer] and [pc-keyboard]. - [`stellaris-launchpad`](https://crates.io/crates/stellaris-launchpad) - For the Texas Instruments Stellaris Launchpad and Tiva-C Launchpad ![crates.io](https://img.shields.io/crates/v/stellaris-launchpad.svg) +- [`tm4c129-launchpad`](https://github.com/jlogan03/tm4c129-launchpad) - For the Texas Instruments TM4C129-XL Launchpad board ### Special Purpose From 94baed7bb61a76de52024d4ad01a6118638cd8a5 Mon Sep 17 00:00:00 2001 From: Matteo Carnelos Date: Thu, 8 Dec 2022 10:39:24 +0100 Subject: [PATCH 07/16] Add `ade791x` to driver list --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e944c02..3e894f0 100644 --- a/README.md +++ b/README.md @@ -707,6 +707,7 @@ Otherwise please add it to the [WIP section](#WIP) below. 1. [AD983x] - SPI - AD9833/AD9837 waveform generators / DDS - [Intro blog post][25] - ![crates.io](https://img.shields.io/crates/v/ad983x.svg) 1. [adafruit-alphanum4] - I2C - Driver for [Adafruit 14-segment LED Alphanumeric Backpack][29] based on the ht16k33 chip - ![crates.io](https://img.shields.io/crates/v/adafruit-alphanum4.svg) +1. [ADE791x] - SPI - ADE7912/ADE7913 3-Channel, Isolated, Sigma-Delta ADC - [github][66] - ![crates.io](https://img.shields.io/crates/v/ade791x.svg) 1. [ADS1x1x] - I2C - 12/16-bit ADCs like ADS1013, ADS1015, ADS1115, etc. - [Intro blog post][23] - ![crates.io](https://img.shields.io/crates/v/ads1x1x.svg) 1. [ADXL313] - SPI - 3-axis accelerometer - ![crates.io](https://img.shields.io/crates/v/adxl313.svg) 1. [ADXL343] - I2C - 3-axis accelerometer - ![crates.io](https://img.shields.io/crates/v/adxl343.svg) @@ -840,9 +841,11 @@ Otherwise please add it to the [WIP section](#WIP) below. [63]: https://blog.kiranshila.com/blog/pac_rust_driver.md [64]: https://github.com/Finomnis/st7565 [65]: https://github.com/dlkj/usbd-human-interface-device +[66]: https://github.com/GrepitAB/ade791x-rs [AD983x]: https://crates.io/crates/ad983x [adafruit-alphanum4]: https://crates.io/crates/adafruit-alphanum4 +[ADE791x]: https://crates.io/crates/ade791x [ADS1x1x]: https://crates.io/crates/ads1x1x [ADXL313]: https://crates.io/crates/adxl313 [ADXL343]: https://crates.io/crates/adxl343 From be9563949cebb87fa547fae63e9d19c9e16c12ef Mon Sep 17 00:00:00 2001 From: FabioCragnolini <48365955+FabioCragnolini@users.noreply.github.com> Date: Sun, 11 Dec 2022 16:14:26 +0100 Subject: [PATCH 08/16] Add AFE4404. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e944c02..939334d 100644 --- a/README.md +++ b/README.md @@ -921,6 +921,7 @@ keyword on crates.io! Work in progress drivers. Help the authors make these crates awesome! 1. [AFE4400] - SPI - Pulse oximeter +1. [AFE4404] - I2C - Pulse oximeter - ![crates.io](https://img.shields.io/crates/v/afe4404.svg) 1. [APDS9960] - I2C - Proximity, ambient light, RGB and gesture sensor - ![crates.io](https://img.shields.io/crates/v/apds9960.svg) 1. [AS5048A] - SPI - AMS AS5048A Magnetic Rotary Encoder 1. [AXP209] - I2C - Power management unit @@ -1013,6 +1014,7 @@ Work in progress drivers. Help the authors make these crates awesome! 1. [atwinc1500-rs] - SPI - A host driver for the Atwinc1500 network controller [AFE4400]: https://github.com/ReeceStevens/afe4400 +[AFE4404]: https://github.com/pulse-loop/afe4404 [APDS9960]: https://crates.io/crates/apds9960 [AS5048A]: https://github.com/uwearzt/as5048a [AXP209]: https://github.com/RandomInsano/axp209-rs From 7dc618ae6012f04157075cb3fe31cef99c239a2a Mon Sep 17 00:00:00 2001 From: Harry Hornbacher Date: Thu, 15 Dec 2022 11:49:26 +0100 Subject: [PATCH 09/16] Add Renesas DA14531 PAC and HAL crates --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index e944c02..fbcf515 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ This project is developed and maintained by the [Resources team][team]. - [XMC](#xmc) - [Vorago](#vorago) - [Wiznet](#wiznet) + - [Renesas](#renesas) - [HAL implementation crates](#hal-implementation-crates) - [OS](#os) - [Microchip](#microchip-1) @@ -52,6 +53,7 @@ This project is developed and maintained by the [Resources team][team]. - [XMC](#xmc-1) - [GigaDevice](#gigadevice-1) - [Vorago](#vorago-1) + - [Renesas](#renesas-1) - [Architecture support crates](#architecture-support-crates) - [ARM](#arm) - [RISC-V](#risc-v) @@ -338,6 +340,10 @@ Peripheral access crates for the different XMC4xxx families of microcontrollers - [`w7500x-pac`](https://crates.io/crates/w7500x-pac) Peripheral Access Crate for Wiznet's W7500x microcontrollers (generated using svd2rust) - ![crates.io](https://img.shields.io/crates/v/w7500x-pac.svg) +### Renesas +- [`da14531`](https://crates.io/crates/da14531) Peripheral Access Crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip - ![crates.io](https://img.shields.io/crates/v/da14531.svg) + + ## HAL implementation crates Implementations of [`embedded-hal`] for microcontroller families and systems running some OS. - ![crates.io](https://img.shields.io/crates/v/embedded-hal.svg) @@ -481,6 +487,9 @@ Also check the list of [STMicroelectronics board support crates][stm-bsc]! - [`va108xx-hal`](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal) - ![crates.io](https://img.shields.io/crates/v/va108xx-hal.svg) - [Blogpost](https://robamu.github.io/post/rust-ecosystem/) +### Renesas +- [`da14531-hal`](https://crates.io/crates/da14531-hal) HAL crate for DA14531 Ultra-Low Power BT 5.1 System-on-Chip - ![crates.io](https://img.shields.io/crates/v/da14531-hal.svg) + ## Architecture support crates Crates tailored for general CPU architectures. From 78226bc0dca8fa5c1d45db12ce96a1cea8613e2f Mon Sep 17 00:00:00 2001 From: Rafael Bachmann Date: Fri, 18 Nov 2022 20:07:46 +0100 Subject: [PATCH 10/16] Add ebyte-e32 to list --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 88c9ce1..b8480df 100644 --- a/README.md +++ b/README.md @@ -732,6 +732,7 @@ Otherwise please add it to the [WIP section](#WIP) below. 1. [dht-sensor] - 1-Wire - DHT11/DHT22 temperature/humidity sensor driver - [github][48] - ![crates.io](https://img.shields.io/crates/v/dht-sensor.svg) 1. [DRV8825] - DRV8825 Stepper Motor Driver (based on [Stepper]) - [Intro blog post][52] - ![crates.io](https://img.shields.io/crates/v/drv8825.svg) 1. [DS1307] - I2C - Real-time clock driver - [Intro blog post][13] - ![crates.io](https://img.shields.io/crates/v/ds1307.svg) +1. [ebyte-e32] - SERIAL - Ebyte E32 LoRa module driver - [Intro blog post][67] - ![crates.io](https://img.shields.io/crates/v/ebyte-e32.svg) 1. [EEPROM24x] - I2C - 24x series serial EEPROM driver - [Intro blog post][12] - ![crates.io](https://img.shields.io/crates/v/eeprom24x.svg) 1. [embedded-ccs811] - I2C - Gas and VOC sensor driver for monitoring indoor air quality - [Intro blog post][49] - ![crates.io](https://img.shields.io/crates/v/embedded-ccs811.svg) 1. [embedded-sdmmc] - SPI - SD/MMC Card Driver with MS-DOS Partition and FAT16/FAT32 support - [Intro post][20] ![crates.io](https://img.shields.io/crates/v/embedded-sdmmc.svg) @@ -852,6 +853,7 @@ Otherwise please add it to the [WIP section](#WIP) below. [64]: https://github.com/Finomnis/st7565 [65]: https://github.com/dlkj/usbd-human-interface-device [66]: https://github.com/GrepitAB/ade791x-rs +[67]: https://barafael.github.io/A-Platform-Agnostic-Driver-for-EBYTE-E32-LoRa-Modules/ [AD983x]: https://crates.io/crates/ad983x [adafruit-alphanum4]: https://crates.io/crates/adafruit-alphanum4 @@ -869,6 +871,7 @@ Otherwise please add it to the [WIP section](#WIP) below. [dht-sensor]: https://crates.io/crates/dht-sensor [DRV8825]: https://crates.io/crates/drv8825 [DS1307]: https://crates.io/crates/ds1307 +[ebyte-e32]: https://crates.io/crates/ebyte-e32 [EEPROM24x]: https://crates.io/crates/eeprom24x [embedded-ccs811]: https://crates.io/crates/embedded-ccs811 [embedded-sdmmc]: https://crates.io/crates/embedded-sdmmc From 5ce773ba8757025f991f25842f53f4b52211cb45 Mon Sep 17 00:00:00 2001 From: Ralph Ursprung Date: Sat, 7 Jan 2023 12:04:16 +0100 Subject: [PATCH 11/16] add additional crates two are mine, the third is one i'm using but am otherwise not associated with. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index b8480df..7bc00a5 100644 --- a/README.md +++ b/README.md @@ -788,6 +788,8 @@ Otherwise please add it to the [WIP section](#WIP) below. 1. [DW1000] - SPI - Radio transceiver (IEEE 802.15.4 and position tracking) - [Article][45] - ![crates.io](https://img.shields.io/crates/v/dw1000.svg) 1. [Adafruit-7segment] - I2C - Driver for Adafruit 7-segment LED Numeric Backpack based on the ht16k33 chip - [github][47] - ![crates.io](https://img.shields.io/crates/v/adafruit-7segment.svg) 1. [ST7565] - SPI - An embedded-graphics compatible driver for LCD displays based on the ST7565 chip - [github][64] - ![crates.io](https://img.shields.io/crates/v/st7565.svg) +1. [tb6612fng] - A `no_std` driver for the TB6612FNG motor driver - ![Crates.io](https://img.shields.io/crates/v/tb6612fng.svg) +1. [vl53l1x-uld] - I2C - A pure-rust driver for the [ST VL53L1X](https://www.st.com/en/imaging-and-photonics-solutions/vl53l1x.html) - ![crates.io](https://img.shields.io/crates/v/vl53l1x-uld.svg) [1&2]: http://blog.japaric.io/wd-1-2-l3gd20-lsm303dlhc-madgwick/ [3]: http://pramode.in/2018/02/24/an-introduction-to-writing-embedded-hal-based-drivers-in-rust/ @@ -926,6 +928,8 @@ Otherwise please add it to the [WIP section](#WIP) below. [DW1000]: https://crates.io/crates/dw1000 [Adafruit-7segment]: https://crates.io/crates/adafruit-7segment [ST7565]: http://crates.io/crates/st7565 +[tb6612fng]: https://crates.io/crates/tb6612fng +[vl53l1x-uld]: https://crates.io/crates/vl53l1x-uld *NOTE* You may be able to find even more driver crates by searching for the [`embedded-hal-driver`] keyword on crates.io! @@ -1191,6 +1195,7 @@ Work in progress drivers. Help the authors make these crates awesome! 1. [tinybmp](https://crates.io/crates/tinybmp): No-std, no-alloc BMP parser for embedded systems. [Introductory blog post](https://wapl.es/rust/2019/03/04/embedded-graphics-0.4.7-bmp-support.html) - ![crates.io](https://img.shields.io/crates/v/tinybmp.svg) 1. [vga-framebuffer]: A VGA signal generator and font renderer for VGA-less microcontrollers. Used by [Monotron](https://github.com/thejpster/monotron) to generate 48 by 36 character display using 3 SPI peripherals and a timer. ![crates.io](https://img.shields.io/crates/v/vga-framebuffer.svg) 1. [wyhash]: A fast, simple and portable hashing algorithm and random number generator. - ![crates.io](https://img.shields.io/crates/v/wyhash.svg) +1. [adafruit-bluefruit-protocol]: A `no_std` parser for the [Adafruit Bluefruit LE Connect controller protocol]. - ![Crates.io](https://img.shields.io/crates/v/adafruit-bluefruit-protocol) [`cmim`]: https://crates.io/crates/cmim [`panic-persist`]: https://crates.io/crates/panic-persist @@ -1208,6 +1213,8 @@ Work in progress drivers. Help the authors make these crates awesome! [Stepper]: https://crates.io/crates/stepper [vga-framebuffer]: https://github.com/thejpster/vga-framebuffer-rs [wyhash]: https://crates.io/crates/wyhash +[adafruit-bluefruit-protocol]: https://crates.io/crates/adafruit-bluefruit-protocol +[Adafruit Bluefruit LE Connect controller protocol]: https://learn.adafruit.com/bluefruit-le-connect/controller ### WIP From f60d992d8232d757c506725b2b1c8c9c552e9725 Mon Sep 17 00:00:00 2001 From: James Munns Date: Sat, 7 Jan 2023 12:06:48 +0100 Subject: [PATCH 12/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bc00a5..fce65f7 100644 --- a/README.md +++ b/README.md @@ -1195,7 +1195,7 @@ Work in progress drivers. Help the authors make these crates awesome! 1. [tinybmp](https://crates.io/crates/tinybmp): No-std, no-alloc BMP parser for embedded systems. [Introductory blog post](https://wapl.es/rust/2019/03/04/embedded-graphics-0.4.7-bmp-support.html) - ![crates.io](https://img.shields.io/crates/v/tinybmp.svg) 1. [vga-framebuffer]: A VGA signal generator and font renderer for VGA-less microcontrollers. Used by [Monotron](https://github.com/thejpster/monotron) to generate 48 by 36 character display using 3 SPI peripherals and a timer. ![crates.io](https://img.shields.io/crates/v/vga-framebuffer.svg) 1. [wyhash]: A fast, simple and portable hashing algorithm and random number generator. - ![crates.io](https://img.shields.io/crates/v/wyhash.svg) -1. [adafruit-bluefruit-protocol]: A `no_std` parser for the [Adafruit Bluefruit LE Connect controller protocol]. - ![Crates.io](https://img.shields.io/crates/v/adafruit-bluefruit-protocol) +1. [adafruit-bluefruit-protocol]: A `no_std` parser for the [Adafruit Bluefruit LE Connect controller protocol]. - ![crates.io](https://img.shields.io/crates/v/adafruit-bluefruit-protocol) [`cmim`]: https://crates.io/crates/cmim [`panic-persist`]: https://crates.io/crates/panic-persist From 4069115ba0b39411bd84da19ff8d3221d6413c53 Mon Sep 17 00:00:00 2001 From: chrysn Date: Sat, 4 Feb 2023 22:16:57 +0100 Subject: [PATCH 13/16] Add switch-hal --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fce65f7..613255c 100644 --- a/README.md +++ b/README.md @@ -700,6 +700,8 @@ devices which go beyond what is available in [`embedded-hal`]: - [`atat`](https://github.com/BlackbirdHQ/atat): Abstraction crate to ease writting AT based driver crates - ![crates.io](https://img.shields.io/crates/v/atat.svg) - [`embedded-nal`](https://github.com/rust-embedded-community/embedded-nal): An Embedded Network Abstraction Layer - ![crates.io](https://img.shields.io/crates/v/embedded-nal.svg) - [`embedded-storage`](https://github.com/rust-embedded-community/embedded-storage): An Embedded Storage Abstraction Layer +- [`switch-hal`](https://github.com/rubberduck203/switch-hal): An "on"/"off" abstraction for input and output switches - ![crates.io](https://img.shields.io/crates/v/switch-hal.svg) + ## Driver crates From d6be0dd0cca0d0675e36aa911ce3f348c004bd0e Mon Sep 17 00:00:00 2001 From: Sam Bradshaw <33942237+roxgib@users.noreply.github.com> Date: Tue, 21 Feb 2023 11:27:30 +1100 Subject: [PATCH 14/16] Add SPL06-007 to WIP driver list --- README.md | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 613255c..f3f496a 100644 --- a/README.md +++ b/README.md @@ -1012,28 +1012,29 @@ Work in progress drivers. Help the authors make these crates awesome! 1. [SHT3x] - I2C - Temperature / humidity sensors 1. [SI5351] - I2C - clock generator 1. [SI7021] - I2C - Humidity and temperature sensor +1. [SPL06-007] - I2C - Pressure and temerature sensor - ![crates.io](https://img.shields.io/crates/v/spl06-007.svg) 1. [spi-memory] - SPI - A generic driver for various SPI Flash and EEPROM chips - ![crates.io](https://img.shields.io/crates/v/spi-memory.svg) -1. [SSD1320] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1320.svg) -1. [SSD1322] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1322.svg) -1. [SSD1351] - SPI - 16bit colour OLED display driver - ![crates.io](https://img.shields.io/crates/v/ssd1351.svg) -1. [SSD1675] - SPI - Tri-color ePaper display controller - ![crates.io](https://img.shields.io/crates/v/ssd1675.svg) -1. [st7032i] - I2C - Dot Matrix LCD Controller driver (Sitronix ST7032i or similar). - ![crates.io](https://img.shields.io/crates/v/st7032i.svg) -1. [ST7735-lcd] - SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix ![crates.io](https://img.shields.io/crates/v/st7735-lcd.svg) -1. [ST7920] - SPI - LCD displays using the ST7920 controller ![crates.io](https://img.shields.io/crates/v/st7920.svg) -1. [stm32-eth] - MCU - Ethernet -1. [SX1278] - SPI - Long range (LoRa) transceiver -1. [SX1509] - I2C - IO Expander / Keypad driver -1. [TCS3472] - I2C - RGB color light sensor - ![crates.io](https://img.shields.io/crates/v/tcs3472.svg) -1. [TPA2016D2] - I2C - A driver for interfacing with the Texas Instruments TPA2016D2 Class-D amplifier - ![crates.io](https://img.shields.io/crates/v/tpa2016d2.svg) -1. [VEML6040] - I2C - RGBW color light sensor - ![crates.io](https://img.shields.io/crates/v/veml6040.svg) -1. [VEML6070] - I2C - UVA light sensor - ![crates.io](https://img.shields.io/crates/v/veml6070.svg) -1. [VEML7700] - I2C - Ambient light sensors - ![crates.io](https://img.shields.io/crates/v/veml7700.svg) -1. [vesc-comm] - A driver for communicating with [VESC-compatible electronic speed controllers](http://vedder.se/2015/01/vesc-open-source-esc/) ![crates.io](https://img.shields.io/crates/v/vesc-comm.svg) -1. [VL53L0X] - A platform agnostic driver to interface with the vl53l0x (time-of-flight sensor) ![crates.io](https://img.shields.io/crates/v/vl53l0x.svg) -1. [w5500] - SPI - Ethernet Module with hardwired protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - ![crates.io](https://img.shields.io/crates/v/w5500.svg) -1. [xCA9548A] - I2C - I2C switches/multiplexers: TCA9548A, PCA9548A - ![crates.io](https://img.shields.io/crates/v/xca9548a.svg) -1. [ublox-cellular-rs] - Serial - Cellular driver for the full Ublox cellular serial based family -1. [atwinc1500-rs] - SPI - A host driver for the Atwinc1500 network controller +3. [SSD1320] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1320.svg) +4. [SSD1322] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1322.svg) +5. [SSD1351] - SPI - 16bit colour OLED display driver - ![crates.io](https://img.shields.io/crates/v/ssd1351.svg) +6. [SSD1675] - SPI - Tri-color ePaper display controller - ![crates.io](https://img.shields.io/crates/v/ssd1675.svg) +7. [st7032i] - I2C - Dot Matrix LCD Controller driver (Sitronix ST7032i or similar). - ![crates.io](https://img.shields.io/crates/v/st7032i.svg) +8. [ST7735-lcd] - SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix ![crates.io](https://img.shields.io/crates/v/st7735-lcd.svg) +9. [ST7920] - SPI - LCD displays using the ST7920 controller ![crates.io](https://img.shields.io/crates/v/st7920.svg) +10. [stm32-eth] - MCU - Ethernet +11. [SX1278] - SPI - Long range (LoRa) transceiver +12. [SX1509] - I2C - IO Expander / Keypad driver +13. [TCS3472] - I2C - RGB color light sensor - ![crates.io](https://img.shields.io/crates/v/tcs3472.svg) +14. [TPA2016D2] - I2C - A driver for interfacing with the Texas Instruments TPA2016D2 Class-D amplifier - ![crates.io](https://img.shields.io/crates/v/tpa2016d2.svg) +15. [VEML6040] - I2C - RGBW color light sensor - ![crates.io](https://img.shields.io/crates/v/veml6040.svg) +16. [VEML6070] - I2C - UVA light sensor - ![crates.io](https://img.shields.io/crates/v/veml6070.svg) +17. [VEML7700] - I2C - Ambient light sensors - ![crates.io](https://img.shields.io/crates/v/veml7700.svg) +18. [vesc-comm] - A driver for communicating with [VESC-compatible electronic speed controllers](http://vedder.se/2015/01/vesc-open-source-esc/) ![crates.io](https://img.shields.io/crates/v/vesc-comm.svg) +19. [VL53L0X] - A platform agnostic driver to interface with the vl53l0x (time-of-flight sensor) ![crates.io](https://img.shields.io/crates/v/vl53l0x.svg) +20. [w5500] - SPI - Ethernet Module with hardwired protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - ![crates.io](https://img.shields.io/crates/v/w5500.svg) +21. [xCA9548A] - I2C - I2C switches/multiplexers: TCA9548A, PCA9548A - ![crates.io](https://img.shields.io/crates/v/xca9548a.svg) +22. [ublox-cellular-rs] - Serial - Cellular driver for the full Ublox cellular serial based family +23. [atwinc1500-rs] - SPI - A host driver for the Atwinc1500 network controller [AFE4400]: https://github.com/ReeceStevens/afe4400 [AFE4404]: https://github.com/pulse-loop/afe4404 From 8254957390a5f96d0ef744a30733cf97a4682265 Mon Sep 17 00:00:00 2001 From: Sam Bradshaw <33942237+roxgib@users.noreply.github.com> Date: Tue, 21 Feb 2023 11:37:20 +1100 Subject: [PATCH 15/16] Fix link https://github.com/roxgib/SPL06-007 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3f496a..4401319 100644 --- a/README.md +++ b/README.md @@ -1108,6 +1108,7 @@ Work in progress drivers. Help the authors make these crates awesome! [SHT3x]: https://github.com/miek/sht3x-rs [SI5351]: https://github.com/ilya-epifanov/si5351 [SI7021]: https://github.com/wose/si7021 +[SPL06-007]: https://github.com/roxgib/SPL06-007 [spi-memory]: https://github.com/jonas-schievink/spi-memory/ [SSD1320]: https://crates.io/crates/ssd1320 [SSD1322]: https://crates.io/crates/ssd1322 From 97fb134bc24c5fb312f29edce31b4e1beef9e115 Mon Sep 17 00:00:00 2001 From: Sam Bradshaw <33942237+roxgib@users.noreply.github.com> Date: Tue, 21 Feb 2023 11:39:43 +1100 Subject: [PATCH 16/16] Changes numbers back to 1 --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 4401319..e9d5120 100644 --- a/README.md +++ b/README.md @@ -1014,27 +1014,27 @@ Work in progress drivers. Help the authors make these crates awesome! 1. [SI7021] - I2C - Humidity and temperature sensor 1. [SPL06-007] - I2C - Pressure and temerature sensor - ![crates.io](https://img.shields.io/crates/v/spl06-007.svg) 1. [spi-memory] - SPI - A generic driver for various SPI Flash and EEPROM chips - ![crates.io](https://img.shields.io/crates/v/spi-memory.svg) -3. [SSD1320] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1320.svg) -4. [SSD1322] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1322.svg) -5. [SSD1351] - SPI - 16bit colour OLED display driver - ![crates.io](https://img.shields.io/crates/v/ssd1351.svg) -6. [SSD1675] - SPI - Tri-color ePaper display controller - ![crates.io](https://img.shields.io/crates/v/ssd1675.svg) -7. [st7032i] - I2C - Dot Matrix LCD Controller driver (Sitronix ST7032i or similar). - ![crates.io](https://img.shields.io/crates/v/st7032i.svg) -8. [ST7735-lcd] - SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix ![crates.io](https://img.shields.io/crates/v/st7735-lcd.svg) -9. [ST7920] - SPI - LCD displays using the ST7920 controller ![crates.io](https://img.shields.io/crates/v/st7920.svg) -10. [stm32-eth] - MCU - Ethernet -11. [SX1278] - SPI - Long range (LoRa) transceiver -12. [SX1509] - I2C - IO Expander / Keypad driver -13. [TCS3472] - I2C - RGB color light sensor - ![crates.io](https://img.shields.io/crates/v/tcs3472.svg) -14. [TPA2016D2] - I2C - A driver for interfacing with the Texas Instruments TPA2016D2 Class-D amplifier - ![crates.io](https://img.shields.io/crates/v/tpa2016d2.svg) -15. [VEML6040] - I2C - RGBW color light sensor - ![crates.io](https://img.shields.io/crates/v/veml6040.svg) -16. [VEML6070] - I2C - UVA light sensor - ![crates.io](https://img.shields.io/crates/v/veml6070.svg) -17. [VEML7700] - I2C - Ambient light sensors - ![crates.io](https://img.shields.io/crates/v/veml7700.svg) -18. [vesc-comm] - A driver for communicating with [VESC-compatible electronic speed controllers](http://vedder.se/2015/01/vesc-open-source-esc/) ![crates.io](https://img.shields.io/crates/v/vesc-comm.svg) -19. [VL53L0X] - A platform agnostic driver to interface with the vl53l0x (time-of-flight sensor) ![crates.io](https://img.shields.io/crates/v/vl53l0x.svg) -20. [w5500] - SPI - Ethernet Module with hardwired protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - ![crates.io](https://img.shields.io/crates/v/w5500.svg) -21. [xCA9548A] - I2C - I2C switches/multiplexers: TCA9548A, PCA9548A - ![crates.io](https://img.shields.io/crates/v/xca9548a.svg) -22. [ublox-cellular-rs] - Serial - Cellular driver for the full Ublox cellular serial based family -23. [atwinc1500-rs] - SPI - A host driver for the Atwinc1500 network controller +1. [SSD1320] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1320.svg) +1. [SSD1322] - SPI - Graphical OLED display controller - ![crates.io](https://img.shields.io/crates/v/ssd1322.svg) +1. [SSD1351] - SPI - 16bit colour OLED display driver - ![crates.io](https://img.shields.io/crates/v/ssd1351.svg) +1. [SSD1675] - SPI - Tri-color ePaper display controller - ![crates.io](https://img.shields.io/crates/v/ssd1675.svg) +1. [st7032i] - I2C - Dot Matrix LCD Controller driver (Sitronix ST7032i or similar). - ![crates.io](https://img.shields.io/crates/v/st7032i.svg) +1. [ST7735-lcd] - SPI - An embedded-graphics compatible driver for the popular lcd family from Sitronix ![crates.io](https://img.shields.io/crates/v/st7735-lcd.svg) +1. [ST7920] - SPI - LCD displays using the ST7920 controller ![crates.io](https://img.shields.io/crates/v/st7920.svg) +1. [stm32-eth] - MCU - Ethernet +1. [SX1278] - SPI - Long range (LoRa) transceiver +1. [SX1509] - I2C - IO Expander / Keypad driver +1. [TCS3472] - I2C - RGB color light sensor - ![crates.io](https://img.shields.io/crates/v/tcs3472.svg) +1. [TPA2016D2] - I2C - A driver for interfacing with the Texas Instruments TPA2016D2 Class-D amplifier - ![crates.io](https://img.shields.io/crates/v/tpa2016d2.svg) +1. [VEML6040] - I2C - RGBW color light sensor - ![crates.io](https://img.shields.io/crates/v/veml6040.svg) +1. [VEML6070] - I2C - UVA light sensor - ![crates.io](https://img.shields.io/crates/v/veml6070.svg) +1. [VEML7700] - I2C - Ambient light sensors - ![crates.io](https://img.shields.io/crates/v/veml7700.svg) +1. [vesc-comm] - A driver for communicating with [VESC-compatible electronic speed controllers](http://vedder.se/2015/01/vesc-open-source-esc/) ![crates.io](https://img.shields.io/crates/v/vesc-comm.svg) +1. [VL53L0X] - A platform agnostic driver to interface with the vl53l0x (time-of-flight sensor) ![crates.io](https://img.shields.io/crates/v/vl53l0x.svg) +1. [w5500] - SPI - Ethernet Module with hardwired protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - ![crates.io](https://img.shields.io/crates/v/w5500.svg) +1. [xCA9548A] - I2C - I2C switches/multiplexers: TCA9548A, PCA9548A - ![crates.io](https://img.shields.io/crates/v/xca9548a.svg) +1. [ublox-cellular-rs] - Serial - Cellular driver for the full Ublox cellular serial based family +1. [atwinc1500-rs] - SPI - A host driver for the Atwinc1500 network controller [AFE4400]: https://github.com/ReeceStevens/afe4400 [AFE4404]: https://github.com/pulse-loop/afe4404