Skip to content

ut-utp/core

Repository files navigation

Undergraduate Teaching Platform: A Prototype 👷

Build Status License: MPL-2.0

codecov

🚧 🚧 This is very much not stable yet! 🚧 🚧

This repo houses the 'core' of the UTP platform which consists of these pieces:

<TODO: diagram>

At the moment, the primary 'users' of the platform are the following:

  • An implementation of the platform for the TI Launchpad.
  • A TUI that can interact with any UTP LC-3 simulator.
  • A device support crate.
    • This contains macros and pieces that aid in implementing the peripheral traits and running the simulator on devices with embedded-hal support. This includes:
      • the uart transport layer
      • the #![no_std] compatible encoding layer (based on postcard)
      • (eventually (TODO)) the macros that, provided with embedded-hal compliant pins, provides you with peripheral trait impls
      • miscellaneous things necessary for the above like a simple FIFO
    • Lives in the lc3-device-support crate.
    • TODO: move out of this repo!

For Developers

TODO: fill in

To check that the project will build:

  • cargo c or cargo check-all

To actually build the project:

  • cargo b or cargo build-all to build everything
  • cargo build -p <crate name> to build a particular crate
    • i.e. cargo build -p lc3-isa

To run the project's tests:

  • cargo t or cargo test-all to run all the tests
  • cargo test -p <crate name> to run a particular crate's tests

To run the project's benchmarks:

  • cargo bench to run them all
  • cargo bench --bench <benchmark name> to run a particular benchmark

To build the docs for the project:

  • cargo +nightly docs (cargo-nightly docs if using nix)
    • NOTE: this requires a nightly Rust toolchain!
    • If you're on stable you can instead run: cargo d (or cargo docs-stable) to get mostly identical output

To run the project's lints (that CI runs):

  • cargo lint

TODO:

  • crate and doc badges on each crate
  • doc badge to gh pages on the top level README (this file)
  • CI:
    • release (on tag)
    • docs (upload to gh-pages)
    • coverage (still want codecov over coveralls but may acquiesce)

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages