2 releases

0.1.2 Jan 9, 2025
0.1.1 Nov 13, 2024

#726 in Operating systems

Download history 125/week @ 2024-11-13 20/week @ 2024-11-20 10/week @ 2024-11-27 23/week @ 2024-12-04 14/week @ 2024-12-11 8/week @ 2024-12-18 5/week @ 2025-01-01 161/week @ 2025-01-08

175 downloads per month
Used in 4 crates

MIT license

45KB
1K SLoC

K-Scale OS

Welcome to the K-Scale Operating System!

Building

Prerequisites

  • cross toolchain

Native build

Native build with stub features:

cargo build --features stub

Cross build

Cross build for kbot:

cross build --release --target aarch64-unknown-linux-gnu --features kscale_pro

Running

RUST_LOG=debug cargo run --features stub

You can specify logging levels for individual modules by adding module_name=log_level to the RUST_LOG environment variable. For example:

RUST_LOG=debug,krec=warn cargo run --features stub

List of features (--features / -F flag)

Features are how you specify the specific platform to run K-OS on (e.g. -F kos-kbot when running on K-Bot)

  • kos-kbot
  • zeroth-01 (not finished)
  • sim (not finished)

Adding a new embodiment

Reference the existing platforms / features in platforms.

You essentially create another package (Cargo.toml, lib.rs, etc) with the necessary actuator and imu implementations according to the specifications in kos-core

To save trace logs to a file, pass the --log flag:

cargo run --features stub -- --log


## Contributing
- Use `cargo fmt --all` to format the code.
- Use `cargo clippy` to check for lint errors.
- Use `cargo test` to run the tests.
- Use `tracing` for logging.
- Use `eyre` to handle errors.
- No `unwrap()` or `expect()`.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

Dependencies

~17–28MB
~406K SLoC