Jump to main content

##

# 1.2.5.2.63 TCPIP_MODULE_MAC_PIC32INT_CONFIG Structure

## C

    typedef struct {
    uint16_t nTxDescriptors;
    uint16_t rxBuffSize;
    uint16_t nRxDescriptors;
    uint16_t nRxDedicatedBuffers;
    uint16_t nRxInitBuffers;
    uint16_t rxLowThreshold;
    uint16_t rxLowFill;
    uint16_t linkInitDelay;
    TCPIP_ETH_OPEN_FLAGS ethFlags;
    uintptr_t ethModuleId;
    const struct DRV_ETHPHY_OBJECT_BASE_TYPE* pPhyBase;
    const struct DRV_ETHPHY_INIT* pPhyInit;
    } TCPIP_MODULE_MAC_PIC32INT_CONFIG;

## Description

Ethernet MAC Initialization Data.

This structure defines the MAC initialization data for the PIC32 MAC/Ethernet controller.

## Members

Members | Description
--- | ---
nTxDescriptors | Number of TX descriptors.
rxBuffSize | Size of the corresponding RX buffer.
nRxDescriptors | Number of RX descriptors Has to be high enough to accommodate both dedicated and non-dedicated RX buffers.
nRxDedicatedBuffers | Number of MAC dedicated RX buffers These buffers/packets are owned by the MAC and are not returned to the packet pool They are allocated at MAC initialization time using pktAllocF and freed at MAC deinitialize time using pktFreeF Could be 0, if only not dedicated buffers are needed. For best performance usually it's best to have some dedicated buffers so as to minimize the run time allocations.
nRxInitBuffers | Number of MAC non dedicated RX buffers allocated at the MAC initialization pktAllocF Note that these buffers are allocated in addition of the nRxDedicatedBuffers Freed at run time using pktFreeF.
rxLowThreshold | Minimum threshold for the buffer replenish process Whenever the number of RX scheduled buffers is <= than this threshold the MAC driver will allocate new non-dedicated buffers that will be freed at run time using pktFreeF Setting this value to 0 disables the buffer replenishing process.
rxLowFill | Number of RX buffers to allocate when below threshold condition is detected If 0, the MAC driver will allocate (scheduled buffers - rxThres) If !0, the MAC driver will allocate exactly rxLowFill buffers.
linkInitDelay | Delay to wait after the lomk is coming up (milliseconds) for insuring that the PHY is ready to transmit data.
ethFlags | Flags to use for the ETH connection.
ethModuleId | Ethernet module ID for this driver instance: a plib ETH Id value.
pPhyBase | Non-volatile pointer to the PHY basic object associated with this MAC.
pPhyInit | Non-volatile pointer to the PHY initialization data.