ar_getfilter

int ar_getfilter (unsigned int board, unsigned int channel, char * filterTable);

Purpose

This function returns the contents of the specified channel’s label interrupt and filter table.  Each receive channel has a separate label filter table, which is used by the firmware to control storage of received labels and determine if reception of a particular label should generate an interrupt.  Each element of the filter buffer consists of a bit field defined as follows:

 
FILTER_SEQUENTIAL  0x10 (bit 4)  If CLEAR add label to sequential receive buffer; if SET filters message from the sequential receive buffer
FILTER_SNAPSHOT     0x20 (bit 5)  If CLEAR add label to snapshot receive buffer; if SET filters message from the snapshot receive buffer

FILTER_INTERRUP      0x40 (bit 6)  If CLEAR does nothing; if SET, receipt of the respective message creates a receive channel index entry in the device's interrupt queue and if enabled, generates a PCI interrupt.

 
The filter buffer for a single channel is defined as follows:

    filterTable[MAX_ESSM][MAX_SDI][MAX_LABEL]

and accessed as filterTable[eSSM][SDI][label], where the bits of the ARINC word are split up as follows:


     eSSM       SDI         label
   30 29 28     9 8    7 6 5 4 3 2 1 0

To write the label interrupt and filter table, refer to the API functions ar_enh_label_filter, ar_putfilter, and ar_label_filter.

Parameters

Input

Name

Type

Description

board

unsigned int

(input) Device Number of the board to reference, (valid range is 0-15).

channel

unsigned int

(input) ARINC 429 channel number (valid range is 0 to one less than the installed ARINC 429 receive channel count).

Output

 

 

Name

Type

Description

filterTable

char (passed by reference)

(output) Array to receive the contents of the specified channel's label filter table.  This array must have a minimum allocation of 8Kbytes.

Return Value

Name

Type

Description

status

long

status of the function call, with valid values of:
ARS_NORMAL             Success.
ARS_INVBOARD         The board parameter value was invalid.

ARS_BOARD_MUTEX   Access to the Board Lock timed-out/failed.

ARS_INVARG             Invalid channel parameter value or NULL filterTable reference.

References

Device Configuration Functions
Alphabetical Function Index
Hierarchical Function Index

CEI-x30 API Description