Crates.io | starlight-comet |
lib.rs | starlight-comet |
version | 1.0.3 |
source | src |
created_at | 2024-08-13 15:23:26.513675 |
updated_at | 2024-09-15 14:56:28.441334 |
description | Comet is a debugging tool made for the Starlight Operating System |
homepage | |
repository | https://github.com/StarlightConsole/Comet |
max_upload_size | |
id | 1336171 |
size | 41,613 |
☄️ Comet
A debugging tool made for the Starlight Operating System
Cargo ↗
Installing and/or updating Comet conveniently is made possible with Cargo, Rust's Package Manager (which you probably have if you're lurking in Starlight's repositories ;)
cargo install starlight-comet
🐛 Starlight Serial Output Debugging
Simply run Comet, sit back, relax, and grab those pesky bugs!
🚀 Starship Integration
Comet integrates with 🚀 Starship ↗
, enabling 🌟 Starlight ↗
developers to upload new Starlight builds via UART. Note that you need a Starship build flashed to your BOOT partition for the integration to work.
⏳ Starship Emulation with QEMU
Comet supports running QEMU ↗
in a subprocess, piping the Serial STDIO to Comet's Starship Integration to keep debugging work light, even for Starship development.
comet debug
Opens a serial connection to
<PORT>
, sending data toSTDOUT
.Device type prefixes and info messages are sent to
STDERR
for interopability. These are fully removed with--quiet
.
Usage: comet debug [OPTIONS] --port <PORT>
Options:
-p, --port <PORT>
-q, --quiet
comet upload
Opens a serial connection to
<PORT>
, sending data toSTDOUT
.When a Comet Binary Request command is read (sent from the device by
🚀 Starship ↗
), Comet will send the contents of<FILE>
back to Starship for loading and execution.Device type prefixes and info messages are sent to
STDERR
for interopability. These are fully removed with--quiet
.
Usage: comet upload [OPTIONS] --port <PORT> --file <FILE>
Options:
-p, --port <PORT>
-f, --file <FILE>
-q, --quiet
comet test
Launches a QEMU process (use
--qemu-bin
to specify a custom QEMU executable) with the specified args (--qemu-args
) and creates a virtual serial connection which maps to the QEMU process'sSTDIN
andSTDOUT
. From Comet's perspective, this is a serial connection like any other. QEMU'sSTDERR
inherits Comet'sSTDERR
and does not respect the--quiet
option.If
--upload-file
is set, Comet waits for a Comet Binary Request command (sent from QEMU by🚀 Starship ↗
) and will send the contents of<FILE>
back to Starship for loading and execution.Device type prefixes and info messages are sent to
STDERR
for interopability. These are fully removed with--quiet
.
Usage: comet test [OPTIONS] --qemu-args <QEMU_ARGS>
Options:
-a, --qemu-args <QEMU_ARGS>
-b, --qemu-bin <QEMU_BIN> [default: qemu-system-aarch64]
-u, --upload-file <UPLOAD_FILE>
-q, --quiet
Comet and related projects are designed and developed by @yolocat-dev ↗
, though contributions are always welcome!
Comet is, as our other repositories, licensed under the Apache License 2.0. Feel free to read the actual legal stuff in the LICENSE ↗
file.