use std::collections::HashMap;
pub const GENERATED_BANNER: &str = concat!(
"Generated by Synapse ",
env!("CARGO_PKG_VERSION"),
". Do not edit directly."
);
pub const PREAMBLE: &str = concat!(
"/* Generated by Synapse ",
env!("CARGO_PKG_VERSION"),
". Do not edit directly. */\n\
#pragma once
#include \"cfe.h\"
"
);
pub type ResolvedConstants = HashMap<Vec<String>, u64>;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MsgIdLayout {
CcsdsV1,
Opaque,
}
impl Default for MsgIdLayout {
fn default() -> Self {
Self::CcsdsV1
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct CfsOptions {
pub msgid_layout: MsgIdLayout,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum CfsPacketKind {
Command,
Telemetry,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct CfsPacket {
pub namespace: Vec<String>,
pub name: String,
pub kind: CfsPacketKind,
pub mid: u64,
pub cc: Option<u64>,
}
pub struct RustOptions<'a> {
pub cfs_module: &'a str,
pub tlm_header: &'a str,
pub cmd_header: &'a str,
}
impl Default for RustOptions<'_> {
fn default() -> Self {
RustOptions {
cfs_module: "cfs_sys",
tlm_header: "CFE_MSG_TelemetryHeader_t",
cmd_header: "CFE_MSG_CommandHeader_t",
}
}
}