use bitfield_struct::bitfield;
#[bitfield(u8, order = Msb)]
pub struct SdoDownloadInitiateCmd {
#[bits(3)]
ccs: u8,
#[bits(1)]
_reserved_0: u8,
#[bits(2)]
pub n: u8,
#[bits(1)]
pub e: bool,
#[bits(1)]
pub s: bool,
}
#[bitfield(u8, order = Msb)]
pub struct SdoDownloadSegmentCmd {
#[bits(3)]
pub ccs: u8,
#[bits(1)]
pub t: u8,
#[bits(3)]
pub n: u8,
#[bits(1)]
pub c: bool,
}
#[bitfield(u8, order = Msb)]
pub struct SdoBlockDownloadInitiateCmd {
#[bits(3)]
pub ccs: u8,
#[bits(2)]
_reserved_0: u8,
#[bits(1)]
pub cc: bool,
#[bits(1)]
pub s: bool,
#[bits(1)]
cs: bool,
}
#[bitfield(u8, order = Msb)]
pub struct SdoEndBlockDownloadCmd {
#[bits(3)]
pub ccs: u8,
#[bits(3)]
pub n: u8,
#[bits(1)]
_reserved_0: bool,
#[bits(1)]
pub cs: bool,
}
#[bitfield(u8, order = Msb)]
pub struct SdoInitBlockUploadCmd {
#[bits(3)]
pub ccs: u8,
#[bits(2)]
_reserved: u8,
#[bits(1)]
pub cc: bool,
#[bits(2)]
pub cs: u8,
}
#[bitfield(u8, order = Msb)]
pub struct SdoBlockUploadCmd {
#[bits(3)]
pub ccs: u8,
#[bits(3)]
_reserved: u8,
#[bits(2)]
pub cs: u8,
}