Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(embassy-arch): provide peripheral-independent I2C and SPI types #317

Draft
wants to merge 95 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
ccd5bdf
build(deps): bump embassy, esp-hal, rtt-target, bare-metal
kaspar030 Aug 19, 2024
206054a
feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Jun 11, 2024
c1211fc
feat(example): add an example testing SPI
ROMemories Jun 11, 2024
244606c
feat(example): add an example testing I2C
ROMemories Jun 12, 2024
ea812b8
fixup! feat(example): add an example testing SPI
ROMemories Jun 12, 2024
7f19db0
refactor(buses): share I2cDevice and SpiDevice across archs
ROMemories Jun 12, 2024
451c7ab
fixup! feat(example): add an example testing I2C
ROMemories Jun 17, 2024
2bf14fd
fixup! fixup! feat(example): add an example testing SPI
ROMemories Jun 17, 2024
876b37b
fixup! fixup! feat(example): add an example testing I2C
ROMemories Jun 17, 2024
e2ab4ff
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Jun 17, 2024
d1bf5c3
docs(buses): provide additional documentation on drivers
ROMemories Jun 17, 2024
256f4c1
chore: add allow lints on macros by arch modules
ROMemories Jun 18, 2024
8bc7799
fixup! feat(example): add an example testing I2C
ROMemories Jul 17, 2024
0b2f35b
fixup! feat(example): add an example testing SPI
ROMemories Jul 17, 2024
dcd3f41
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Jul 17, 2024
ff9c00e
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Jul 17, 2024
81ab7ef
fixup! fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Jul 17, 2024
e0867a2
fixup! 5f2085817ae66449f4c1781e4f0d61ee2f2172a4
ROMemories Jul 17, 2024
77bddab
fixup! chore: add allow lints on macros by arch modules
ROMemories Jul 17, 2024
9fe1d06
fixup! refactor(buses): share I2cDevice and SpiDevice across archs
ROMemories Jul 17, 2024
7fd9470
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Jul 17, 2024
687d02d
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Jul 17, 2024
b18dd58
fixup! refactor(buses): share I2cDevice and SpiDevice across archs
ROMemories Jul 17, 2024
9e0604a
fixup! refactor(buses): share I2cDevice and SpiDevice across archs
ROMemories Jul 17, 2024
64aef5c
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Jul 18, 2024
e28e811
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Jul 18, 2024
341f609
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Jul 18, 2024
dfd0e11
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Jul 18, 2024
e389b92
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Jul 18, 2024
912e7fc
fixup! a60a9b9ac0b1ac8f6d88515eda8d03de354e2dc3
ROMemories Jul 18, 2024
7fd7095
feat(i2c): add support for I2C on STM32WB55RGVX
ROMemories Jul 18, 2024
b8967e9
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Jul 19, 2024
53b8ccd
feat(spi): add support for SPI on STM32WB55RGVX
ROMemories Jul 19, 2024
9f1edc8
WIP: add support for SPI on ESP32
ROMemories Jul 19, 2024
a8ebc65
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Aug 6, 2024
735e807
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Aug 6, 2024
3749681
fixup! 75f4a41f2996e452b865b138c1e3888fa148c163
ROMemories Aug 6, 2024
7e32d53
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Aug 6, 2024
e1ba58f
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Aug 6, 2024
e06cdee
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Aug 6, 2024
71ab77f
feat: codegen the STM32 definitions of SPI and I2C drivers
ROMemories Aug 7, 2024
9defa44
fix(stm32): make SPI work on STM32H755ZI and port the test
ROMemories Aug 8, 2024
12a5f42
test(spi): port the test to STM32H755ZI
ROMemories Aug 8, 2024
35e9edf
test(macros): unit test the helper `define_stm32_drivers!` macro
ROMemories Aug 8, 2024
b4c4ae1
test(macros): test codegen from every STM32 JSON file
ROMemories Aug 8, 2024
02f3465
feat(i2c): add support for I2C on ESP32
ROMemories Aug 9, 2024
94bce7c
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 9, 2024
a8d285b
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 9, 2024
9f77062
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 9, 2024
4469509
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 9, 2024
ea389f2
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 9, 2024
6b0ecde
fixup! 2557a4cb08120813e6442daade63326358c027c1
ROMemories Aug 9, 2024
8882b3e
fixup! 2557a4cb08120813e6442daade63326358c027c1
ROMemories Aug 9, 2024
0bb8e69
fixup! 987b3232b098a9be62b4644448fae9fcd66fa190
ROMemories Aug 9, 2024
d5633ab
fixup! b29f8f5a5a3c259888f7687bb5bc3c71b73f4b2e
ROMemories Aug 9, 2024
330b7bb
WIP feat(spi): add support for SPI on ESP32
ROMemories Aug 9, 2024
7a22282
feat: simplify the SPI API
ROMemories Aug 13, 2024
afcf118
feat: simplify the I2C API
ROMemories Aug 13, 2024
1994acb
fixup! feat: simplify the I2C API
ROMemories Aug 14, 2024
7f7fbd3
fixup! feat: simplify the SPI API
ROMemories Aug 14, 2024
9d78fc3
fixup! 1c5e89fa8e123452de4ec03004a7dfad4a33ec10
ROMemories Aug 19, 2024
ad50dfc
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Aug 19, 2024
cae7e60
refactor: feature-gate SPI and I2C buses
ROMemories Aug 19, 2024
713fc9a
fixup! feat(embassy-arch): support sharing I2C and SPI buses
ROMemories Aug 19, 2024
d23a69f
fixup! feat(example): add an example testing I2C
ROMemories Aug 19, 2024
79cc33b
fixup! feat(example): add an example testing SPI
ROMemories Aug 19, 2024
f694464
fixup! feat: simplify the SPI API
ROMemories Aug 19, 2024
65b44fd
fixup! feat: simplify the SPI API
ROMemories Aug 19, 2024
9e09d3d
fixup! feat: simplify the SPI API
ROMemories Aug 19, 2024
037f7e8
fixup! feat: simplify the SPI API
ROMemories Aug 19, 2024
4bf5f6c
fixup! WIP feat(spi): add support for SPI on ESP32
ROMemories Aug 19, 2024
08ceac1
fixup! WIP feat(spi): add support for SPI on ESP32
ROMemories Aug 19, 2024
926a0f2
fixup! 06ef192a80a5fb302f65db3b533dc18c66aed424
ROMemories Aug 20, 2024
de9af1d
fixup! fixup! fixup! feat(example): add an example testing SPI
ROMemories Aug 20, 2024
44734ce
fixup! feat: simplify the SPI API
ROMemories Aug 20, 2024
a44e5dc
fixup! feat: simplify the SPI API
ROMemories Aug 20, 2024
dd63679
fixup! feat: simplify the SPI API
ROMemories Aug 20, 2024
dd34796
WIP: make SPI work on ESP32
ROMemories Aug 21, 2024
c7590b6
refactor(spi): move `Mode` and `BitOrder` out of arch modules
ROMemories Aug 21, 2024
d1c837d
fixup! refactor: feature-gate SPI and I2C buses
ROMemories Aug 21, 2024
51b256c
fixup! refactor(spi): move `Mode` and `BitOrder` out of arch modules
ROMemories Aug 21, 2024
a41e008
feat(i2c): add timeouts on all architectures to prevent hangs
ROMemories Aug 21, 2024
99f00f6
fixup! feat(i2c): add timeouts on all architectures to prevent hangs
ROMemories Aug 21, 2024
8646498
docs: complete the bus documentation
ROMemories Aug 22, 2024
6440545
refactor(spi-test): move the pin configuration to its own module
ROMemories Aug 22, 2024
14f239a
refactor(i2c-test): move the pin configuration to its own module
ROMemories Aug 22, 2024
572d6c2
docs(buses): update the support matrix
ROMemories Aug 22, 2024
6aee198
fixup! WIP: add support for SPI on ESP32
ROMemories Aug 22, 2024
e388d76
fixup! feat(spi): add support for SPI on STM32WB55RGVX
ROMemories Aug 22, 2024
07d4bbd
fixup! feat: simplify the SPI API
ROMemories Aug 22, 2024
5903208
fixup! refactor: feature-gate SPI and I2C buses
ROMemories Aug 22, 2024
2ba0694
fixup! refactor: feature-gate SPI and I2C buses
ROMemories Aug 23, 2024
06757ab
fix(i2c): rework how frequencies are managed
ROMemories Aug 23, 2024
0732616
feat(stm32): use `init_primary()` on h755
kaspar030 Aug 19, 2024
1e833cb
fix(spi): rework how frequencies are managed
ROMemories Aug 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:

- name: Build rustdoc docs
run: |
cargo doc -p riot-rs --features no-boards,bench,threading,random,csprng,hwrng
cargo doc -p riot-rs --features no-boards,bench,i2c,spi,threading,random,csprng,hwrng
echo "<meta http-equiv=\"refresh\" content=\"0; url=riot_rs\">" > target/doc/index.html
mkdir -p ./_site/dev/docs/api && mv target/doc/* ./_site/dev/docs/api

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ jobs:
args: --verbose --locked --features no-boards -p riot-rs -p riot-rs-boards -p riot-rs-chips -p riot-rs-debug -p riot-rs-embassy -p riot-rs-macros -p riot-rs-random -p riot-rs-rt -p riot-rs-threads -p riot-rs-utils

- name: rustdoc
run: RUSTDOCFLAGS='-D warnings' cargo doc -p riot-rs --features no-boards,bench,external-interrupts,threading,random,csprng,hwrng
run: RUSTDOCFLAGS='-D warnings' cargo doc -p riot-rs --features no-boards,bench,external-interrupts,i2c,spi,threading,random,csprng,hwrng

- name: rustfmt
run: cargo fmt --check --all
Expand Down
Loading
Loading