Jump to main content

# DRV_PLC_PHY_TRANSMISSION_OBJ Struct

## G3 DRV_PLC_PHY_TRANSMISSION_OBJ Struct

### C

    typedef struct __attribute__((packed, aligned(1))) {
          /* Pointer to data buffer to transmit */
          uint8_t *pTransmitData;
          /* Instant when transmission has to start referred to 1us PHY counter */
          uint32_t time;
          /* Length of the data to transmit in bytes */
          uint16_t dataLength;
          /* Preemphasis for transmission */
          uint8_t preemphasis[NUM_SUBBANDS_MAX];
          /* Tone Map to use on transmission */
          uint8_t toneMap[TONE_MAP_SIZE_MAX];
          /* Transmission Mode (absolute, relative, forced, continuous, cancel). Constants above */
          uint8_t mode;
          /* Power to transmit */
          uint8_t attenuation;
          /* Phase Detector Counter */
          uint8_t pdc;
          /* Flag to indicate whether 2 Reed-Solomon blocks have to be used (only used for FCC) */
          uint8_t rs2Blocks;
          /* Modulation type */
          DRV_PLC_PHY_MOD_TYPE modType;
          /* Modulation scheme */
          DRV_PLC_PHY_MOD_SCHEME modScheme;
          /* DT field to be used in header */
          DRV_PLC_PHY_DEL_TYPE delimiterType;
    } DRV_PLC_PHY_TRANSMISSION_OBJ;

### Summary

G3-PLC transmission parameters data.

### Description

This data type contains the information of a transmission, including parameters of transmission and data to be sent.

### Remarks

None.

## PRIME DRV_PLC_PHY_TRANSMISSION_OBJ Struct

### C

    typedef struct __attribute__((packed, aligned(1))) {
        /* Pointer to data buffer to transmit */
        uint8_t *pTransmitData;
        /* Instant when transmission has to start referred to 1us PHY counter */
        uint32_t timeIni;
        /* Length of the data to transmit in bytes */
        uint16_t dataLength;
        /* Transmission Mode (absolute, relative, cancel, continuous). Constants above */
        uint8_t mode;
        /* Attenuation level with which the message will be transmitted */
        uint8_t attenuation;
        /* CSMA algorithm parameters */
        DRV_PLC_PHY_CSMA csma;
        /* Buffer Id used for transmission */
        DRV_PLC_PHY_BUFFER_ID bufferId;
        /* Scheme of Modulation */
        DRV_PLC_PHY_SCH scheme;
        /* PRIME Frame type */
        DRV_PLC_PHY_FRAME_TYPE frameType;
    } DRV_PLC_PHY_TRANSMISSION_OBJ;

### Summary

PRIME transmission setup data.

### Description

This structure contains the information of a transmission, including parameters of transmission and data to be sent.

### Remarks

None.

## Meters And More DRV_PLC_PHY_TRANSMISSION_OBJ Struct

### C

    typedef struct __attribute__((packed, aligned(1))) {
          /* Pointer to data buffer to transmit */
          uint8_t *pTransmitData;
          /* Instant when transmission has to start referred to 1us PHY counter */
          uint32_t time;
          /* Length of the data to transmit in bytes */
          uint16_t dataLength;
          /* Transmission Mode (absolute, relative, forced, continuous, cancel). Constants above */
          uint8_t mode;
          /* Power to transmit */
          uint8_t attenuation;
          /* NB frame */
          uint8_t nbFrame;
    } DRV_PLC_PHY_TRANSMISSION_OBJ;

### Summary

Meters And More transmission parameters data.

### Description

This data type contains the information of a transmission, including parameters of transmission and data to be sent.

### Remarks

nbFrame is a particular parameter used to infer the Mains phase difference between 2 nodes in the PLC network. If no MAC layer is used, this parameter has to be set to '0'. Otherwise, MAC layer handles this parameter according to Meters And More specifications.

Rev: G