with:
- a physical robot implementation
- a simulation implementation
- a resimulation demoing the deterministic replay
- a log export
$ cd examples/cu_rp_balancebot
$ cargo runSee the UI help for the navigation.
$ cd examples/cu_rp_balancebot
$ just bevyThis keeps the Bevy sim on the left and the live Copper monitor on the right.
$ cd examples/cu_rp_balancebot
$ just webThis serves the Bevy sim and the live Copper monitor through Trunk. The first run downloads the scene assets into assets/ so the browser can load them from the same origin.
The browser path now uses the same asset filenames as the native sim: balancebot.glb, skybox.ktx2, and diffuse_map.ktx2.
$ cd examples/cu_rp_balancebot
$ just web-distThis writes a relocatable static Trunk bundle into dist/balancebot/ with hashed asset filenames.
(you need at least a log in logs for example from a simulation run).
$ cd examples/cu_rp_balancebot
$ cargo run --no-default-features --features sim-debug --bin balancebot-resim --releaseThis replay-only build enables Copper's debug API feature set without pulling the Bevy simulator.
It will recreate the logs from only the inputs of the previous run in logs/balanceresim*.copper.
To start the replay-backed remote debug server instead of a one-shot replay:
$ cd examples/cu_rp_balancebot
$ just resim-debugYou will need to cross compile for Arm:
cargo build --target armv7-unknown-linux-musleabihf --release --no-default-featuresBe sure you save your log string index:
cp -rv ../../target/armv7-unknown-linux-musleabihf/release/cu29_log_index . # or anywhere you wantDeploy on the target:
scp ../../target/armv7-unknown-linux-musleabihf/release/balancebot copperconfig.ron copper7:copper/ # change to match your target$ cd examples/cu_rp_balancebot
$ cargo run --bin balancebot-logreader --releasejust bevy— run the split-view Bevy sim withcu_bevymon.just web— serve the split-view wasm demo with Trunk.just web-dist— build a deployable static wasm bundle intodist/balancebot/.just balancebot-dump-text-logs— extract human-readable logs fromlogs/balance.copperinto../../target/debug/cu29_log_index/strings.bin.just balancebot-fsck— integrity check oflogs/balance.copper.just balancebot-set-pwm-permissions— fix PWM sysfs permissions on the target (requires appropriate privileges).just dag-logstats— generate logstats and open an annotated DAG SVG for the currentcopperconfig.ron.