This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/vendor/semihosting/Cargo.toml
T
swaitsandClaude Opus 4.6 3102fc747a feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support:
- Splash screen on boot (1.5s) with project name, version, board
- Dashboard showing radio state, config, counters, RSSI/SNR
- RSSI history sparkline (64-sample ring buffer, 2px-wide bars)
- DisplayOn/DisplayOff host commands routed via dedicated channel
- Pure render functions against generic DrawTarget (no hardware coupling)
- Display on/off control bypasses radio task entirely

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:42:54 -06:00

222 lines
4.1 KiB
TOML

# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.
[package]
edition = "2021"
rust-version = "1.64"
name = "semihosting"
version = "0.1.25"
build = "build.rs"
exclude = [
"/.*",
"/tools",
"/target-specs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Semihosting for AArch64, Arm, RISC-V, LoongArch, MIPS32, MIPS64, and Xtensa.
"""
readme = "README.md"
keywords = ["qemu"]
categories = [
"embedded",
"hardware-support",
"no-std",
"no-std::no-alloc",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/taiki-e/semihosting"
[package.metadata.docs.rs]
features = [
"alloc",
"stdio",
"fs",
"args",
"time",
"random",
"panic-unwind",
]
targets = ["aarch64-unknown-linux-gnu"]
[package.metadata.cargo_check_external_types]
allowed_external_types = []
[features]
alloc = []
args = []
backtrace = [
"stdio",
"unwinding",
"unwinding/hide-trace",
]
fs = []
openocd-semihosting = []
panic-handler = []
panic-unwind = [
"alloc",
"panic-handler",
"unwinding",
"unwinding/fde-static",
"unwinding/panic",
"unwinding/personality",
]
portable-atomic = ["dep:portable-atomic"]
random = ["fs"]
stdio = []
time = []
trap-hlt = []
[lib]
name = "semihosting"
path = "src/lib.rs"
doc-scrape-examples = false
[dependencies.portable-atomic]
version = "1.3"
features = ["require-cas"]
optional = true
default-features = false
[dependencies.unwinding]
version = "0.2"
features = ["unwinder"]
optional = true
default-features = false
[dev-dependencies]
[lints.clippy]
all = "warn"
as_ptr_cast_mut = "warn"
as_underscore = "warn"
default_union_representation = "warn"
inline_asm_x86_att_syntax = "warn"
pedantic = "warn"
trailing_empty_array = "warn"
transmute_undefined_repr = "warn"
undocumented_unsafe_blocks = "warn"
unused_trait_names = "warn"
[lints.clippy.bool_assert_comparison]
level = "allow"
priority = 1
[lints.clippy.borrow_as_ptr]
level = "allow"
priority = 1
[lints.clippy.cast_lossless]
level = "allow"
priority = 1
[lints.clippy.collapsible_match]
level = "allow"
priority = 1
[lints.clippy.declare_interior_mutable_const]
level = "allow"
priority = 1
[lints.clippy.doc_markdown]
level = "allow"
priority = 1
[lints.clippy.float_cmp]
level = "allow"
priority = 1
[lints.clippy.incompatible_msrv]
level = "allow"
priority = 1
[lints.clippy.manual_assert]
level = "allow"
priority = 1
[lints.clippy.manual_range_contains]
level = "allow"
priority = 1
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1
[lints.clippy.module_name_repetitions]
level = "allow"
priority = 1
[lints.clippy.naive_bytecount]
level = "allow"
priority = 1
[lints.clippy.nonminimal_bool]
level = "allow"
priority = 1
[lints.clippy.range_plus_one]
level = "allow"
priority = 1
[lints.clippy.similar_names]
level = "allow"
priority = 1
[lints.clippy.single_match]
level = "allow"
priority = 1
[lints.clippy.single_match_else]
level = "allow"
priority = 1
[lints.clippy.struct_excessive_bools]
level = "allow"
priority = 1
[lints.clippy.struct_field_names]
level = "allow"
priority = 1
[lints.clippy.too_many_arguments]
level = "allow"
priority = 1
[lints.clippy.too_many_lines]
level = "allow"
priority = 1
[lints.clippy.type_complexity]
level = "allow"
priority = 1
[lints.rust]
deprecated_safe = "warn"
improper_ctypes = "warn"
improper_ctypes_definitions = "warn"
non_ascii_idents = "warn"
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
'cfg(target_arch,values("xtensa"))',
'cfg(target_arch,values("loongarch32"))',
]