forked from M-Labs/artiq-zynq
proto fw: update csr
This commit is contained in:
parent
abcfd37487
commit
ab3620bac4
@ -144,7 +144,7 @@ pub enum NameSpace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum DownConnPacket {
|
pub enum RXPacket {
|
||||||
CtrlReply {
|
CtrlReply {
|
||||||
tag: Option<u8>,
|
tag: Option<u8>,
|
||||||
length: u32,
|
length: u32,
|
||||||
@ -169,12 +169,12 @@ pub enum DownConnPacket {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DownConnPacket {
|
impl RXPacket {
|
||||||
pub fn read_from(reader: &mut Cursor<&mut [u8]>, packet_type: u8) -> Result<Self, Error> {
|
pub fn read_from(reader: &mut Cursor<&mut [u8]>, packet_type: u8) -> Result<Self, Error> {
|
||||||
match packet_type {
|
match packet_type {
|
||||||
0x03 => DownConnPacket::get_ctrl_packet(reader, false),
|
0x03 => RXPacket::get_ctrl_packet(reader, false),
|
||||||
0x06 => DownConnPacket::get_ctrl_packet(reader, true),
|
0x06 => RXPacket::get_ctrl_packet(reader, true),
|
||||||
0x07 => DownConnPacket::get_event_packet(reader),
|
0x07 => RXPacket::get_event_packet(reader),
|
||||||
_ => Err(Error::UnknownPacket(packet_type)),
|
_ => Err(Error::UnknownPacket(packet_type)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -199,15 +199,15 @@ impl DownConnPacket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ackcode == 0x00 {
|
if ackcode == 0x00 {
|
||||||
return Ok(DownConnPacket::CtrlReply { tag, length, data });
|
return Ok(RXPacket::CtrlReply { tag, length, data });
|
||||||
} else {
|
} else {
|
||||||
return Ok(DownConnPacket::CtrlDelay {
|
return Ok(RXPacket::CtrlDelay {
|
||||||
tag,
|
tag,
|
||||||
time: NetworkEndian::read_u32(&data[..4]),
|
time: NetworkEndian::read_u32(&data[..4]),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
0x01 => return Ok(DownConnPacket::CtrlAck { tag }),
|
0x01 => return Ok(RXPacket::CtrlAck { tag }),
|
||||||
_ => return Err(Error::CtrlAckError(ackcode)),
|
_ => return Err(Error::CtrlAckError(ackcode)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ impl DownConnPacket {
|
|||||||
return Err(Error::CorruptedPacket);
|
return Err(Error::CorruptedPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(DownConnPacket::Event {
|
Ok(RXPacket::Event {
|
||||||
conn_id,
|
conn_id,
|
||||||
packet_tag,
|
packet_tag,
|
||||||
length,
|
length,
|
||||||
@ -305,7 +305,7 @@ impl<Cursor: Write> CxpWrite for Cursor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum UpConnPacket {
|
pub enum TXPacket {
|
||||||
CtrlRead {
|
CtrlRead {
|
||||||
tag: Option<u8>,
|
tag: Option<u8>,
|
||||||
addr: u32,
|
addr: u32,
|
||||||
@ -322,10 +322,10 @@ pub enum UpConnPacket {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
impl UpConnPacket {
|
impl TXPacket {
|
||||||
pub fn write_to(&self, writer: &mut Cursor<&mut [u8]>) -> Result<(), Error> {
|
pub fn write_to(&self, writer: &mut Cursor<&mut [u8]>) -> Result<(), Error> {
|
||||||
match *self {
|
match *self {
|
||||||
UpConnPacket::CtrlRead { tag, addr, length } => {
|
TXPacket::CtrlRead { tag, addr, length } => {
|
||||||
match tag {
|
match tag {
|
||||||
Some(t) => {
|
Some(t) => {
|
||||||
writer.write_4x_u8(0x05)?;
|
writer.write_4x_u8(0x05)?;
|
||||||
@ -347,7 +347,7 @@ impl UpConnPacket {
|
|||||||
let checksum = get_cxp_crc(&writer.get_ref()[4..writer.position()]);
|
let checksum = get_cxp_crc(&writer.get_ref()[4..writer.position()]);
|
||||||
writer.write_u32(checksum)?;
|
writer.write_u32(checksum)?;
|
||||||
}
|
}
|
||||||
UpConnPacket::CtrlWrite {
|
TXPacket::CtrlWrite {
|
||||||
tag,
|
tag,
|
||||||
addr,
|
addr,
|
||||||
length,
|
length,
|
||||||
@ -375,7 +375,7 @@ impl UpConnPacket {
|
|||||||
let checksum = get_cxp_crc(&writer.get_ref()[4..writer.position()]);
|
let checksum = get_cxp_crc(&writer.get_ref()[4..writer.position()]);
|
||||||
writer.write_u32(checksum)?;
|
writer.write_u32(checksum)?;
|
||||||
}
|
}
|
||||||
UpConnPacket::EventAck { packet_tag } => {
|
TXPacket::EventAck { packet_tag } => {
|
||||||
writer.write_4x_u8(0x08)?;
|
writer.write_4x_u8(0x08)?;
|
||||||
writer.write_4x_u8(packet_tag)?;
|
writer.write_4x_u8(packet_tag)?;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user