mirror of
https://github.com/rust-embedded/awesome-embedded-rust.git
synced 2024-12-12 11:06:48 +00:00
Add Linting to the Project (#466)
* Add markdown linting rules * Add linting badge * Updated Markdown to meet linter criteria Closes #156
This commit is contained in:
parent
6d382e9fbe
commit
92c4af85e2
4 changed files with 338 additions and 34 deletions
35
.github/workflows/Linting.yml
vendored
Normal file
35
.github/workflows/Linting.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
name: Linting
|
||||||
|
|
||||||
|
on: # yamllint disable-line rule:truthy
|
||||||
|
push: null
|
||||||
|
pull_request: null
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Super_Linter:
|
||||||
|
name: Super Linter
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
# To report GitHub Actions status checks
|
||||||
|
statuses: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Super-linter
|
||||||
|
uses: super-linter/super-linter@v7.2.0 # x-release-please-version
|
||||||
|
env:
|
||||||
|
# Linters
|
||||||
|
VALIDATE_MARKDOWN: true
|
||||||
|
VALIDATE_YAML: true
|
||||||
|
LINTER_RULES_PATH: ./
|
||||||
|
MARKDOWN_CONFIG_FILE: .markdownlint.yml
|
||||||
|
ENABLE_GITHUB_ACTIONS_STEP_SUMMARY: true
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
277
.markdownlint.yml
Normal file
277
.markdownlint.yml
Normal file
|
@ -0,0 +1,277 @@
|
||||||
|
# Example markdownlint configuration with all properties set to their default value
|
||||||
|
|
||||||
|
# Default state for all rules
|
||||||
|
default: true
|
||||||
|
|
||||||
|
# Path to configuration file to extend
|
||||||
|
extends: null
|
||||||
|
|
||||||
|
# MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md
|
||||||
|
MD001: true
|
||||||
|
|
||||||
|
# MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md003.md
|
||||||
|
MD003:
|
||||||
|
# Heading style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md
|
||||||
|
MD004:
|
||||||
|
# List style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md
|
||||||
|
MD005: true
|
||||||
|
|
||||||
|
# MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md
|
||||||
|
MD007:
|
||||||
|
# Spaces for indent
|
||||||
|
indent: 2
|
||||||
|
# Whether to indent the first level of the list
|
||||||
|
start_indented: false
|
||||||
|
# Spaces for first level indent (when start_indented is set)
|
||||||
|
start_indent: 2
|
||||||
|
|
||||||
|
# MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md
|
||||||
|
MD009:
|
||||||
|
# Spaces for line break
|
||||||
|
br_spaces: 2
|
||||||
|
# Allow spaces for empty lines in list items
|
||||||
|
list_item_empty_lines: false
|
||||||
|
# Include unnecessary breaks
|
||||||
|
strict: false
|
||||||
|
|
||||||
|
# MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md
|
||||||
|
MD010:
|
||||||
|
# Include code blocks
|
||||||
|
code_blocks: true
|
||||||
|
# Fenced code languages to ignore
|
||||||
|
ignore_code_languages: []
|
||||||
|
# Number of spaces for each hard tab
|
||||||
|
spaces_per_tab: 1
|
||||||
|
|
||||||
|
# MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md
|
||||||
|
MD011: true
|
||||||
|
|
||||||
|
# MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md
|
||||||
|
MD012:
|
||||||
|
# Consecutive blank lines
|
||||||
|
maximum: 1
|
||||||
|
|
||||||
|
# MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md
|
||||||
|
MD013: false
|
||||||
|
# # Number of characters
|
||||||
|
# line_length: 200
|
||||||
|
# # Number of characters for headings
|
||||||
|
# heading_line_length: 80
|
||||||
|
# # Number of characters for code blocks
|
||||||
|
# code_block_line_length: 200
|
||||||
|
# # Include code blocks
|
||||||
|
# code_blocks: true
|
||||||
|
# # Include tables
|
||||||
|
# tables: true
|
||||||
|
# # Include headings
|
||||||
|
# headings: true
|
||||||
|
# # Strict length checking
|
||||||
|
# strict: false
|
||||||
|
# # Stern length checking
|
||||||
|
# stern: false
|
||||||
|
|
||||||
|
# MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md
|
||||||
|
MD014: true
|
||||||
|
|
||||||
|
# MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md018.md
|
||||||
|
MD018: true
|
||||||
|
|
||||||
|
# MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md019.md
|
||||||
|
MD019: true
|
||||||
|
|
||||||
|
# MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md020.md
|
||||||
|
MD020: true
|
||||||
|
|
||||||
|
# MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md021.md
|
||||||
|
MD021: true
|
||||||
|
|
||||||
|
# MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md022.md
|
||||||
|
MD022:
|
||||||
|
# Blank lines above heading
|
||||||
|
lines_above: 1
|
||||||
|
# Blank lines below heading
|
||||||
|
lines_below: 1
|
||||||
|
|
||||||
|
# MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md
|
||||||
|
MD023: true
|
||||||
|
|
||||||
|
# MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md
|
||||||
|
MD024:
|
||||||
|
# Only check sibling headings
|
||||||
|
siblings_only: true
|
||||||
|
|
||||||
|
# MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md
|
||||||
|
MD025:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
# RegExp for matching title in front matter
|
||||||
|
front_matter_title: "^\\s*title\\s*[:=]"
|
||||||
|
|
||||||
|
# MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md
|
||||||
|
MD026:
|
||||||
|
# Punctuation characters
|
||||||
|
punctuation: ".,;:!。,;:!"
|
||||||
|
|
||||||
|
# MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md
|
||||||
|
MD027: true
|
||||||
|
|
||||||
|
# MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md
|
||||||
|
MD028: true
|
||||||
|
|
||||||
|
# MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md029.md
|
||||||
|
MD029:
|
||||||
|
# List style
|
||||||
|
style: "one_or_ordered"
|
||||||
|
|
||||||
|
# MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md030.md
|
||||||
|
MD030:
|
||||||
|
# Spaces for single-line unordered list items
|
||||||
|
ul_single: 1
|
||||||
|
# Spaces for single-line ordered list items
|
||||||
|
ol_single: 1
|
||||||
|
# Spaces for multi-line unordered list items
|
||||||
|
ul_multi: 1
|
||||||
|
# Spaces for multi-line ordered list items
|
||||||
|
ol_multi: 1
|
||||||
|
|
||||||
|
# MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md
|
||||||
|
MD031:
|
||||||
|
# Include list items
|
||||||
|
list_items: true
|
||||||
|
|
||||||
|
# MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md
|
||||||
|
MD032: true
|
||||||
|
|
||||||
|
# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md
|
||||||
|
MD033: false
|
||||||
|
# # Allowed elements
|
||||||
|
# allowed_elements: []
|
||||||
|
|
||||||
|
# MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md
|
||||||
|
MD034: false
|
||||||
|
|
||||||
|
# MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md
|
||||||
|
MD035:
|
||||||
|
# Horizontal rule style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md
|
||||||
|
MD036:
|
||||||
|
# Punctuation characters
|
||||||
|
punctuation: ".,;:!?。,;:!?"
|
||||||
|
|
||||||
|
# MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md
|
||||||
|
MD037: true
|
||||||
|
|
||||||
|
# MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md
|
||||||
|
MD038: true
|
||||||
|
|
||||||
|
# MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md
|
||||||
|
MD039: true
|
||||||
|
|
||||||
|
# MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md
|
||||||
|
MD040:
|
||||||
|
# List of languages
|
||||||
|
allowed_languages: []
|
||||||
|
# Require language only
|
||||||
|
language_only: false
|
||||||
|
|
||||||
|
# MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md041.md
|
||||||
|
MD041:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
# RegExp for matching title in front matter
|
||||||
|
front_matter_title: "^\\s*title\\s*[:=]"
|
||||||
|
|
||||||
|
# MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md
|
||||||
|
MD042: true
|
||||||
|
|
||||||
|
# MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md
|
||||||
|
MD043:
|
||||||
|
# List of headings
|
||||||
|
headings: [ "*" ]
|
||||||
|
# Match case of headings
|
||||||
|
match_case: false
|
||||||
|
|
||||||
|
# MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md
|
||||||
|
MD044:
|
||||||
|
# List of proper names
|
||||||
|
names: []
|
||||||
|
# Include code blocks
|
||||||
|
code_blocks: true
|
||||||
|
# Include HTML elements
|
||||||
|
html_elements: true
|
||||||
|
|
||||||
|
# MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md
|
||||||
|
MD045: true
|
||||||
|
|
||||||
|
# MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md
|
||||||
|
MD046:
|
||||||
|
# Block style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md
|
||||||
|
MD047: true
|
||||||
|
|
||||||
|
# MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md
|
||||||
|
MD048:
|
||||||
|
# Code fence style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md
|
||||||
|
MD049:
|
||||||
|
# Emphasis style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md
|
||||||
|
MD050:
|
||||||
|
# Strong style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md
|
||||||
|
MD051:
|
||||||
|
# Ignore case of fragments
|
||||||
|
ignore_case: false
|
||||||
|
|
||||||
|
# MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md
|
||||||
|
MD052:
|
||||||
|
# Include shortcut syntax
|
||||||
|
shortcut_syntax: false
|
||||||
|
|
||||||
|
# MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md
|
||||||
|
MD053:
|
||||||
|
# Ignored definitions
|
||||||
|
ignored_definitions:
|
||||||
|
- "//"
|
||||||
|
|
||||||
|
# MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md
|
||||||
|
MD054:
|
||||||
|
# Allow autolinks
|
||||||
|
autolink: true
|
||||||
|
# Allow inline links and images
|
||||||
|
inline: true
|
||||||
|
# Allow full reference links and images
|
||||||
|
full: true
|
||||||
|
# Allow collapsed reference links and images
|
||||||
|
collapsed: true
|
||||||
|
# Allow shortcut reference links and images
|
||||||
|
shortcut: true
|
||||||
|
# Allow URLs as inline links
|
||||||
|
url_inline: true
|
||||||
|
|
||||||
|
# MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md055.md
|
||||||
|
MD055:
|
||||||
|
# Table pipe style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md
|
||||||
|
MD056: true
|
||||||
|
|
||||||
|
# MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md
|
||||||
|
MD058: true
|
58
README.md
58
README.md
|
@ -1,10 +1,10 @@
|
||||||
# Embedded Rust
|
# Embedded Rust
|
||||||
|
|
||||||
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
|
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Linting](https://github.com/rust-embedded/awesome-embedded-rust/actions/workflows/Static%20Analysis.yml/badge.svg?branch=master)](https://github.com/rust-embedded/awesome-embedded-rust/actions/workflows/Static%20Analysis.yml)
|
||||||
|
|
||||||
This is a curated list of resources related to embedded and low-level programming in the Rust programming language, including a selection of useful crates.
|
This is a curated list of resources related to embedded and low-level programming in the Rust programming language, including a selection of useful crates.
|
||||||
|
|
||||||
[<img src="https://rawgit.com/rust-embedded/awesome-embedded-rust/master/rust-embedded-logo-256x256.png" align="right" width="256">](http://www.rust-embedded.org)
|
[<img src="https://rawgit.com/rust-embedded/awesome-embedded-rust/master/rust-embedded-logo-256x256.png" alt="Rust Embedded Logo" align="right" width="256">](http://www.rust-embedded.org)
|
||||||
|
|
||||||
This project is developed and maintained by the [Resources team][team].
|
This project is developed and maintained by the [Resources team][team].
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ specifically endorsed or reviewed for accuracy or quality by the Embedded Workin
|
||||||
## Tools
|
## Tools
|
||||||
|
|
||||||
- [xargo](https://github.com/japaric/xargo) Rust package manager with support for non-default std libraries — build Rust runtime for your embedded system.
|
- [xargo](https://github.com/japaric/xargo) Rust package manager with support for non-default std libraries — build Rust runtime for your embedded system.
|
||||||
- xargo is great, but since it's in maintenance mode, [cargo-xbuild](https://github.com/rust-osdev/cargo-xbuild) is catching up as its intended replacement.
|
- xargo is great, but since it's in maintenance mode, [cargo-xbuild](https://github.com/rust-osdev/cargo-xbuild) is catching up as its intended replacement.
|
||||||
- [svd2rust](https://github.com/japaric/svd2rust) Generate Rust structs with register mappings from SVD files.
|
- [svd2rust](https://github.com/japaric/svd2rust) Generate Rust structs with register mappings from SVD files.
|
||||||
- [edc2svd](https://github.com/kiffie/edc2svd) Generate SVD files for PIC32 devices from EDC files. - [![crates.io](https://img.shields.io/crates/v/edc2svd.svg)](https://crates.io/crates/edc2svd)
|
- [edc2svd](https://github.com/kiffie/edc2svd) Generate SVD files for PIC32 devices from EDC files. - [![crates.io](https://img.shields.io/crates/v/edc2svd.svg)](https://crates.io/crates/edc2svd)
|
||||||
- [embedded-hal-mock] Mock implementation of `embedded-hal` traits for testing without accessing real hardware. - [![crates.io](https://img.shields.io/crates/v/embedded-hal-mock.svg)](https://crates.io/crates/embedded-hal-mock)
|
- [embedded-hal-mock] Mock implementation of `embedded-hal` traits for testing without accessing real hardware. - [![crates.io](https://img.shields.io/crates/v/embedded-hal-mock.svg)](https://crates.io/crates/embedded-hal-mock)
|
||||||
|
@ -189,15 +189,14 @@ specifically endorsed or reviewed for accuracy or quality by the Embedded Workin
|
||||||
- [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)](https://crates.io/crates/uf2)
|
- [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)](https://crates.io/crates/uf2)
|
||||||
- [probe-rs](https://github.com/probe-rs/probe-rs): a modern, embedded debugging toolkit, written in Rust
|
- [probe-rs](https://github.com/probe-rs/probe-rs): a modern, embedded debugging toolkit, written in Rust
|
||||||
- [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:
|
- [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:
|
||||||
- [defmt](https://github.com/knurling-rs/defmt): a highly efficient logging framework that targets resource-constrained devices, like microcontrollers.
|
- [defmt](https://github.com/knurling-rs/defmt): a highly efficient logging framework that targets resource-constrained devices, like microcontrollers.
|
||||||
- [flip-link](https://github.com/knurling-rs/flip-link), a linker wrapper that provides stack overflow protection without an MMU by flipping the standard memory layout of ARM Cortex-M programs
|
- [flip-link](https://github.com/knurling-rs/flip-link), a linker wrapper that provides stack overflow protection without an MMU by flipping the standard memory layout of ARM Cortex-M programs
|
||||||
- [app-template](https://github.com/knurling-rs/app-template), a `cargo-generate` powered project template for quickly setting up new projects using the Knurling Tools.
|
- [app-template](https://github.com/knurling-rs/app-template), a `cargo-generate` powered project template for quickly setting up new projects using the Knurling Tools.
|
||||||
- [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
|
- [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
|
- [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.
|
- [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.
|
||||||
- [svd-generator](https://codeberg.org/weathered-steel/svd-generator) CLI tool to parse flattened device tree files, and create a SVD file. - [![crates.io](https://img.shields.io/crates/v/svd-generator.svg)](https://crates.io/crates/svd-generator)
|
- [svd-generator](https://codeberg.org/weathered-steel/svd-generator) CLI tool to parse flattened device tree files, and create a SVD file. - [![crates.io](https://img.shields.io/crates/v/svd-generator.svg)](https://crates.io/crates/svd-generator)
|
||||||
|
|
||||||
|
|
||||||
[embedded-hal-mock]: https://crates.io/crates/embedded-hal-mock
|
[embedded-hal-mock]: https://crates.io/crates/embedded-hal-mock
|
||||||
|
|
||||||
## Real-time
|
## Real-time
|
||||||
|
@ -214,8 +213,8 @@ specifically endorsed or reviewed for accuracy or quality by the Embedded Workin
|
||||||
### Real-time tools
|
### Real-time tools
|
||||||
|
|
||||||
- [RTIC v1.0](https://rtic.rs/1/book/en/) Real-Time Interrupt-driven Concurrency — A concurrency framework for building real-time systems:
|
- [RTIC v1.0](https://rtic.rs/1/book/en/) Real-Time Interrupt-driven Concurrency — A concurrency framework for building real-time systems:
|
||||||
- [cortex-m rtic](https://github.com/rtic-rs/cortex-m-rtic) RTIC framework for ARM Cortex-M microcontrollers
|
- [cortex-m rtic](https://github.com/rtic-rs/cortex-m-rtic) RTIC framework for ARM Cortex-M microcontrollers
|
||||||
- [msp430 rtfm](https://github.com/japaric/msp430-rtfm) RTFM framework for MSP430 MCUs
|
- [msp430 rtfm](https://github.com/japaric/msp430-rtfm) RTFM framework for MSP430 MCUs
|
||||||
|
|
||||||
## Peripheral Access Crates
|
## Peripheral Access Crates
|
||||||
|
|
||||||
|
@ -324,7 +323,7 @@ The [`stm32-rs`](https://github.com/stm32-rs/stm32-rs) project has peripheral ac
|
||||||
### MSP430
|
### MSP430
|
||||||
|
|
||||||
- [`msp430g2553`](https://github.com/japaric/msp430g2553) Peripheral access API for MSP430G2553 microcontrollers (generated using svd2rust)
|
- [`msp430g2553`](https://github.com/japaric/msp430g2553) Peripheral access API for MSP430G2553 microcontrollers (generated using svd2rust)
|
||||||
- [msp430 quickstart](https://github.com/rust-embedded/msp430-quickstart) some examples for msp430
|
- [msp430 quickstart](https://github.com/rust-embedded/msp430-quickstart) some examples for msp430
|
||||||
- [`msp430fr2355`](https://crates.io/crates/msp430fr2355) Peripheral access API for MSP430FR2355 microcontrollers (generated using svd2rust)
|
- [`msp430fr2355`](https://crates.io/crates/msp430fr2355) Peripheral access API for MSP430FR2355 microcontrollers (generated using svd2rust)
|
||||||
- [`msp430fr6972`](https://crates.io/crates/msp430fr6972) - [![crates.io](https://img.shields.io/crates/v/msp430fr6972)](https://crates.io/crates/msp430fr6972)
|
- [`msp430fr6972`](https://crates.io/crates/msp430fr6972) - [![crates.io](https://img.shields.io/crates/v/msp430fr6972)](https://crates.io/crates/msp430fr6972)
|
||||||
|
|
||||||
|
@ -375,6 +374,7 @@ 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)](https://crates.io/crates/w7500x-pac)
|
- [`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)](https://crates.io/crates/w7500x-pac)
|
||||||
|
|
||||||
### Renesas
|
### Renesas
|
||||||
|
|
||||||
- [`ra2a1`](https://github.com/ra-rs/ra/tree/main/pac/ra2a1) Peripheral Access Crate for ra2a1 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2a1.svg)](https://crates.io/crates/ra2a1)
|
- [`ra2a1`](https://github.com/ra-rs/ra/tree/main/pac/ra2a1) Peripheral Access Crate for ra2a1 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2a1.svg)](https://crates.io/crates/ra2a1)
|
||||||
- [`ra2e1`](https://github.com/ra-rs/ra/tree/main/pac/ra2e1) Peripheral Access Crate for ra2e1 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2e1.svg)](https://crates.io/crates/ra2e1)
|
- [`ra2e1`](https://github.com/ra-rs/ra/tree/main/pac/ra2e1) Peripheral Access Crate for ra2e1 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2e1.svg)](https://crates.io/crates/ra2e1)
|
||||||
- [`ra2e2`](https://github.com/ra-rs/ra/tree/main/pac/ra2e2) Peripheral Access Crate for ra2e2 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2e2.svg)](https://crates.io/crates/ra2e2)
|
- [`ra2e2`](https://github.com/ra-rs/ra/tree/main/pac/ra2e2) Peripheral Access Crate for ra2e2 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra2e2.svg)](https://crates.io/crates/ra2e2)
|
||||||
|
@ -393,7 +393,6 @@ Peripheral access crates for the different XMC4xxx families of microcontrollers
|
||||||
- [`ra6t2`](https://github.com/ra-rs/ra/tree/main/pac/ra6t2) Peripheral Access Crate for ra6t2 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra6t2.svg)](https://crates.io/crates/ra6t2)
|
- [`ra6t2`](https://github.com/ra-rs/ra/tree/main/pac/ra6t2) Peripheral Access Crate for ra6t2 microcontrollers (generated using svd2rust) - [![crates.io](https://img.shields.io/crates/v/ra6t2.svg)](https://crates.io/crates/ra6t2)
|
||||||
- [`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)](https://crates.io/crates/da14531)
|
- [`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)](https://crates.io/crates/da14531)
|
||||||
|
|
||||||
|
|
||||||
## HAL implementation crates
|
## 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)](https://crates.io/crates/embedded-hal)
|
Implementations of [`embedded-hal`] for microcontroller families and systems running some OS. - [![crates.io](https://img.shields.io/crates/v/embedded-hal.svg)](https://crates.io/crates/embedded-hal)
|
||||||
|
@ -463,31 +462,27 @@ Also check the list of [STMicroelectronics board support crates][stm-bsc]!
|
||||||
|
|
||||||
- [`stm32f0xx-hal`](https://crates.io/crates/stm32f0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)](https://crates.io/crates/stm32f0xx-hal)
|
- [`stm32f0xx-hal`](https://crates.io/crates/stm32f0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f0xx-hal.svg)](https://crates.io/crates/stm32f0xx-hal)
|
||||||
- Has examples that can run on boards like the [Nucleo-F042K6] and similar boards
|
- Has examples that can run on boards like the [Nucleo-F042K6] and similar boards
|
||||||
|
[Nucleo-F042K6]: <http://www.st.com/en/evaluation-tools/nucleo-f042k6.html>
|
||||||
[Nucleo-F042K6]: http://www.st.com/en/evaluation-tools/nucleo-f042k6.html
|
|
||||||
|
|
||||||
- [`stm32f1xx-hal`](https://github.com/stm32-rs/stm32f1xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)](https://crates.io/crates/stm32f1xx-hal)
|
- [`stm32f1xx-hal`](https://github.com/stm32-rs/stm32f1xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f1xx-hal.svg)](https://crates.io/crates/stm32f1xx-hal)
|
||||||
- Can be run on boards like the [Blue pill], [Nucleo-F103RB], and similar boards
|
- Can be run on boards like the [Blue pill], [Nucleo-F103RB], and similar boards
|
||||||
|
[Blue pill]: <https://stm32duinoforum.com/forum/wiki_subdomain/index_title_Blue_Pill.html>
|
||||||
[Blue pill]: https://stm32duinoforum.com/forum/wiki_subdomain/index_title_Blue_Pill.html
|
[Nucleo-F103RB]: <http://www.st.com/en/evaluation-tools/nucleo-f103rb.html>
|
||||||
[Nucleo-F103RB]: http://www.st.com/en/evaluation-tools/nucleo-f103rb.html
|
|
||||||
|
|
||||||
- [`stm32f3xx-hal`](https://crates.io/crates/stm32f3xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)](https://crates.io/crates/stm32f3xx-hal)
|
- [`stm32f3xx-hal`](https://crates.io/crates/stm32f3xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f3xx-hal.svg)](https://crates.io/crates/stm32f3xx-hal)
|
||||||
- [`stm32f4xx-hal`](https://crates.io/crates/stm32f4xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)](https://crates.io/crates/stm32f4xx-hal)
|
- [`stm32f4xx-hal`](https://crates.io/crates/stm32f4xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f4xx-hal.svg)](https://crates.io/crates/stm32f4xx-hal)
|
||||||
- Generic HAL implementation for all MCUs of the stm32f4 series
|
- Generic HAL implementation for all MCUs of the stm32f4 series
|
||||||
- [`stm32f7xx-hal`](https://crates.io/crates/stm32f7xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)](https://crates.io/crates/stm32f7xx-hal)
|
- [`stm32f7xx-hal`](https://crates.io/crates/stm32f7xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32f7xx-hal.svg)](https://crates.io/crates/stm32f7xx-hal)
|
||||||
- Generic HAL implementation for all MCUs of the stm32f7 series
|
- Generic HAL implementation for all MCUs of the stm32f7 series
|
||||||
- [`stm32g0xx-hal`](https://crates.io/crates/stm32g0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)](https://crates.io/crates/stm32g0xx-hal)
|
- [`stm32g0xx-hal`](https://crates.io/crates/stm32g0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32g0xx-hal.svg)](https://crates.io/crates/stm32g0xx-hal)
|
||||||
- [`stm32h7xx-hal`](https://crates.io/crates/stm32h7xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)](https://crates.io/crates/stm32h7xx-hal)
|
- [`stm32h7xx-hal`](https://crates.io/crates/stm32h7xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32h7xx-hal.svg)](https://crates.io/crates/stm32h7xx-hal)
|
||||||
- HAL implementation for the STMicro STM32H7xx family of microcontrollers
|
- HAL implementation for the STMicro STM32H7xx family of microcontrollers
|
||||||
- [`stm32l0xx-hal`](https://crates.io/crates/stm32l0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)](https://crates.io/crates/stm32l0xx-hal)
|
- [`stm32l0xx-hal`](https://crates.io/crates/stm32l0xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l0xx-hal.svg)](https://crates.io/crates/stm32l0xx-hal)
|
||||||
- HAL implementation for the the STMicro STM32L0xx family of microcontrollers
|
- HAL implementation for the the STMicro STM32L0xx family of microcontrollers
|
||||||
- [`stm32l1xx-hal`](https://crates.io/crates/stm32l1xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)](https://crates.io/crates/stm32l1xx-hal)
|
- [`stm32l1xx-hal`](https://crates.io/crates/stm32l1xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l1xx-hal.svg)](https://crates.io/crates/stm32l1xx-hal)
|
||||||
- [`stm32l151-hal`](https://crates.io/crates/stm32l151-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)](https://crates.io/crates/stm32l151-hal)
|
- [`stm32l151-hal`](https://crates.io/crates/stm32l151-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l151-hal.svg)](https://crates.io/crates/stm32l151-hal)
|
||||||
- [`stm32l4xx-hal`](https://crates.io/crates/stm32l4xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)](https://crates.io/crates/stm32l4xx-hal)
|
- [`stm32l4xx-hal`](https://crates.io/crates/stm32l4xx-hal) - [![crates.io](https://img.shields.io/crates/v/stm32l4xx-hal.svg)](https://crates.io/crates/stm32l4xx-hal)
|
||||||
- Generic hal support for stm32l4 devices, has examples that can run on boards like the [Nucleo-L432KC], [Solo], and similar boards
|
- Generic hal support for stm32l4 devices, has examples that can run on boards like the [Nucleo-L432KC], [Solo], and similar boards
|
||||||
- [`stm32-hal`](https://crates.io/crates/stm32-hal2) - [![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)](https://crates.io/crates/stm32-hal2)
|
- [`stm32-hal`](https://crates.io/crates/stm32-hal2) - [![crates.io](https://img.shields.io/crates/v/stm32-hal2.svg)](https://crates.io/crates/stm32-hal2)
|
||||||
- HAL implementation for STM32 devices across multiple families, with a focus on newer ones like L4, L5, and H7.
|
- HAL implementation for STM32 devices across multiple families, with a focus on newer ones like L4, L5, and H7.
|
||||||
|
|
||||||
[Nucleo-L432KC]: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-l432kc.html
|
[Nucleo-L432KC]: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-l432kc.html
|
||||||
[Solo]: https://solokeys.com/
|
[Solo]: https://solokeys.com/
|
||||||
|
@ -499,7 +494,7 @@ Also check the list of [STMicroelectronics board support crates][stm-bsc]!
|
||||||
### MSP430
|
### MSP430
|
||||||
|
|
||||||
- [`msp430fr2x5x-hal`](https://crates.io/crates/msp430fr2x5x-hal)
|
- [`msp430fr2x5x-hal`](https://crates.io/crates/msp430fr2x5x-hal)
|
||||||
- HAL implementation for the MSP430FR2x5x family of microcontrollers
|
- HAL implementation for the MSP430FR2x5x family of microcontrollers
|
||||||
|
|
||||||
### Espressif
|
### Espressif
|
||||||
|
|
||||||
|
@ -508,11 +503,10 @@ Also check the list of [STMicroelectronics board support crates][stm-bsc]!
|
||||||
- [`esp-hal`](https://github.com/esp-rs/esp-hal)
|
- [`esp-hal`](https://github.com/esp-rs/esp-hal)
|
||||||
- A `no_std` Hardware Abstraction Layers for ESP32 microcontrollers
|
- A `no_std` Hardware Abstraction Layers for ESP32 microcontrollers
|
||||||
|
|
||||||
|
|
||||||
### Silicon Labs
|
### Silicon Labs
|
||||||
|
|
||||||
- [`tomu-hal`](https://github.com/fudanchii/imtomu-rs)
|
- [`tomu-hal`](https://github.com/fudanchii/imtomu-rs)
|
||||||
- HAL implementation targeted for [Tomu] USB board with EFM32HG309F64 ARMv6-M core. Has support to configure [tomu bootloader] directly from an application via the `toboot_config` macro.
|
- HAL implementation targeted for [Tomu] USB board with EFM32HG309F64 ARMv6-M core. Has support to configure [tomu bootloader] directly from an application via the `toboot_config` macro.
|
||||||
|
|
||||||
[Tomu]: https://tomu.im/
|
[Tomu]: https://tomu.im/
|
||||||
[tomu bootloader]: https://github.com/im-tomu/tomu-bootloader
|
[tomu bootloader]: https://github.com/im-tomu/tomu-bootloader
|
||||||
|
@ -537,6 +531,7 @@ Also check the list of [STMicroelectronics board support crates][stm-bsc]!
|
||||||
- [Blogpost](https://robamu.github.io/post/rust-ecosystem/)
|
- [Blogpost](https://robamu.github.io/post/rust-ecosystem/)
|
||||||
|
|
||||||
### Renesas
|
### 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)](https://crates.io/crates/da14531-hal)
|
- [`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)](https://crates.io/crates/da14531-hal)
|
||||||
|
|
||||||
### StarFive
|
### StarFive
|
||||||
|
@ -659,9 +654,7 @@ Crates tailored for specific boards.
|
||||||
- [`pimoroni-pico-explorer`](https://github.com/rp-rs/rp-hal) - Board Support for the [Pimoroni Pico Explorer]
|
- [`pimoroni-pico-explorer`](https://github.com/rp-rs/rp-hal) - Board Support for the [Pimoroni Pico Explorer]
|
||||||
- [`pimoroni-pico-lipo-16mb`](https://github.com/rp-rs/rp-hal) - Board Support for the [Pimoroni Pico Lipo 16MB]
|
- [`pimoroni-pico-lipo-16mb`](https://github.com/rp-rs/rp-hal) - Board Support for the [Pimoroni Pico Lipo 16MB]
|
||||||
|
|
||||||
[pimoroni-pico-explorer]: https://github.com/rp-rs/rp-hal/tree/main/boards/pimoroni-pico-explorer
|
|
||||||
[Pimoroni Pico Explorer]: https://shop.pimoroni.com/products/pico-explorer-base
|
[Pimoroni Pico Explorer]: https://shop.pimoroni.com/products/pico-explorer-base
|
||||||
[pimoroni-pico-lipo-16mb]: https://github.com/rp-rs/rp-hal/tree/main/boards/pimoroni_pico_lipo_16mb
|
|
||||||
[Pimoroni Pico Lipo 16MB]: https://shop.pimoroni.com/products/pimoroni-pico-lipo?variant=39335427080275
|
[Pimoroni Pico Lipo 16MB]: https://shop.pimoroni.com/products/pimoroni-pico-lipo?variant=39335427080275
|
||||||
|
|
||||||
### Raspberry Pi
|
### Raspberry Pi
|
||||||
|
@ -710,10 +703,10 @@ Crates tailored for specific boards.
|
||||||
- [`stm32f429i-disc`](https://crates.io/crates/stm32f429i-disc) Board Support Crate for the [STM32F429DISCOVERY] (WIP) - [![crates.io](https://img.shields.io/crates/v/stm32f429i-disc.svg)](https://crates.io/crates/stm32f429i-disc)
|
- [`stm32f429i-disc`](https://crates.io/crates/stm32f429i-disc) Board Support Crate for the [STM32F429DISCOVERY] (WIP) - [![crates.io](https://img.shields.io/crates/v/stm32f429i-disc.svg)](https://crates.io/crates/stm32f429i-disc)
|
||||||
- [`stm32f3-discovery`](https://crates.io/crates/stm32f3-discovery) Board Support Crate for the [STM32F3DISCOVERY] used in [Rust Embedded Discovery book](https://rust-embedded.github.io/discovery/index.html) - [![crates.io](https://img.shields.io/crates/v/stm32f3-discovery)](https://crates.io/crates/stm32f3-discovery)
|
- [`stm32f3-discovery`](https://crates.io/crates/stm32f3-discovery) Board Support Crate for the [STM32F3DISCOVERY] used in [Rust Embedded Discovery book](https://rust-embedded.github.io/discovery/index.html) - [![crates.io](https://img.shields.io/crates/v/stm32f3-discovery)](https://crates.io/crates/stm32f3-discovery)
|
||||||
|
|
||||||
|
|
||||||
[Nucleo-F401RE]: https://www.st.com/en/evaluation-tools/nucleo-f401re.html
|
[Nucleo-F401RE]: https://www.st.com/en/evaluation-tools/nucleo-f401re.html
|
||||||
|
|
||||||
### Teensy
|
### Teensy
|
||||||
|
|
||||||
- [`teensy4-rs`](https://github.com/mciantyre/teensy4-rs) Board Support crate for the [Teensy 4.0]
|
- [`teensy4-rs`](https://github.com/mciantyre/teensy4-rs) Board Support crate for the [Teensy 4.0]
|
||||||
|
|
||||||
### Vorago
|
### Vorago
|
||||||
|
@ -756,7 +749,6 @@ devices that go beyond what is available in [`embedded-hal`]:
|
||||||
- [`embedded-storage`](https://github.com/rust-embedded-community/embedded-storage): An Embedded Storage Abstraction Layer
|
- [`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)](https://crates.io/crates/switch-hal)
|
- [`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)](https://crates.io/crates/switch-hal)
|
||||||
|
|
||||||
|
|
||||||
## Driver crates
|
## Driver crates
|
||||||
|
|
||||||
You can also find many of these drivers [on drive-rs](https://tweedegolf.github.io/drive-rs/); please consider adding your driver there ([in the GitHub repo](https://github.com/tweedegolf/drive-rs)) while we work to port everything across.
|
You can also find many of these drivers [on drive-rs](https://tweedegolf.github.io/drive-rs/); please consider adding your driver there ([in the GitHub repo](https://github.com/tweedegolf/drive-rs)) while we work to port everything across.
|
||||||
|
@ -771,7 +763,7 @@ The list below contains drivers that have achieved the "released" status. To add
|
||||||
to this list, please ensure that your driver has a short blog post, article, or sufficiently
|
to this list, please ensure that your driver has a short blog post, article, or sufficiently
|
||||||
explanatory README showing an example of its use. Ideally, this post would demonstrate using the
|
explanatory README showing an example of its use. Ideally, this post would demonstrate using the
|
||||||
device in a small project so that a Rust and/or embedded newcomer can also understand it.
|
device in a small project so that a Rust and/or embedded newcomer can also understand it.
|
||||||
Otherwise, please add it to the [WIP section](#WIP) below.
|
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)](https://crates.io/crates/ad983x)
|
1. [AD983x] - SPI - AD9833/AD9837 waveform generators / DDS - [Intro blog post][25] - [![crates.io](https://img.shields.io/crates/v/ad983x.svg)](https://crates.io/crates/ad983x)
|
||||||
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)](https://crates.io/crates/adafruit-alphanum4)
|
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)](https://crates.io/crates/adafruit-alphanum4)
|
||||||
|
|
Loading…
Reference in a new issue