use super::{tcat::tcd22xx_spec::*, *};
#[derive(Default)]
pub struct SPro26Protocol;
impl Tcd22xxSpecOperation for SPro26Protocol {
const INPUTS: &'static [Input] = &[
Input {
id: SrcBlkId::Ins0,
offset: 0,
count: 6,
label: None,
},
Input {
id: SrcBlkId::Aes,
offset: 4,
count: 2,
label: Some("S/PDIF-coax"),
},
Input {
id: SrcBlkId::Adat,
offset: 0,
count: 8,
label: None,
},
Input {
id: SrcBlkId::Aes,
offset: 6,
count: 2,
label: Some("S/PDIF-opt"),
},
];
const OUTPUTS: &'static [Output] = &[
Output {
id: DstBlkId::Ins0,
offset: 0,
count: 6,
label: None,
},
Output {
id: DstBlkId::Aes,
offset: 4,
count: 2,
label: Some("S/PDIF-coax"),
},
Output {
id: DstBlkId::Adat,
offset: 0,
count: 8,
label: None,
},
];
const FIXED: &'static [SrcBlk] = &[
SrcBlk {
id: SrcBlkId::Ins0,
ch: 0,
},
SrcBlk {
id: SrcBlkId::Ins0,
ch: 1,
},
SrcBlk {
id: SrcBlkId::Ins0,
ch: 2,
},
SrcBlk {
id: SrcBlkId::Ins0,
ch: 3,
},
SrcBlk {
id: SrcBlkId::Ins0,
ch: 4,
},
SrcBlk {
id: SrcBlkId::Ins0,
ch: 5,
},
];
}
impl SaffireproSwNoticeOperation for SPro26Protocol {
const SW_NOTICE_OFFSET: usize = 0x000c;
}
const SRC_SW_NOTICE: u32 = 0x00000001;
const DIM_MUTE_SW_NOTICE: u32 = 0x00000002;
impl SaffireproOutGroupOperation for SPro26Protocol {
const ENTRY_COUNT: usize = 6;
const HAS_VOL_HWCTL: bool = false;
const OUT_CTL_OFFSET: usize = 0x0010;
const SRC_NOTICE: u32 = SRC_SW_NOTICE;
const DIM_MUTE_NOTICE: u32 = DIM_MUTE_SW_NOTICE;
}