FpgaManager
Software API Documentation
RegisterBank Class Reference

Provides a MmAccess interface with an offset More...

Inheritance diagram for RegisterBank:
IMmAccess

Public Member Functions

 RegisterBank (UInt32 registerOffset, IMmAccess mm)
 Constructs a Register Bank More...
 
 RegisterBank (UInt32 registerOffset, RegisterBank rb)
 Constructs a cascaded Register Bank More...
 
void ReadContiguous (uint startAddress, byte[] buffer, int offset, int length)
 Reads consecutive bytes from mapped memory/registers More...
 
void ReadContiguous (uint startAddress, byte[] buffer)
 Reads consecutive bytes from mapped memory/registers More...
 
Task< AsyncMmTransferResult< byte > > ReadContiguousAsync (uint startAddress, byte[] buffer, int offset, int length)
 Reads consecutive bytes from mapped memory/registers asynchronously (non-blocking) More...
 
void ReadMailbox (uint address, byte[] buffer, int offset, int length)
 Reads multiple words from a single address location More...
 
void ReadMailbox (uint address, uint[] buffer)
 Reads multiple words from a single address location More...
 
Task< AsyncMmTransferResult< byte > > ReadMailboxAsync (uint address, byte[] buffer, int offset, int length)
 Reads multiple words from a single address location asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< uint > > ReadMailboxAsync (uint address, uint[] buffer)
 Reads multiple words from a single address location asynchronously (non-blocking) More...
 
uint ReadRegister (uint address)
 Reads from a single register More...
 
Task< UInt32 > ReadRegisterAsync (UInt32 address)
 Reads from a single register asynchronously (non-blocking) More...
 
void WriteContiguous (uint startAddress, byte[] buffer, int offset, int length)
 Writes consecutive bytes to mapped memory/registers More...
 
void WriteContiguous (uint startAddress, byte[] buffer)
 Writes consecutive bytes to mapped memory/registers More...
 
Task< AsyncMmTransferResult< byte > > WriteContiguousAsync (uint startAddress, byte[] buffer, int offset, int length)
 Writes consecutive bytes to mapped memory/registers asynchronously (non-blocking) More...
 
void WriteMailbox (uint address, byte[] buffer, int offset, int length)
 Writes multiple words to a single address location More...
 
void WriteMailbox (uint address, uint[] buffer)
 Writes multiple words to a single address location More...
 
Task< AsyncMmTransferResult< byte > > WriteMailboxAsync (uint address, byte[] buffer, int offset, int length)
 Writes multiple words to a single address location asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< uint > > WriteMailboxAsync (uint address, uint[] buffer)
 Writes multiple words to a single address location asynchronously (non-blocking) More...
 
void WriteRegister (uint address, uint value)
 Writes to a single register More...
 
Task WriteRegisterAsync (UInt32 address, UInt32 value)
 Writes to a single register asynchronously (non-blocking) More...
 
void ReadContiguous (UInt32 startAddress, Span< byte > buffer)
 Reads consecutive bytes from mapped memory/registers More...
 
void ReadContiguous (UInt32 startAddress, Memory< byte > buffer)
 Reads consecutive bytes from mapped memory/registers More...
 
Task< AsyncMmMemRdTransferResult< byte > > ReadContiguousAsync (UInt32 startAddress, Memory< byte > buffer)
 Reads consecutive bytes from mapped memory/registers asynchronously (non-blocking) More...
 
void ReadMailbox (UInt32 address, Span< UInt32 > buffer)
 Reads multiple words from a single address location More...
 
void ReadMailbox (UInt32 address, Memory< UInt32 > buffer)
 Reads multiple words from a single address location More...
 
Task< AsyncMmMemRdTransferResult< UInt32 > > ReadMailboxAsync (UInt32 address, Memory< UInt32 > buffer)
 Reads multiple words from a single address location asynchronously (non-blocking) More...
 
void WriteContiguous (UInt32 startAddress, ReadOnlySpan< byte > buffer)
 Writes consecutive bytes to mapped memory/registers More...
 
void WriteContiguous (UInt32 startAddress, ReadOnlyMemory< byte > buffer)
 Writes consecutive bytes to mapped memory/registers More...
 
Task< AsyncMmMemWrTransferResult< byte > > WriteContiguousAsync (UInt32 startAddress, ReadOnlyMemory< byte > buffer)
 Writes consecutive bytes to mapped memory/registers asynchronously (non-blocking) More...
 
void WriteMailbox (UInt32 address, ReadOnlySpan< UInt32 > buffer)
 Writes multiple words to a single address location More...
 
void WriteMailbox (UInt32 address, ReadOnlyMemory< UInt32 > buffer)
 Writes multiple words to a single address location More...
 
Task< AsyncMmMemWrTransferResult< UInt32 > > WriteMailboxAsync (UInt32 address, ReadOnlyMemory< UInt32 > buffer)
 Writes multiple words to a single address location asynchronously (non-blocking) More...
 
- Public Member Functions inherited from IMmAccess
UInt32 ReadRegister (UInt32 address)
 Reads from a single register More...
 
void WriteRegister (UInt32 address, UInt32 value)
 Writes to a single register More...
 
void ReadContiguous (UInt32 startAddress, byte[] buffer, int offset, int length)
 Reads consecutive bytes from mapped memory/registers More...
 
void ReadContiguous (UInt32 startAddress, byte[] buffer)
 Reads consecutive bytes from mapped memory/registers More...
 
void WriteContiguous (UInt32 startAddress, byte[] buffer, int offset, int length)
 Writes consecutive bytes to mapped memory/registers More...
 
void WriteContiguous (UInt32 startAddress, byte[] buffer)
 Writes consecutive bytes to mapped memory/registers More...
 
Task< AsyncMmTransferResult< byte > > ReadContiguousAsync (UInt32 startAddress, byte[] buffer, int offset, int length)
 Reads consecutive bytes from mapped memory/registers asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< byte > > WriteContiguousAsync (UInt32 startAddress, byte[] buffer, int offset, int length)
 Writes consecutive bytes to mapped memory/registers asynchronously (non-blocking) More...
 
void ReadMailbox (UInt32 address, byte[] buffer, int offset, int length)
 Reads multiple words from a single address location More...
 
void ReadMailbox (UInt32 address, UInt32[] buffer)
 Reads multiple words from a single address location More...
 
void WriteMailbox (UInt32 address, byte[] buffer, int offset, int length)
 Writes multiple words to a single address location More...
 
void WriteMailbox (UInt32 address, UInt32[] buffer)
 Writes multiple words to a single address location More...
 
Task< AsyncMmTransferResult< byte > > ReadMailboxAsync (UInt32 address, byte[] buffer, int offset, int length)
 Reads multiple words from a single address location asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< UInt32 > > ReadMailboxAsync (UInt32 address, UInt32[] buffer)
 Reads multiple words from a single address location asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< byte > > WriteMailboxAsync (UInt32 address, byte[] buffer, int offset, int length)
 Writes multiple words to a single address location asynchronously (non-blocking) More...
 
Task< AsyncMmTransferResult< UInt32 > > WriteMailboxAsync (UInt32 address, UInt32[] buffer)
 Writes multiple words to a single address location asynchronously (non-blocking) More...
 

Detailed Description

Provides a MmAccess interface with an offset

See IMmAccess for interface details, and RegisterBank Example on how to use RegisterBank in a project.

Constructor & Destructor Documentation

◆ RegisterBank() [1/2]

RegisterBank ( UInt32  registerOffset,
IMmAccess  mm 
)
inline

Constructs a Register Bank

Parameters
registerOffsetOffset of the register bank in memory space
mmmemory mapped interface for register access

◆ RegisterBank() [2/2]

RegisterBank ( UInt32  registerOffset,
RegisterBank  rb 
)
inline

Constructs a cascaded Register Bank

Parameters
registerOffsetOffset of the register bank in parent register bank space
rbparent register bank

Member Function Documentation

◆ ReadContiguous() [1/4]

void ReadContiguous ( uint  startAddress,
byte []  buffer,
int  offset,
int  length 
)

Reads consecutive bytes from mapped memory/registers

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to
offsetStart offset within buffer
lengthLength of transfer in bytes

◆ ReadContiguous() [2/4]

void ReadContiguous ( uint  startAddress,
byte []  buffer 
)

Reads consecutive bytes from mapped memory/registers

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to

◆ ReadContiguous() [3/4]

void ReadContiguous ( UInt32  startAddress,
Span< byte >  buffer 
)

Reads consecutive bytes from mapped memory/registers

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to

Implements IMmAccess.

◆ ReadContiguous() [4/4]

void ReadContiguous ( UInt32  startAddress,
Memory< byte >  buffer 
)

Reads consecutive bytes from mapped memory/registers

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to

Implements IMmAccess.

◆ ReadContiguousAsync() [1/2]

Task<AsyncMmTransferResult<byte> > ReadContiguousAsync ( uint  startAddress,
byte []  buffer,
int  offset,
int  length 
)

Reads consecutive bytes from mapped memory/registers asynchronously (non-blocking)

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to
offsetStart offset within buffer
lengthLength of transfer in bytes
Returns
TAP Task

◆ ReadContiguousAsync() [2/2]

Task<AsyncMmMemRdTransferResult<byte> > ReadContiguousAsync ( UInt32  startAddress,
Memory< byte >  buffer 
)

Reads consecutive bytes from mapped memory/registers asynchronously (non-blocking)

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied to
Returns
TAP Task

Implements IMmAccess.

◆ ReadMailbox() [1/4]

void ReadMailbox ( uint  address,
byte []  buffer,
int  offset,
int  length 
)

Reads multiple words from a single address location

Parameters
addressAddress of transfer
bufferBuffer where the data is copied to
offsetStart offset within buffer
lengthLength of transfer in bytes

◆ ReadMailbox() [2/4]

void ReadMailbox ( uint  address,
uint []  buffer 
)

Reads multiple words from a single address location

Parameters
addressAddress of transfer
bufferBuffer where the data is copied to

◆ ReadMailbox() [3/4]

void ReadMailbox ( UInt32  address,
Span< UInt32 >  buffer 
)

Reads multiple words from a single address location

requires .NET standard 2.1

Parameters
addressAddress of transfer
bufferBuffer where the data is copied to

Implements IMmAccess.

◆ ReadMailbox() [4/4]

void ReadMailbox ( UInt32  address,
Memory< UInt32 >  buffer 
)

Reads multiple words from a single address location

requires .NET standard 2.1

Parameters
addressAddress of transfer
bufferBuffer where the data is copied to

Implements IMmAccess.

◆ ReadMailboxAsync() [1/3]

Task<AsyncMmTransferResult<byte> > ReadMailboxAsync ( uint  address,
byte []  buffer,
int  offset,
int  length 
)

Reads multiple words from a single address location asynchronously (non-blocking)

Parameters
addressAddress of transfer
bufferBuffer where the data is copied to
offsetStart offset within buffer
lengthLength of transfer in bytes
Returns
TAP Task

◆ ReadMailboxAsync() [2/3]

Task<AsyncMmTransferResult<uint> > ReadMailboxAsync ( uint  address,
uint []  buffer 
)

Reads multiple words from a single address location asynchronously (non-blocking)

Parameters
addressAddress of transfer
buffer
Returns
TAP Task

◆ ReadMailboxAsync() [3/3]

Task<AsyncMmMemRdTransferResult<UInt32> > ReadMailboxAsync ( UInt32  address,
Memory< UInt32 >  buffer 
)

Reads multiple words from a single address location asynchronously (non-blocking)

requires .NET standard 2.1

Parameters
addressAddress of transfer
buffer
Returns
TAP Task

Implements IMmAccess.

◆ ReadRegister()

uint ReadRegister ( uint  address)

Reads from a single register

Parameters
addressRegister address
Returns
Read value of the addressed register

◆ ReadRegisterAsync()

Task<UInt32> ReadRegisterAsync ( UInt32  address)

Reads from a single register asynchronously (non-blocking)

Parameters
addressRegister address
Returns
TAP Task

Implements IMmAccess.

◆ WriteContiguous() [1/4]

void WriteContiguous ( uint  startAddress,
byte []  buffer,
int  offset,
int  length 
)

Writes consecutive bytes to mapped memory/registers

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from
offsetStart offset within buffer
lengthLength of transfer in bytes

◆ WriteContiguous() [2/4]

void WriteContiguous ( uint  startAddress,
byte []  buffer 
)

Writes consecutive bytes to mapped memory/registers

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from

◆ WriteContiguous() [3/4]

void WriteContiguous ( UInt32  startAddress,
ReadOnlySpan< byte >  buffer 
)

Writes consecutive bytes to mapped memory/registers

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from

Implements IMmAccess.

◆ WriteContiguous() [4/4]

void WriteContiguous ( UInt32  startAddress,
ReadOnlyMemory< byte >  buffer 
)

Writes consecutive bytes to mapped memory/registers

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from

Implements IMmAccess.

◆ WriteContiguousAsync() [1/2]

Task<AsyncMmTransferResult<byte> > WriteContiguousAsync ( uint  startAddress,
byte []  buffer,
int  offset,
int  length 
)

Writes consecutive bytes to mapped memory/registers asynchronously (non-blocking)

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from
offsetStart offset within buffer
lengthLength of transfer in bytes
Returns
TAP Task

◆ WriteContiguousAsync() [2/2]

Task<AsyncMmMemWrTransferResult<byte> > WriteContiguousAsync ( UInt32  startAddress,
ReadOnlyMemory< byte >  buffer 
)

Writes consecutive bytes to mapped memory/registers asynchronously (non-blocking)

requires .NET standard 2.1

Parameters
startAddressStart address of transfer
bufferBuffer where the data is copied from
Returns
TAP Task

Implements IMmAccess.

◆ WriteMailbox() [1/4]

void WriteMailbox ( uint  address,
byte []  buffer,
int  offset,
int  length 
)

Writes multiple words to a single address location

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from
offsetStart offset within buffer
lengthLength of transfer in bytes

◆ WriteMailbox() [2/4]

void WriteMailbox ( uint  address,
uint []  buffer 
)

Writes multiple words to a single address location

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from

◆ WriteMailbox() [3/4]

void WriteMailbox ( UInt32  address,
ReadOnlySpan< UInt32 >  buffer 
)

Writes multiple words to a single address location

requires .NET standard 2.1

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from

Implements IMmAccess.

◆ WriteMailbox() [4/4]

void WriteMailbox ( UInt32  address,
ReadOnlyMemory< UInt32 >  buffer 
)

Writes multiple words to a single address location

requires .NET standard 2.1

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from

Implements IMmAccess.

◆ WriteMailboxAsync() [1/3]

Task<AsyncMmTransferResult<byte> > WriteMailboxAsync ( uint  address,
byte []  buffer,
int  offset,
int  length 
)

Writes multiple words to a single address location asynchronously (non-blocking)

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from
offsetStart offset within buffer
lengthLength of transfer in bytes
Returns
TAP Task

◆ WriteMailboxAsync() [2/3]

Task<AsyncMmTransferResult<uint> > WriteMailboxAsync ( uint  address,
uint []  buffer 
)

Writes multiple words to a single address location asynchronously (non-blocking)

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from
Returns
TAP Task

◆ WriteMailboxAsync() [3/3]

Task<AsyncMmMemWrTransferResult<UInt32> > WriteMailboxAsync ( UInt32  address,
ReadOnlyMemory< UInt32 >  buffer 
)

Writes multiple words to a single address location asynchronously (non-blocking)

requires .NET standard 2.1

Parameters
addressAddress of transfer
bufferBuffer where the data is copied from
Returns
TAP Task

Implements IMmAccess.

◆ WriteRegister()

void WriteRegister ( uint  address,
uint  value 
)

Writes to a single register

Parameters
addressRegister address
valueValue to write

◆ WriteRegisterAsync()

Task WriteRegisterAsync ( UInt32  address,
UInt32  value 
)

Writes to a single register asynchronously (non-blocking)

Parameters
addressRegister address
valueValue to write
Returns
TAP Task

Implements IMmAccess.


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