pub enum Phase {
Address,
Data,
}Expand description
Which half of a transaction is on the wire.
§The polarity, and a contradiction that turns out not to be one
docs/accuracy-ledger.md recorded S-1: the User’s Manual says command =
SysCmd4 0 while the wiki’s cheat sheet says 1. Reading both
carefully, they agree on every bit value and disagree only on English.
- UM §12.11.1: “During address cycles [
SysCmd4= 0] … contains a System interface command”, and “During data cycles [SysCmd4= 1]”. - The wiki table gives read/write requests bit 4 = 0 (labeled “Data req”) and data-carrying cycles bit 4 = 1 (labeled “Command”).
So a request always has bit 4 clear and a data beat always has it set, in both sources. The wiki simply uses “Command” for the cycle the manual calls a data identifier. We follow the manual’s naming, since it is the vendor spec and the rest of this crate cites it.
Variants§
Address
The address cycle: SysCmd4 = 0, carrying a command in SysCmd(3:0).
Data
The data cycle: SysCmd4 = 1, carrying a data identifier.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Phase
impl<'de> Deserialize<'de> for Phase
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Phase
impl Eq for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more