de_twin.transport.shm.FrameProducer#

class de_twin.transport.shm.FrameProducer(name='DE_ExternalFrames', timeout=0.0)[source]#

Bases: _Mapping

The twin’s end: open DE-Server’s mapping and publish frames into it.

Parameters:
__init__(name='DE_ExternalFrames', timeout=0.0)[source]#
Parameters:

Methods

__init__([name, timeout])

acquiring()

close()

free_slots()

payload(n)

poll_request([timeout])

A new acquisition request as (request_id, AcquisitionRequest), or None.

publish(frame, *, request_id, frame_index[, ...])

Write frame into the next slot.

request_changed(request_id)

slot(n)

wait_slot_free(timeout)

Attributes

property max_frame_bytes: int#
acquiring()[source]#
Return type:

bool

poll_request(timeout=0.0)[source]#

A new acquisition request as (request_id, AcquisitionRequest), or None.

Parameters:

timeout (float)

Return type:

tuple[int, AcquisitionRequest] | None

request_changed(request_id)[source]#
Parameters:

request_id (int)

Return type:

bool

free_slots()[source]#
Return type:

int

wait_slot_free(timeout)[source]#
Parameters:

timeout (float)

Return type:

bool

publish(frame, *, request_id, frame_index, flags=0)[source]#

Write frame into the next slot. Call wait_slot_free() first.

Parameters:
Return type:

int