Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ updates:
patterns: ["*"]

- package-ecosystem: cargo
directories: ["/", "/fuzz/", "/statime-stm32/"]
directories: ["/", "/fuzz/", "/statime-embassy-net/", "/statime-embassy-net/examples/stm32h743/", "/statime-stm32/"]
allow:
- dependency-type: all
schedule:
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ jobs:
working-directory: statime-stm32
run: cargo build

- name: Build Embassy STM32 example
working-directory: statime-embassy-net/examples/stm32h743
run: cargo build --release

# Build std is handled by test job

test:
Expand All @@ -64,6 +68,10 @@ jobs:
env:
RUST_BACKTRACE: 1

- name: Test Embassy integration
working-directory: statime-embassy-net
run: cargo test --target x86_64-unknown-linux-gnu

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v7.0.0
with:
Expand All @@ -82,6 +90,7 @@ jobs:
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: thumbv7em-none-eabihf
components: rustfmt, clippy
override: true

Expand All @@ -99,6 +108,22 @@ jobs:
toolchain: stable
args: --workspace --all-features -- -D warnings

- name: Check Embassy formatting
working-directory: statime-embassy-net
run: cargo fmt --all -- --check

- name: Check Embassy STM32 example formatting
working-directory: statime-embassy-net/examples/stm32h743
run: cargo fmt --all -- --check

- name: Run Embassy host clippy
working-directory: statime-embassy-net
run: cargo clippy --target x86_64-unknown-linux-gnu --all-targets --features monitor -- -D warnings

- name: Run Embassy STM32 clippy
working-directory: statime-embassy-net/examples/stm32h743
run: cargo clippy -- -D warnings

- name: Run clippy (fuzzers)
uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505
with:
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ members = [
"statime-linux",
]
exclude = [
"statime-embassy-net",
"statime-stm32"
]
resolver = "2"
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ It is designed to be able to work with many different underlying platforms, incl

On modern Linux kernels, the `statime-linux` crate provides a ready to use PTP daemon. See our [getting started guide](https://docs.statime.pendulum-project.org/guide/getting-started/).

If you want to use Statime on platforms other than Linux, you will need to implement a suitable binary yourself. The `statime-stm32` crate gives an example of how to do this on an embedded target.
For Embassy-based embedded systems, `statime-embassy-net` provides a reusable
single-port ordinary-clock runner and an STM32H743 example. The `statime-stm32`
crate is a separate RTIC-based STM32F7 example.

<p align="center">
<img width="216px" alt="Statime - PTP in Rust" src="https://tweedegolf.nl/images/statime.jpg" />
Expand Down Expand Up @@ -53,4 +55,3 @@ For all past and present funders and supporters, see the [Statime page](https://
<img style="margin: 1rem 5% 1rem 5%;" src="https://nlnet.nl/image/logos/NGIAssure_tag.svg" alt="Logo NGI Assure" width="150px" />
<img style="margin: 1rem 5% 1rem 5%;" src="https://tweedegolf.nl/images/logo-stf-blank.png" alt="Logo STF" width="250px" />


2 changes: 2 additions & 0 deletions statime-embassy-net/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/target
/examples/stm32h743/target
Loading