Base Framework
Public Member Functions | List of all members
DummyIEEE1394 Class Reference

Dummy IEEE 1394 implementation. More...

#include <base/communication/DummyIEEE1394.h>

Inherits IEEE1394Impl.

Public Member Functions

 DummyIEEE1394 ()
 
bool hasBeenReset () const noexcept
 
void acknowledgeReset () noexcept
 
void resetBus ()
 
Array< EUI64getAdapters ()
 
void open ()
 
void open (const EUI64 &adapter)
 
void close ()
 
unsigned int getLocalId () const
 
unsigned int getNumberOfNodes () const
 
unsigned int getStatus () const
 
unsigned int getFIFOSize () const
 
void read (unsigned short node, uint64 address, uint8 *buffer, unsigned int size)
 
void write (unsigned short node, uint64 address, const uint8 *buffer, unsigned int size)
 
unsigned int read (unsigned short node, uint64 address, uint32 *buffer, unsigned int size, uint32 value)
 
IsochronousReadChannel getReadChannel (unsigned int maxPacketsPerRequest, uint64 subchannels)
 
IsochronousWriteChannel getWriteChannel (unsigned int maxPacketsPerRequest, uint64 subchannels)
 
void readIsochronous (unsigned int channel, unsigned int maximumPayload, IsochronousChannelListener *listener)
 
bool wait (unsigned int milliseconds)
 
void dequeue ()
 
void registerFCPListener (FunctionControlProtocolListener *listener)
 
void unregisterFCPListener ()
 
- Public Member Functions inherited from IEEE1394Impl
virtual ~IEEE1394Impl ()
 
- Public Member Functions inherited from ReferenceCountedObject
 ReferenceCountedObject () noexcept
 
 ReferenceCountedObject (const ReferenceCountedObject &copy) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&move) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &copy) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&move) noexcept
 
MemorySize getNumberOfReferences_INTERNAL () const noexcept
 
virtual bool useGarbageCollector () const noexcept
 
- Public Member Functions inherited from DynamicObject
 DynamicObject () noexcept
 
bool isValidObject () const noexcept
 
virtual ~DynamicObject () noexcept(false)
 
 _COM_AZURE_DEV__BASE__OVERRIDE_ALLOC ()
 

Additional Inherited Members

- Public Types inherited from IEEE1394Common
enum  Standard { STANDARD_UNSPECIFIED, STANDARD_IEEE_1394, STANDARD_IEEE_1394A, STANDARD_IEEE_1394B }
 
enum  IsochronousRequestType {
  NOT_A_REQUEST, READ_PACKETS_REQUEST, READ_FIXED_PACKETS_REQUEST, READ_FIXED_DATA_REQUEST,
  WRITE_PACKETS_REQUEST, WRITE_FIXED_PACKETS_REQUEST, WRITE_DATA_REQUEST
}
 
enum  IsochronousRequestStatus {
  READY, PENDING, ERROR, TIMEDOUT,
  COMPLETED
}
 
enum  Status {
  STATUS_OK, STATUS_INCOMPATIBLE, STATUS_INTERNAL, STATUS_CONFLICT,
  STATUS_BUSY, STATUS_ABORTED, STATUS_TIMEOUT, STATUS_ERROR
}
 
enum  Speed {
  S100, S200, S400, S800,
  S1600, S3200
}
 
enum  AcknowledgeCode {
  ACK_RESERVED_0, ACK_COMPLETE, ACK_PENDING, ACK_RESERVED_3,
  ACK_BUSY_X, ACK_BUSY_A, ACK_BUSY_B, ACK_RESERVED_7,
  ACK_RESERVED_8, ACK_RESERVED_9, ACK_RESERVED_10, ACK_RESERVED_11,
  ACK_RESERVED_12, ACK_DATA_ERROR, ACK_TYPE_ERROR, ACK_RESERVED_15
}
 
enum  ResponseCode {
  RCODE_COMPLETE, RCODE_RESERVED_1, RCODE_RESERVED_2, RCODE_RESERVED_3,
  RCODE_CONFLICT_ERROR, RCODE_DATA_ERROR, RCODE_TYPE_ERROR, RCODE_ADDRESS_ERROR,
  RCODE_RESERVED_8, RCODE_RESERVED_9, RCODE_RESERVED_10, RCODE_RESERVED_11,
  RCODE_RESERVED_12, RCODE_RESERVED_13, RCODE_RESERVED_14, RCODE_RESERVED_15
}
 
enum  TransactionCode {
  TCODE_WRITE_REQUEST_FOR_DATA_QUADLET, TCODE_WRITE_REQUEST_FOR_DATA_BLOCK, TCODE_WRITE_RESPONSE, TCODE_RESERVED_3,
  TCODE_READ_REQUEST_FOR_DATA_QUADLET, TCODE_READ_REQUEST_FOR_DATA_BLOCK, TCODE_READ_RESPONSE_FOR_DATA_QUADLET, TOCDE_READ_RESPONSE_FOR_DATA_BLOCK,
  TCODE_CYCLE_START, TCODE_LOCK_REQUEST, TCODE_ISOCHRONOUS_DATA_BLOCK, TCODE_LOCK_RESPONSE,
  TCODE_RESERVED_12, TCODE_RESERVED_13, TCODE_RESERVED_14, TCODE_RESERVED_15
}
 
enum  LockInstruction {
  MASK_SWAP, COMPARE_SWAP, FETCH_ADD, LITTLE_FETCH_ADD,
  BOUNDED_ADD, WRAP_ADD
}
 
enum  IsochronousRequestOption { SWAP_BYTE_ORDER = 1 }
 
typedef BigEndian< uint32 > Quadlet
 
- Static Public Member Functions inherited from IEEE1394Impl
static IEEE1394ImplgetDefault () noexcept
 
- Static Public Member Functions inherited from IEEE1394Common
static unsigned short makeNodeId (unsigned int physicalId, unsigned int busId=0x3ff) noexcept
 
static unsigned int getBusId (unsigned short node) noexcept
 
static bool isLocalBus (unsigned short node) noexcept
 
static unsigned int getPhysicalId (unsigned short node) noexcept
 
static bool isBroadcast (unsigned short node) noexcept
 
- Static Public Attributes inherited from IEEE1394Common
static const unsigned int BROADCAST = 63
 
static const unsigned int LOCAL_BUS = 1023
 
static const unsigned int ISOCHRONOUS_CHANNELS = 64
 
static const unsigned int MAXIMUM_ATTEMPTS = 5
 
- Static Protected Member Functions inherited from IEEE1394Common
static Reference< IsochronousReadPacketsRequestImplgetContext (IsochronousReadPacketsRequest &request) noexcept
 
static Reference< IsochronousReadFixedPacketsRequestImplgetContext (IsochronousReadFixedPacketsRequest &request) noexcept
 
static Reference< IsochronousReadFixedDataRequestImplgetContext (IsochronousReadFixedDataRequest &request) noexcept
 
static Reference< IsochronousReadRequestImplgetContext (IsochronousReadRequest &request) noexcept
 
static Reference< IsochronousWritePacketsRequestImplgetContext (IsochronousWritePacketsRequest &request) noexcept
 
static Reference< IsochronousWriteFixedPacketsRequestImplgetContext (IsochronousWriteFixedPacketsRequest &request) noexcept
 
static Reference< IsochronousWriteDataRequestImplgetContext (IsochronousWriteDataRequest &request) noexcept
 
static Reference< IsochronousWriteRequestImplgetContext (IsochronousWriteRequest &request) noexcept
 

Detailed Description

Dummy IEEE 1394 implementation.

Dummy IEEE 1394 implementation.

Version
1.0

Constructor & Destructor Documentation

◆ DummyIEEE1394()

DummyIEEE1394::DummyIEEE1394 ( )

Initializes IEEE 1394 implementation.

Member Function Documentation

◆ acknowledgeReset()

void DummyIEEE1394::acknowledgeReset ( )
virtualnoexcept

Acknowledges the bus reset.

Implements IEEE1394Impl.

◆ close()

void DummyIEEE1394::close ( )
virtual

Closes this handle to the adapter. The adapter is destroyed when all handles have been closed.

Implements IEEE1394Impl.

◆ getAdapters()

Array<EUI64> DummyIEEE1394::getAdapters ( )
virtual

Returns the adapters available.

Implements IEEE1394Impl.

◆ getFIFOSize()

unsigned int DummyIEEE1394::getFIFOSize ( ) const
virtual

Returns the size of the FIFO.

Implements IEEE1394Impl.

◆ getLocalId()

unsigned int DummyIEEE1394::getLocalId ( ) const
virtual

Returns the physical id of the adapter.

Implements IEEE1394Impl.

◆ getNumberOfNodes()

unsigned int DummyIEEE1394::getNumberOfNodes ( ) const
virtual

Returns the number of nodes on the local bus.

Implements IEEE1394Impl.

◆ getReadChannel()

IsochronousReadChannel DummyIEEE1394::getReadChannel ( unsigned int  maxPacketsPerRequest,
uint64  subchannels 
)
virtual

Returns an isochronous read channel.

Parameters
maxPacketsPerRequestThe maximum number of packets per request.
subchannelMask specifying the subchannel to reserve for this channel.

Implements IEEE1394Impl.

◆ getStatus()

unsigned int DummyIEEE1394::getStatus ( ) const
virtual

Returns the current error status.

Implements IEEE1394Impl.

◆ getWriteChannel()

IsochronousWriteChannel DummyIEEE1394::getWriteChannel ( unsigned int  maxPacketsPerRequest,
uint64  subchannels 
)
virtual

Returns an isochronous write channel.

Parameters
maxPacketsPerRequestThe maximum number of packets per request.
subchannelMask specifying the subchannel to reserve for this channel.

Implements IEEE1394Impl.

◆ hasBeenReset()

bool DummyIEEE1394::hasBeenReset ( ) const
virtualnoexcept

Returns true if the bus has been reset since last check.

Implements IEEE1394Impl.

◆ open() [1/2]

void DummyIEEE1394::open ( )
virtual

Opens a connection to the primary adapter.

Implements IEEE1394Impl.

◆ open() [2/2]

void DummyIEEE1394::open ( const EUI64 adapter)
virtual

Opens a connection to the specified adapter.

Parameters
adapterThe id of the adapter.

Implements IEEE1394Impl.

◆ read() [1/2]

unsigned int DummyIEEE1394::read ( unsigned short  node,
uint64  address,
uint32 *  buffer,
unsigned int  size,
uint32  value 
)
virtual

Read data from device. This method is only used for debugging and development.

Parameters
nodeThe node id of source node.
addressThe base address of the memory region to read from (must be a quadlet boundary).
bufferThe data buffer.
sizeThe number of quadlets to read (not bytes!).
valueThe default value to store in the buffer for unsuccessful reads.
Returns
The number of quadlets read successfully.

Implements IEEE1394Impl.

◆ read() [2/2]

void DummyIEEE1394::read ( unsigned short  node,
uint64  address,
uint8 *  buffer,
unsigned int  size 
)
virtual

Read data from device.

Parameters
nodeThe node id of source node.
addressThe base address of the memory region to read from.
bufferThe data buffer.
sizeThe number of bytes to read (must be an integral number of quadlets).

Implements IEEE1394Impl.

◆ readIsochronous()

void DummyIEEE1394::readIsochronous ( unsigned int  channel,
unsigned int  maximumPayload,
IsochronousChannelListener listener 
)
virtual

Starts an isochronous packet listener.

Parameters
channelThe isochronous channel [0; 63].
maximumPayloadThe maximum payload of a packet.
listenerThe listener to be notified on incoming packets.

Implements IEEE1394Impl.

◆ resetBus()

void DummyIEEE1394::resetBus ( )
virtual

Resets the bus.

Implements IEEE1394Impl.

◆ write()

void DummyIEEE1394::write ( unsigned short  node,
uint64  address,
const uint8 *  buffer,
unsigned int  size 
)
virtual

Write data to device.

Parameters
nodeThe node id of destination node.
addressThe base address of the memory region to write to.
bufferThe data buffer.
sizeThe number of bytes to write (must be an integral number of quadlets).

Implements IEEE1394Impl.