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

Contributing

Stars

1 star

Watchers

4 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages