Trait Opcode

Source
pub trait Opcode: Debug + Display {
    // Required methods
    fn request_opcode(&self) -> u8;
    fn response_opcode(&self) -> Option<u8>;
    fn serialise(&self, buf: &mut [u8]) -> Result<usize>;
    fn disasm(bin: &[u8], pc: &mut usize) -> Result<Self>
       where Self: Sized;

    // Provided methods
    fn branch_target(&self) -> Option<u8> { ... }
    fn is_unconditional_branch(&self) -> bool { ... }
}

Required Methods§

Source

fn request_opcode(&self) -> u8

Source

fn response_opcode(&self) -> Option<u8>

Source

fn serialise(&self, buf: &mut [u8]) -> Result<usize>

Source

fn disasm(bin: &[u8], pc: &mut usize) -> Result<Self>
where Self: Sized,

Provided Methods§

Implementors§

Source§

impl Opcode for Opcodes

Source§

impl Opcode for AbsoluteValue

Source§

impl Opcode for AddToVariable

Source§

impl Opcode for Alive

Source§

impl Opcode for AndVariable

Source§

impl Opcode for BranchAlwaysFar

Source§

impl Opcode for BranchAlwaysNear

Source§

impl Opcode for CallSubroutine

Source§

impl Opcode for ClearMessage

Source§

impl Opcode for ClearSensorValue

Source§

impl Opcode for ClearTimer

Source§

impl Opcode for DatalogNext

Source§

impl Opcode for DecrementLoopCounterFar

Source§

impl Opcode for DecrementLoopCounterNear

Source§

impl Opcode for DeleteAllSubroutines

Source§

impl Opcode for DeleteAllTasks

Source§

impl Opcode for DeleteFirmware

Source§

impl Opcode for DeleteSubroutine

Source§

impl Opcode for DeleteTask

Source§

impl Opcode for DivideVariable

Source§

impl Opcode for GetBatteryPower

Source§

impl Opcode for GetMemoryMap

Source§

impl Opcode for GetValue

Source§

impl Opcode for GetVersions

Source§

impl Opcode for MultiplyVariable

Source§

impl Opcode for OrVariable

Source§

impl Opcode for PlaySound

Source§

impl Opcode for PlayTone

Source§

impl Opcode for PlayToneVar

Source§

impl Opcode for PowerOff

Source§

impl Opcode for ReturnFromSubroutine

Source§

impl Opcode for SendMessage

Source§

impl Opcode for SetDatalogSize

Source§

impl Opcode for SetDisplay

Source§

impl Opcode for SetLoopCounter

Source§

impl Opcode for SetMessage

Source§

impl Opcode for SetMotorDirection

Source§

impl Opcode for SetMotorOnOff

Source§

impl Opcode for SetMotorPower

Source§

impl Opcode for SetPowerDownDelay

Source§

impl Opcode for SetProgramNumber

Source§

impl Opcode for SetSensorMode

Source§

impl Opcode for SetSensorType

Source§

impl Opcode for SetTime

Source§

impl Opcode for SetTransmitterRange

Source§

impl Opcode for SetVariable

Source§

impl Opcode for SignVariable

Source§

impl Opcode for StartFirmwareDownload

Source§

impl Opcode for StartSubroutineDownload

Source§

impl Opcode for StartTask

Source§

impl Opcode for StartTaskDownload

Source§

impl Opcode for StopAllTasks

Source§

impl Opcode for StopTask

Source§

impl Opcode for SubtractFromVariable

Source§

impl Opcode for TestAndBranchFar

Source§

impl Opcode for TestAndBranchNear

Source§

impl Opcode for TransferData

Source§

impl Opcode for UnlockFirmware

Source§

impl Opcode for UploadDatalog

Source§

impl Opcode for Wait