kos

Crates.iokos
lib.rskos
version0.5.0
sourcesrc
created_at2024-11-10 08:47:09.126044
updated_at2025-01-17 06:18:47.930713
descriptionThe K-Scale Operating System
homepage
repositoryhttps://github.com/kscalelabs/kos
max_upload_size
id1442737
size125,444
Wesley Maa (WT-MM)

documentation

https://docs.kscale.dev/os/intro

README

K-Scale OS

Welcome to the K-Scale Operating System!

Building

Prerequisites

  • cross toolchain

You can install cross by running:

cargo install cross

Native build

Native build:

cargo build

You can run the kos-stub endpoint for testing purposes using the command:

cargo run --bin kos-stub

After doing this, you can test the endpoint using the pykos client:

import pykos

client = pykos.KOS("127.0.0.1")

Cross build

Cross build for kbot:

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

Running

RUST_LOG=debug cargo run

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

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 -- --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 file for details.

Commit count: 254

cargo fmt