279 lines
7.7 KiB
TOML
279 lines
7.7 KiB
TOML
# Machine-readable dependency and layer policy.
|
|
policy_version = 1
|
|
|
|
[layers]
|
|
"contract/can" = 0
|
|
"contract/imu" = 0
|
|
"protocol/imu" = 1
|
|
"protocol/motor" = 1
|
|
"protocol/remote" = 1
|
|
"transport/can" = 2
|
|
"transport/serial" = 2
|
|
"device/imu" = 3
|
|
"device/motor" = 3
|
|
"device/remote" = 3
|
|
"control/algorithm" = 4
|
|
"control/chassis" = 4
|
|
"device/esc" = 4
|
|
"experiment/trace" = 5
|
|
"control/motor" = 6
|
|
"model/motor" = 7
|
|
"simulation/motor" = 8
|
|
"tooling/tuning" = 9
|
|
"config/chassis" = 10
|
|
"application/bench" = 11
|
|
"application/daemon" = 12
|
|
"application/tools" = 13
|
|
"application/tuning" = 13
|
|
"verification/integration" = 14
|
|
|
|
[forbidden.normal]
|
|
esc_bus = ["motor-control", "pid"]
|
|
bench = ["tuning"]
|
|
sim_harness = ["tuning"]
|
|
|
|
[trait_boundaries]
|
|
protocol_motor = ["MotorProtocol", "EffortScale", "FeedbackFields"]
|
|
device_motor = ["MotorSpec", "MotorFeedback", "EffortDrive", "VelocityDrive", "PositionDrive", "Disable"]
|
|
model_motor = ["MotorPlant", "DcModelSpec", "VoltageModelSpec"]
|
|
esc_bus_forbidden_symbols = ["MotorKind", "EscModel"]
|
|
|
|
[packages."bench"]
|
|
path = "crates/application/bench"
|
|
layer = "application/bench"
|
|
rank = 11
|
|
normal = ["can", "esc-bus", "experiment", "motor", "motor-control", "slcan", "socketcan"]
|
|
dev = []
|
|
external = ["anyhow", "thiserror", "tokio", "tracing"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."can"]
|
|
path = "crates/contract/can"
|
|
layer = "contract/can"
|
|
rank = 0
|
|
normal = []
|
|
dev = []
|
|
external = ["tokio"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."chassis-config"]
|
|
path = "crates/config/chassis"
|
|
layer = "config/chassis"
|
|
rank = 10
|
|
normal = ["esc-bus", "mecanum", "motor", "motor-control", "motor-protocol"]
|
|
dev = []
|
|
external = ["serde", "thiserror", "toml"]
|
|
dev_external = ["approx"]
|
|
|
|
[packages."chassis-tune"]
|
|
path = "crates/application/tuning"
|
|
layer = "application/tuning"
|
|
rank = 13
|
|
normal = ["bench", "can", "chassis-config", "esc-bus", "experiment", "motor", "motor-control", "motor-model", "motor-protocol", "sim-harness", "slcan", "socketcan", "tuning"]
|
|
dev = []
|
|
external = ["anyhow", "argmin", "argmin-math", "clap", "csv", "indicatif", "plotters", "rand", "rayon", "serde", "serde_json", "thiserror", "tokio", "toml", "tracing", "tracing-subscriber"]
|
|
dev_external = ["approx"]
|
|
|
|
[packages."chassisd"]
|
|
path = "crates/application/daemon"
|
|
layer = "application/daemon"
|
|
rank = 12
|
|
normal = ["can", "chassis-config", "dr16", "dr16-protocol", "esc-bus", "mecanum", "motor", "motor-control", "sim-harness", "socketcan"]
|
|
dev = []
|
|
external = ["clap", "tokio", "tracing", "tracing-subscriber"]
|
|
dev_external = ["approx", "tokio"]
|
|
|
|
[packages."delta10"]
|
|
path = "crates/device/imu"
|
|
layer = "device/imu"
|
|
rank = 3
|
|
normal = ["can", "delta10-protocol", "imu"]
|
|
dev = []
|
|
external = ["thiserror", "tokio"]
|
|
dev_external = []
|
|
|
|
[packages."delta10-protocol"]
|
|
path = "crates/protocol/imu"
|
|
layer = "protocol/imu"
|
|
rank = 1
|
|
normal = ["can", "imu"]
|
|
dev = []
|
|
external = ["thiserror"]
|
|
dev_external = ["approx"]
|
|
|
|
[packages."dr16"]
|
|
path = "crates/device/remote"
|
|
layer = "device/remote"
|
|
rank = 3
|
|
normal = ["dr16-protocol"]
|
|
dev = []
|
|
external = ["serial", "tokio", "tracing"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."dr16-protocol"]
|
|
path = "crates/protocol/remote"
|
|
layer = "protocol/remote"
|
|
rank = 1
|
|
normal = []
|
|
dev = []
|
|
external = ["thiserror"]
|
|
dev_external = ["proptest"]
|
|
|
|
[packages."esc-bus"]
|
|
path = "crates/device/esc"
|
|
layer = "device/esc"
|
|
rank = 4
|
|
normal = ["can", "motor", "motor-protocol"]
|
|
dev = []
|
|
external = ["thiserror", "tokio", "tracing"]
|
|
dev_external = ["approx", "tokio"]
|
|
|
|
[packages."experiment"]
|
|
path = "crates/experiment/trace"
|
|
layer = "experiment/trace"
|
|
rank = 5
|
|
normal = []
|
|
dev = []
|
|
external = []
|
|
dev_external = ["approx"]
|
|
|
|
[packages."imu"]
|
|
path = "crates/contract/imu"
|
|
layer = "contract/imu"
|
|
rank = 0
|
|
normal = []
|
|
dev = []
|
|
external = []
|
|
dev_external = []
|
|
|
|
[packages."integration-tests"]
|
|
path = "crates/verification/integration"
|
|
layer = "verification/integration"
|
|
rank = 14
|
|
normal = ["can", "esc-bus", "experiment", "motor", "motor-control", "motor-model", "motor-protocol", "sim-harness", "socketcan"]
|
|
dev = []
|
|
external = ["tokio"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."mecanum"]
|
|
path = "crates/control/chassis"
|
|
layer = "control/chassis"
|
|
rank = 4
|
|
normal = []
|
|
dev = []
|
|
external = []
|
|
dev_external = ["approx", "proptest"]
|
|
|
|
[packages."motor"]
|
|
path = "crates/device/motor"
|
|
layer = "device/motor"
|
|
rank = 3
|
|
normal = ["can", "motor-protocol"]
|
|
dev = []
|
|
external = ["thiserror"]
|
|
dev_external = ["approx"]
|
|
|
|
[packages."motor-control"]
|
|
path = "crates/control/motor"
|
|
layer = "control/motor"
|
|
rank = 6
|
|
normal = ["motor", "pid"]
|
|
dev = []
|
|
external = []
|
|
dev_external = ["approx"]
|
|
|
|
[packages."motor-model"]
|
|
path = "crates/model/motor"
|
|
layer = "model/motor"
|
|
rank = 7
|
|
normal = ["motor-protocol"]
|
|
dev = []
|
|
external = []
|
|
dev_external = ["approx"]
|
|
|
|
[packages."motor-protocol"]
|
|
path = "crates/protocol/motor"
|
|
layer = "protocol/motor"
|
|
rank = 1
|
|
normal = ["can"]
|
|
dev = []
|
|
external = ["thiserror"]
|
|
dev_external = ["approx", "proptest"]
|
|
|
|
[packages."pid"]
|
|
path = "crates/control/algorithm"
|
|
layer = "control/algorithm"
|
|
rank = 4
|
|
normal = []
|
|
dev = []
|
|
external = []
|
|
dev_external = ["approx"]
|
|
|
|
[packages."sim-harness"]
|
|
path = "crates/simulation/motor"
|
|
layer = "simulation/motor"
|
|
rank = 8
|
|
normal = ["can", "experiment", "motor", "motor-control", "motor-model", "motor-protocol"]
|
|
dev = []
|
|
external = ["rand", "thiserror", "tokio", "tracing"]
|
|
dev_external = ["approx", "tokio"]
|
|
|
|
[packages."slcan"]
|
|
path = "crates/transport/serial"
|
|
layer = "transport/serial"
|
|
rank = 2
|
|
normal = ["can"]
|
|
dev = []
|
|
external = ["serial", "slcan", "thiserror", "tokio", "tracing"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."socketcan"]
|
|
path = "crates/transport/can"
|
|
layer = "transport/can"
|
|
rank = 2
|
|
normal = ["can"]
|
|
dev = []
|
|
external = ["socketcan", "thiserror", "tokio", "tracing"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."spin"]
|
|
path = "crates/application/tools"
|
|
layer = "application/tools"
|
|
rank = 13
|
|
normal = ["bench", "dr16", "dr16-protocol", "esc-bus", "experiment", "mecanum", "motor", "motor-control", "slcan", "socketcan"]
|
|
dev = []
|
|
external = ["clap", "tokio", "tracing", "tracing-subscriber"]
|
|
dev_external = ["tokio"]
|
|
|
|
[packages."tuning"]
|
|
path = "crates/tooling/tuning"
|
|
layer = "tooling/tuning"
|
|
rank = 9
|
|
normal = ["experiment", "motor-control", "motor-model", "motor-protocol", "pid", "sim-harness"]
|
|
dev = []
|
|
external = ["argmin", "argmin-math", "indicatif", "rand", "rayon", "serde", "thiserror", "toml", "tracing"]
|
|
dev_external = ["approx", "proptest"]
|
|
|
|
[external_roles]
|
|
tokio = ["contract", "transport", "device", "simulation", "tooling", "application", "verification"]
|
|
socketcan = ["transport", "device", "application", "verification"]
|
|
slcan = ["transport", "device", "application", "verification"]
|
|
serial = ["transport", "device", "application", "verification"]
|
|
thiserror = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"]
|
|
tracing = ["transport", "device", "simulation", "tooling", "application", "verification"]
|
|
tracing-subscriber = ["application", "verification"]
|
|
serde = ["config", "tooling", "application", "verification"]
|
|
toml = ["config", "tooling", "application", "verification"]
|
|
clap = ["application", "verification"]
|
|
argmin = ["tooling", "application", "verification"]
|
|
argmin-math = ["tooling", "application", "verification"]
|
|
rand = ["simulation", "tooling", "application", "verification"]
|
|
rayon = ["tooling", "application", "verification"]
|
|
csv = ["tooling", "application", "verification"]
|
|
serde_json = ["tooling", "application", "verification"]
|
|
indicatif = ["tooling", "application", "verification"]
|
|
plotters = ["tooling", "application", "verification"]
|
|
anyhow = ["tooling", "application", "verification"]
|
|
approx = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"]
|
|
proptest = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"]
|