Jump to main content

# 1.1.1.4.18 DRV_PLC_PLIB_INTERFACE Struct

## C

    typedef struct
    {
        /* PLC SPI PLIB Transfer Setup */
        DRV_PLC_SPI_PLIB_TRANSFER_SETUP        spiPlibTransferSetup;

        /* SPI Is Busy */
        DRV_PLC_SPI_ISBUSY                     spiIsBusy; /* Only visible if MCU does not have DMA or SPI splitter is used */

        /* SPI Set Chip Select */
        DRV_PLC_SPI_SET_CS                     spiSetChipSelect; /* Only visible if SPI splitter is used and SPI peripheral manages multiple CS pins */

        /* SPI transmit DMA channel. */
        SYS_DMA_CHANNEL                        dmaChannelTx; /* Only visible if MCU has DMA */

        /* SPI receive DMA channel. */
        SYS_DMA_CHANNEL                        dmaChannelRx; /* Only visible if MCU has DMA */

        /* SPI transmit register address used for DMA operation. */
        void                                   *spiAddressTx; /* Only visible if MCU has DMA */

        /* SPI receive register address used for DMA operation. */
        void                                   *spiAddressRx; /* Only visible if MCU has DMA */

        /* SPI Write/Read */
        DRV_PLC_SPI_WRITE_READ                 spiWriteRead; /* Only visible if MCU does not have DMA */

        /* SPI Chip select pin */
        SYS_PORT_PIN                           spiCSPin; /* Only visible if SPI does not manage CS pin (SERCOM) */

        /* SPI clock frequency */
        uint32_t                               spiClockFrequency;

        /* PLC LDO enable pin */
        SYS_PORT_PIN                           ldoPin;

        /* PLC reset pin */
        SYS_PORT_PIN                           resetPin;

        /* PLC external interrupt pin */
        SYS_PORT_PIN                           extIntPin; /* Only visible if MCU does not have EIC interrupt management peripheral */
        EIC_PIN                                extIntPin; /* Only visible if MCU has EIC interrupt management peripheral */

        /* PLC external interrupt pio */
        SYS_PORT_PIN                           extIntPio;

        /* PLC Tx Enable pin */
        SYS_PORT_PIN                           txEnablePin; /* Only visible if PL460 Driver is used */

        /* PLC StandBy Pin */
        SYS_PORT_PIN                           stByPin; /* Only visible if SLEEP MODE is enabled on Driver Configuration */

        /* PLC Thermal Monitor pin */
        SYS_PORT_PIN                           thMonPin; /* Only visible if PL460 Driver is used and THERMAL MONITOR is enabled on Driver Configuration */

    } DRV_PLC_PLIB_INTERFACE;

## Summary

Contains the data required to initialize the PLC driver PLIB Interface.

## Description

This structure contains the objects needed to initialize the driver access SPI and Control Lines to manage PLC transceiver.

Field description:

- spiPlibTransferSetup: Pointer to SPI Transfer Setup function.
- spiIsBusy: Pointer to SPI Is Busy function. Only available if MCU does not have DMA or SPI splitter is used.
- spiSetChipSelect: Pointer to SPI Set Chip Select function. Only available if MCU does not have DMA or SPI splitter is used.
- dmaChannelTx: SPI transmit DMA channel. Only available if MCU has DMA.
- dmaChannelRx: SPI receive DMA channel. Only available if MCU has DMA.
- spiAddressTx: SPI transmit register address used for DMA operation. Only available if MCU has DMA.
- spiAddressRx: SPI receive register address used for DMA operation. Only available if MCU has DMA.
- spiWriteRead: Pointer to SPI Write/Read function. Only available if MCU does not have DMA.
- spiCSPin: Port connected to Chip Select pin of PLC transceiver. Only available if SPI does not manage CS pin (SERCOM).
- spiClockFrequency: SPI Clock frequency to use with PLC transceiver.
- ldoPin: Port connected to LDO pin of PLC transceiver.
- resetPin: Port connected to Reset pin of PLC transceiver.
- extIntPin: Port connected to External Interrupt pin of PLC transceiver.
- extIntPio: Port connected to External Interrupt pin of PLC transceiver.
- txEnablePin: Port connected to Tx Enable pin of PLC transceiver. Only available if PL460 Driver is used.
- stByPin: Port connected to Standby (Sleep) pin of PLC transceiver. Only available if Sleep mode is enabled on Driver Configuration.
- thMonPin: Port connected to Thermal Monitor pin of PLC transceiver. Only available if PL460 Driver is used and THERMAL MONITOR is enabled on Driver Configuration.

## Remarks

None.

Rev: G