Software Library API naibrd 1.62
See all documentation at naii.docs.com
Raw Memory Access Functions

Functions

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetPageReg (int32_t cardIndex, int32_t module, int32_t page)
 Sets the memory page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetPageReg (int32_t cardIndex, int32_t module, int32_t *outpage)
 Reads the memory page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_WrMemLoc (int32_t cardIndex, int32_t module, int32_t address, uint16_t data)
 Writes data to the memory location in the page pointed to by the Memory Page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_RdMemLoc (int32_t cardIndex, int32_t module, int32_t address, uint16_t *outdata)
 Reads the memory location in the page pointed to by the Memory Page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetMemPage (int32_t cardIndex, int32_t module, int32_t channel, int32_t memtype, int32_t page)
 Sets the memory page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetMemPage (int32_t cardIndex, int32_t module, int32_t *outchannel, int32_t *outmemtype, int32_t *outpage)
 Reads the memory page register of the specified module. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetDataBlock (int32_t cardIndex, int32_t module, int32_t addroffset, uint16_t *data, int32_t numwords)
 Sets a block of data containing a specified number of words in a specified location in RAM. Note: This function is not supported for AR1.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetDataBlock (int32_t cardIndex, int32_t module, int32_t addroffset, uint16_t *outdata, int32_t numwords)
 Retrieves a block of data containing a specified number of words in a specified location in RAM. Note: This function is not supported for AR1.
 

Detailed Description


Function Documentation

◆ naibrd_AR_GetDataBlock()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetDataBlock ( int32_t cardIndex,
int32_t module,
int32_t addroffset,
uint16_t * outdata,
int32_t numwords )

Retrieves a block of data containing a specified number of words in a specified location in RAM. Note: This function is not supported for AR1.

Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
addroffset: (Input) Starting address in RAM from which the data is to be read (note this must be within the channel's RAM space and must be an even value.
outdata: (Output) Pointer to the location of retrieved data.
numwords: (Input) Number of data words to read.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_INVALID_VALUE when addroffset is not within the RAM memory space or is not an even value and/or the outdata pointer is null.
  • NAI_ERROR_INVALID_ADDRESS when addroffset is invalid.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_GetMemPage()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetMemPage ( int32_t cardIndex,
int32_t module,
int32_t * outchannel,
int32_t * outmemtype,
int32_t * outpage )

Reads the memory page register of the specified module. Note: This function is not supported for AR1.

   MEMORY PAGE REGISTER:
   CH2 CH1 CH0 M1 M0 P10  P9  P8  P7  P6  P5  P4  P3 P2 P1 P0
    0   0   0  1  1  A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7
   CH2 - CH0   = Channel number : "000" to "101" corresponds to channels 1 to 6
   M1  - M0      = Memory select: 
      00 = Transmit Message memory 256x32. 
            Accessed as 512x16, with even locations holding the upper word. 4 pages per channel.
      01 = Transmit Schedule memory 512x16. 4 pages per channel.
      10 = Match Memory 1024x1. 8 pages per channel.
      11 = External memory 256kx16, CH2 - CH0 bits are ignored when accessing this memory.
            2048 pages total. This mode is only used for testing. Normally accessed via 
            receive FIFO or receive mbox registers.
   P10 - P0    = Desired memory page. Each page is 128x16 in size.
   A17 - A7    = Desired external memory page. 2048 pages of 128x16.
Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
outchannel: (Output) Channel Number of the channel to access (1 - [max channels for module]).
outmemtype: (Output) Memory Select (0 - 3).
outpage: (Output) Memory page.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_GetPageReg()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_GetPageReg ( int32_t cardIndex,
int32_t module,
int32_t * outpage )

Reads the memory page register of the specified module. Note: This function is not supported for AR1.

   MEMORY PAGE REGISTER:
   CH2 CH1 CH0 M1 M0 P10  P9  P8  P7  P6  P5  P4  P3 P2 P1 P0
    0   0   0  1  1  A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7
   CH2 - CH0   = Channel number : "000" to "101" corresponds to channels 1 to 6
   M1  - M0      = Memory select: 
      00 = Transmit Message memory 256x32. 
            Accessed as 512x16, with even locations holding the upper word. 4 pages per channel.
      01 = Transmit Schedule memory 512x16. 4 pages per channel.
      10 = Match Memory 1024x1. 8 pages per channel.
      11 = External memory 256kx16, CH2 - CH0 bits are ignored when accessing this memory.
            2048 pages total. This mode is only used for testing. Normally accessed via 
            receive FIFO or receive mbox registers.
   P10 - P0    = Desired memory page. Each page is 128x16 in size.
   A17 - A7    = Desired external memory page. 2048 pages of 128x16.
Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
outpage: (Output) Memory page.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_INVALID_PARAMETER when an invalid page is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_RdMemLoc()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_RdMemLoc ( int32_t cardIndex,
int32_t module,
int32_t address,
uint16_t * outdata )

Reads the memory location in the page pointed to by the Memory Page register of the specified module. Note: This function is not supported for AR1.

Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
address: (Input) Memory address (0 - 127).
outdata: (Output) 16-bit data.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_INVALID_PARAMETER when an invalid address is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_SetDataBlock()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetDataBlock ( int32_t cardIndex,
int32_t module,
int32_t addroffset,
uint16_t * data,
int32_t numwords )

Sets a block of data containing a specified number of words in a specified location in RAM. Note: This function is not supported for AR1.

Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
addroffset: (Input) Starting address in RAM to set the data (note this must be within the channel's RAM space and must be an even value.
data: (Input) Pointer to the data to be written.
numwords: (Input) Number of data words to set.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_INVALID_VALUE when addroffset is not within the RAM memory space or is not an even value.
  • NAI_ERROR_INVALID_ADDRESS when addroffset is invalid.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_SetMemPage()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetMemPage ( int32_t cardIndex,
int32_t module,
int32_t channel,
int32_t memtype,
int32_t page )

Sets the memory page register of the specified module. Note: This function is not supported for AR1.

   MEMORY PAGE REGISTER:
   CH2 CH1 CH0 M1 M0 P10  P9  P8  P7  P6  P5  P4  P3 P2 P1 P0
    0   0   0  1  1  A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7
   CH2 - CH0   = Channel number : "000" to "101" corresponds to channels 1 to 6
   M1  - M0      = Memory select: 
      00 = Transmit Message memory 256x32. 
            Accessed as 512x16, with even locations holding the upper word. 4 pages per channel.
      01 = Transmit Schedule memory 512x16. 4 pages per channel.
      10 = Match Memory 1024x1. 8 pages per channel.
      11 = External memory 256kx16, CH2 - CH0 bits are ignored when accessing this memory.
            2048 pages total. This mode is only used for testing. Normally accessed via 
            receive FIFO or receive mbox registers.
   P10 - P0    = Desired memory page. Each page is 128x16 in size.
   A17 - A7    = Desired external memory page. 2048 pages of 128x16.
Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
memtype: (Input) Memory Select (0 - 3).
page: (Input) Memory page.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_INVALID_PARAMETER when an invalid memtype or page is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_SetPageReg()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_SetPageReg ( int32_t cardIndex,
int32_t module,
int32_t page )

Sets the memory page register of the specified module. Note: This function is not supported for AR1.

   MEMORY PAGE REGISTER:
   CH2 CH1 CH0 M1 M0 P10  P9  P8  P7  P6  P5  P4  P3 P2 P1 P0
    0   0   0  1  1  A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7
   CH2 - CH0   = Channel number : "000" to "101" corresponds to channels 1 to 6
   M1  - M0      = Memory select: 
      00 = Transmit Message memory 256x32. 
            Accessed as 512x16, with even locations holding the upper word. 4 pages per channel.
      01 = Transmit Schedule memory 512x16. 4 pages per channel.
      10 = Match Memory 1024x1. 8 pages per channel.
      11 = External memory 256kx16, CH2 - CH0 bits are ignored when accessing this memory.
            2048 pages total. This mode is only used for testing. Normally accessed via 
            receive FIFO or receive mbox registers.
   P10 - P0    = Desired memory page. Each page is 128x16 in size.
   A17 - A7    = Desired external memory page. 2048 pages of 128x16.
Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
page: (Input) Memory page.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_INVALID_PARAMETER when an invalid page is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AR_WrMemLoc()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AR_WrMemLoc ( int32_t cardIndex,
int32_t module,
int32_t address,
uint16_t data )

Writes data to the memory location in the page pointed to by the Memory Page register of the specified module. Note: This function is not supported for AR1.

Parameters
cardIndex: (Input) Logical Card Index assigned to connect with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
address: (Input) Memory address (0 - 127).
data: (Input) 16-bit data.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_INVALID_PARAMETER when an invalid address is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.