Skip to content

ephraim71/basilisk-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

basilisk-rs

THIS LIBRARY IS CURRENTLY IN EXTREMELY EARLY STAGES AND NOT VALIDATED.

A Rust port of Basilisk.

Advantages

  • Small build size
  • Fast run time
  • Fast build
  • Memory safe

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Install just:

cargo install just

If you want to use the plotting script, install Python and matplotlib:

python3 -m pip install matplotlib

Clone

git clone git@github.com:ephraim71/basilisk-rs.git
cd basilisk-rs

First-Time Setup

Run this once after cloning to download the required assets:

just fetch-assets

This step requires network access.

Build

cargo build --release --example full_satellite_stack

Run Example

Run without recorders:

SHOW_PROGRESS=1 cargo run --release --example full_satellite_stack

Run with CSV recorders enabled:

SHOW_PROGRESS=1 ENABLE_RECORDING=1 cargo run --release --example full_satellite_stack

CSV recorders are currently not optimized and are slow. More recorder options will be added later.

Recorded CSV output is written to examples/output/full_satellite_stack/.

If CSV recording is enabled, you can plot the output with:

python3 examples/plot_full_satellite_stack.py

Or point it at a specific output directory:

python3 examples/plot_full_satellite_stack.py examples/output/full_satellite_stack

Profile Simulation

SHOW_PROGRESS=1 PROFILE_SIM=1 cargo run --release --example full_satellite_stack

Scheduler Model

Modules with the same priority run in parallel. There is no Basilisk-style concept of processes or tasks in this library.

About

basilisk ported to rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors