(
missions: [(id: "Alpha"), (id: "Beta")],
resources: [
(
id: "board",
provider: "demo::BoardBundle",
),
(
id: "memory",
provider: "demo::MemoryBundle",
),
(
id: "radio",
provider: "demo::RadioBundle",
missions: ["Beta"],
),
(
id: "unused",
provider: "demo::UnusedBundle",
),
],
tasks: [
(
id: "sensor",
type: "tasks::Sensor",
missions: ["Alpha", "Beta"],
resources: {
"spi": "board.spi1",
"adc": "board.adc1",
},
),
(
id: "control",
type: "tasks::Control",
missions: ["Alpha"],
resources: {"spi": "board.spi1"},
),
(
id: "logger",
type: "tasks::Logger",
missions: ["Beta"],
resources: {"cfg": "memory.cfg"},
),
],
bridges: [
(
id: "telemetry",
type: "bridges::Telemetry",
missions: ["Beta"],
resources: {"serial": "radio.uart1"},
channels: [Tx(id: "tx"), Rx(id: "rx")],
),
],
cnx: [
(
src: "sensor",
dst: "control",
msg: "messages::Sensor",
missions: ["Alpha"],
),
(
src: "sensor",
dst: "logger",
msg: "messages::Sensor",
missions: ["Beta"],
),
(
src: "logger",
dst: "telemetry/tx",
msg: "messages::Log",
missions: ["Beta"],
),
],
)