flowrs-engine/crates/flowrs-iface/Cargo.toml
flowRS fd958c0547 flowRS engine, cut from flowRS 3451b065
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 19:04:39 -05:00

40 lines
1.8 KiB
TOML

[package]
name = "flowrs-iface"
version.workspace = true
edition.workspace = true
publish.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
description = "One hashed interface model for flowRS: IDL 4.2 annotations plus units (UCUM), clock domains, named axes and fixed-point scale; the FIH01 hash; ROS 2 .msg/.srv/.action/.idl import, .msg export and RIHS01; MAVLink XML, CAN DBC and PX4 uORB import; protobuf, Arrow, MAVLink XML and DBC export, each with a loss report."
[lib]
crate-type = ["rlib"]
[dependencies]
# SHA-256 for FIH01 and RIHS01. `default-features = false` keeps the core no_std: the
# model, the canonical encoder and both hashes run on a microcontroller and in a browser.
sha2 = { version = "0.11", default-features = false }
# A read-only XML tree for MAVLink dialects (MIT OR Apache-2.0), no_std with alloc. flowRS
# reads MAVLink's XML (MIT) itself; mavgen and pymavlink are LGPLv3 and are never linked.
roxmltree = { version = "0.21", default-features = false }
# CAN DBC parsing (MIT OR Apache-2.0), behind `dbc`: it needs std. Its default features
# add serde and encoding_rs, neither of which flowRS uses (it decodes Windows-1252 itself).
can-dbc = { version = "10", default-features = false, optional = true }
# Arrow schemas, behind `arrow` (std): already the workspace's typed-wire currency.
arrow-schema = { workspace = true, optional = true }
[features]
default = []
# DBC import through can-dbc (export is always available).
dbc = ["dep:can-dbc"]
# Arrow schema export and read-back.
arrow = ["dep:arrow-schema"]
[dev-dependencies]
# `cfg(kani)` is set by `cargo kani`, never by cargo itself, so rustc does not know the
# name. Declaring it keeps the proofs in `canon::proofs` from costing every ordinary build a
# warning.
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }