Motion Master 6.0.0-alpha.111
Next-generation motion control software
Loading...
Searching...
No Matches
mm::comm::FrameSlot Class Reference

One of a fixed number of slots for a frame on the wire. Released when destroyed. More...

#include <control_plane_locks.h>

Public Member Functions

 FrameSlot (std::counting_semaphore<> &slots)
 
 ~FrameSlot ()
 
 FrameSlot (FrameSlot &&other) noexcept
 
 FrameSlot (const FrameSlot &)=delete
 
FrameSlot & operator= (const FrameSlot &)=delete
 
FrameSlot & operator= (FrameSlot &&)=delete
 

Detailed Description

One of a fixed number of slots for a frame on the wire. Released when destroyed.

SOEM has a fixed number of frame indexes (EC_MAXBUF), shared by every thread that sends a frame. When none is free, ecx_getindex hands out one that is still in use, and two frames then share it. Each holder of a slot sends one frame at a time, so the slots bound how many frames the control plane has on the wire.

Constructor & Destructor Documentation

◆ FrameSlot() [1/3]

mm::comm::FrameSlot::FrameSlot ( std::counting_semaphore<> &  slots)
explicit

◆ ~FrameSlot()

mm::comm::FrameSlot::~FrameSlot ( )

◆ FrameSlot() [2/3]

mm::comm::FrameSlot::FrameSlot ( FrameSlot &&  other)
noexcept

◆ FrameSlot() [3/3]

mm::comm::FrameSlot::FrameSlot ( const FrameSlot &  )
delete

Member Function Documentation

◆ operator=() [1/2]

FrameSlot & mm::comm::FrameSlot::operator= ( const FrameSlot &  )
delete

◆ operator=() [2/2]

FrameSlot & mm::comm::FrameSlot::operator= ( FrameSlot &&  )
delete

The documentation for this class was generated from the following files: