DataReceiver Device Class
pyrogue.DataReceiver is a device/stream-slave hybrid used to accept
incoming frames and expose them through PyRogue variables.
Core behavior:
counts frames, bytes, and frame errors
stores latest payload in
Datatoggles
Updatedwhen new data arrivessupports
RxEnablegating
Override pyrogue.DataReceiver.process() to customize payload parsing.
Example
import numpy as np
import pyrogue as pr
class HeaderPayloadRx(pr.DataReceiver):
def process(self, frame):
# Example: first 4 bytes header, remaining payload
data = frame.getNumpy()
header = int.from_bytes(bytearray(data[:4]), byteorder='little', signed=False)
payload = np.array(data[4:], dtype=np.uint8)
# Store payload in Data and mark update
self.Data.set(payload, write=True)
self.Updated.set(True, write=True)
# Optional: project-specific handling using parsed header
_ = header
DataReceiver Class Documentation
See DataReceiver for generated API details.