Jump to main content

# G3 MAC RT PIBs

## MAC_RT_PIB_MAX_BE (0x00000047)

- Description: Maximum value of back-off exponent. It should always be greater than macMinBE
- Access: Read-write
- Value Range: 1 byte
- Default Value: 8

## MAC_RT_PIB_BSN (0x00000049)

- Description: Beacon frame sequence number
- Access: Read-write
- Value Range: 1 byte
- Default Value: Random

## MAC_RT_PIB_DSN (0x0000004C)

- Description: Data frame sequence number
- Access: Read-write
- Value Range: 1 byte
- Default Value: Random

## MAC_RT_PIB_MAX_CSMA_BACKOFFS (0x0000004E)

- Description: Maximum number of back-off attempts
- Access: Read-write
- Value Range: 1 byte
- Default Value: 50

## MAC_RT_PIB_MIN_BE (0x0000004F)

- Description: Minimum value of back-off exponent
- Access: Read-write
- Value Range: 1 byte
- Default Value: 3

## MAC_RT_PIB_PAN_ID (0x00000050)

- Description: PAN ID of the network
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 0xFFFF

## MAC_RT_PIB_PROMISCUOUS_MODE (0x00000051)

- Description: Promiscuous mode enabled as defined in IEEE 802.15.4 specification
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_SHORT_ADDRESS (0x00000053)

- Description: Device short address
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 0xFFFF

## MAC_RT_PIB_MAX_FRAME_RETRIES (0x00000059)

- Description: Maximum number of retransmission
- Access: Read-write
- Value Range: 1 byte
- Default Value: 5

## MAC_RT_PIB_DUPLICATE_DETECTION_TTL (0x00000078)

- Description: Time a received tuple is retained for duplicate frame detection, in seconds. This value should be greater than (1 + MAC_RT_PIB_MAX_FRAME_RETRIES) * aEIFS.
- Access: Read-write
- Value Range: 1 byte
- Default Value: 3

## MAC_RT_PIB_HIGH_PRIORITY_WINDOW_SIZE (0x00000100)

- Description: The high priority contention window size, in number of slots
- Access: Read-write
- Value Range: 1 byte
- Default Value: 7

## MAC_RT_PIB_CSMA_NO_ACK_COUNT (0x00000106)

- Description: Statistic counter of the number of times an ACK is not received after transmitting a unicast data frame
- Access: Read-write
- Value Range: 4 bytes
- Default Value: 0

## MAC_RT_PIB_BAD_CRC_COUNT (0x00000109)

- Description: Statistic counter of the number of frames received with bad CRC
- Access: Read-write
- Value Range: 4 bytes
- Default Value: 0

## MAC_RT_PIB_NEIGHBOUR_TABLE (0x0000010A)

- Description: The neighbour table as defined in G3-PLC Specification.

  To get all the active entries, the first step is to get the number of such active entries by means of MAC_WRP_PIB_MANUF_NEIGHBOUR_TABLE_COUNT (0x08000012). Then, because the table is ordered, all the entries can be obtained by iterating from 0 to the number of active entries.

- Access: Read-write
- Value Range: 19-byte entries as defined in the following structure:

      typedef struct __attribute__((packed)) {
        uint16_t shortAddress;
        MAC_RT_TONE_MAP toneMap;
        uint8_t modulationType : 3;
        uint8_t txGain : 4;
        uint8_t txRes : 1;
        MAC_RT_TX_COEF txCoef;
        uint8_t modulationScheme : 1;
        uint8_t phaseDifferential : 3;
        uint8_t lqi;
        uint16_t tmrValidTime;
      } MAC_RT_NEIGHBOUR_ENTRY;

- Default Value: Empty table

## MAC_RT_PIB_CSMA_FAIRNESS_LIMIT (0x0000010C)

- Description: Channel access fairness limit. Specifies after how many failed back-off attempts, back-off exponent is set to minBE. Should be at least (2 * (MAC_RT_PIB_MAX_BE - MAC_RT_PIB_MIN_BE)).
- Access: Read-write
- Value Range: 1 byte
- Default Value: 25

## MAC_RT_PIB_TMR_TTL (0x0000010D)

- Description: Maximum time to live for an entry in the neighbor table, in minutes
- Access: Read-write
- Value Range: 1 byte
- Default Value: 10

## MAC_RT_PIB_POS_TABLE_ENTRY_TTL (0x0000010E)

- Description: Maximum time to live for an entry in the POS table, in minutes
- Access: Read-write
- Value Range: 1 byte
- Default Value: 255

## MAC_RT_PIB_RC_COORD (0x0000010F)

- Description: Route cost to coordinator to be used in the beacon payload as RC_COORD
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 0xFFFF

## MAC_RT_PIB_TONE_MASK (0x00000110)

- Description: Defines the tone mask to use during symbol formation. It is represented using one bit per carrier. Holds up to 72 carriers (for FCC) so its size is 9 bytes. Bits set indicate carrier used; bits cleared indicate carrier masked. Depending on the band used, a different number of bits are taken into account. This PIB is a 9-byte array coded little endian (LSB first). The following figures show the carrier frequencies in different bands and its encoding on the PIB:
  Figure 1-33.Used Carriers on Different G3 Bandplans
  Figure 1-34.MAC PIB Tone Mask Encoding
- Access: Read-write
- Value Range: 0x00-0xFF for each of 9 bytes
- Default Value: All bytes set to 0xFF (All carriers are enabled)

## MAC_RT_PIB_BEACON_RANDOMIZATION_WINDOW_LENGTH (0x00000111)

- Description: Duration time in seconds for beacon randomization
- Access: Read-write
- Value Range: 1 byte
- Default Value: 12

## MAC_RT_PIB_A (0x00000112)

- Description: This parameter controls the adaptive CW linear decrease
- Access: Read-write
- Value Range: 1 byte
- Default Value: 8

## MAC_RT_PIB_K (0x00000113)

- Description: Rate adaptation factor for channel access fairness limit
- Access: Read-write
- Value Range: 1 byte
- Default Value: 5

## MAC_RT_PIB_MIN_CW_ATTEMPTS (0x00000114)

- Description: Number of consecutive attempts while using minimum CW
- Access: Read-write
- Value Range: 1 byte
- Default Value: 255

## MAC_RT_PIB_CENELEC_LEGACY_MODE (0x00000115)

- Description: This read only attribute indicates the capability of the node
- Access: Read-only
- Value Range: 1 byte
- Default Value: 1

## MAC_RT_PIB_FCC_LEGACY_MODE (0x00000116)

- Description: This read only attribute indicates the capability of the node
- Access: Read-only
- Value Range: 1 byte
- Default Value: 1

## MAC_RT_PIB_BROADCAST_MAX_CW_ENABLE (0x0000011E)

- Description: If enabled, MAC uses maximum contention window for Broadcast frames
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_TRANSMIT_ATTEN (0x0000011F)

- Description: Attenuation of the output level in dB
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_POS_TABLE (0x00000120)

- Description: The POS table as defined in G3-PLC Specification.

  To get all the active entries, the first step is to get the number of such active entries by means of MAC_WRP_PIB_MANUF_POS_TABLE_COUNT (0x0800001E). Then, because the table is ordered, all the entries can be obtained by iterating from 0 to the number of active entries.

- Access: Read-write
- Value Range: 5-byte entries as defined in the following structure:

      typedef struct __attribute__((packed)) {
        uint16_t shortAddress;
        uint8_t lqi;
        uint16_t posValidTime;
      } MAC_RT_POS_ENTRY;

- Default Value: Empty table

## MAC_RT_PIB_POS_RECENT_ENTRY_THRESHOLD (0x00000121)

- Description: Threshold in minutes below which POS table entries are considered as recently refreshed
- Access: Read-write
- Value Range: 1 byte
- Default Value: 120

## MAC_RT_PIB_POS_RECENT_ENTRIES (0x00000122)

- Description: Number of POS table entries having been refreshed recently and which LQI is above adpTrickleMinLQI Value
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 1

## MAC_RT_PIB_MANUF_EXTENDED_ADDRESS (0x08000001)

- Description: Extended address of this node
- Access: Read-write
- Value Range: 8 bytes
- Default Value: All bytes set to 0

## MAC_RT_PIB_MANUF_NEIGHBOUR_TABLE_ELEMENT (0x08000002)

- Description: This object has the same content as the neighbour table, but it is retrieved using the short address of the node, instead of the index inside the table. To do so, set the short address in the index field in the Get IB function. Refer to the MAC_RT_PIB_NEIGHBOUR_TABLE (0x0000010A).
- Access: Read-only
- Value Range: 19-byte entries
- Default Value: N/A

## MAC_RT_PIB_MANUF_BAND_INFORMATION (0x08000003)

- Description: This read only object returns information about the band. The intention of this IB is more internal than for G3 user. It is used by G3 stack to perform calculations based on these parameters.
- Access: Read-only
- Value Range: 10-byte entries
- Default Value: N/A

## MAC_RT_PIB_MANUF_FORCED_MOD_SCHEME (0x08000007)

- Description: Forces Modulation Scheme in every transmitted frame, instead of using neighbour table info. For testing purposes.
- Access: Read-write
- Value Range: 1 byte
  - 0 - Not forced
  - 1 - Force Differential
  - 2 - Force Coherent
- Default Value: 0

## MAC_RT_PIB_MANUF_FORCED_MOD_TYPE (0x08000008)

- Description: Forces Modulation Type in every transmitted frame, instead of using neighbour table info. For testing purposes.
- Access: Read-write
- Value Range: 1 byte
  - 0 - Not forced
  - 1 - Force BPSK_ROBO
  - 2 - Force BPSK
  - 3 - Force QPSK
  - 4 - Force 8PSK
- Default Value: 0

## MAC_RT_PIB_MANUF_FORCED_TONEMAP (0x08000009)

- Description: Forces ToneMap in every transmitted frame, instead of using neighbour table info. For testing purposes.
- Access: Read-write
- Value Range: 3 bytes
  - {0xXX, 0xXX, 0xXX} - ToneMap to be used in subsequent transmissions
  - {0x00, 0x00, 0x00} - Not forced, other value will be used as ToneMap
- Default Value: All bytes set to 0

## MAC_RT_PIB_MANUF_FORCED_MOD_SCHEME_ON_TMRESPONSE (0x0800000A)

- Description: Forces Modulation Scheme bit in Tone Map Response, instead of using PHY layer estimation info. For testing purposes.
- Access: Read-write
- Value Range: 1 byte
  - 0 - Not forced
  - 1 - Force Differential
  - 2 - Force Coherent
- Default Value: 0

## MAC_RT_PIB_MANUF_FORCED_MOD_TYPE_ON_TMRESPONSE (0x0800000B)

- Description: Forces Modulation Type bits in Tone Map Response, instead of using PHY layer estimation info. For testing purposes.
- Access: Read-write
- Value Range: 1 byte
  - 0 - Not forced
  - 1 - Force BPSK_ROBO
  - 2 - Force BPSK
  - 3 - Force QPSK
  - 4 - Force 8PSK
- Default Value: 0

## MAC_RT_PIB_MANUF_FORCED_TONEMAP_ON_TMRESPONSE (0x0800000C)

- Description: Forces ToneMap field Tone Map Response, instead of using PHY layer estimation info. For testing purposes.
- Access: Read-write
- Value Range: 3 bytes
  - {0xXX, 0xXX, 0xXX} - ToneMap to be used in subsequent transmissions
  - {0x00, 0x00, 0x00} - Not forced, other value will be used as ToneMap
- Default Value: All bytes set to 0

## MAC_RT_PIB_MANUF_LBP_FRAME_RECEIVED (0x0800000F)

- Description: Indicates whether an LBP frame for other destination has been received. For internal G3 stack purposes.
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_LNG_FRAME_RECEIVED (0x08000010)

- Description: Indicates whether an LNG frame for other destination has been received. For internal G3 stack purposes.
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_NEIGHBOUR_TABLE_COUNT (0x08000012)

- Description: Gets number of valid elements in the neighbour table
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 0

## MAC_RT_PIB_MANUF_RX_OTHER_DESTINATION_COUNT (0x08000013)

- Description: Gets number of discarded packets due to Other Destination
- Access: Read-write
- Value Range: 4 bytes
- Default Value: 0

## MAC_RT_PIB_MANUF_RX_MAC_REPETITION_COUNT (0x08000015)

- Description: Gets number of discarded packets due to MAC Repetition
- Access: Read-write
- Value Range: 4 bytes
- Default Value: 0

## MAC_RT_PIB_MANUF_RX_SEGMENT_DECODE_ERROR_COUNT (0x0800001C)

- Description: Gets number of discarded packets due to Segment Decode Error
- Access: Read-write
- Value Range: 4 bytes
- Default Value: 0

## MAC_RT_PIB_MANUF_ENABLE_MAC_SNIFFER (0x0800001D)

- Description: Enables MAC Sniffer
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_POS_TABLE_COUNT (0x0800001E)

- Description: Gets number of valid elements in the POS table
- Access: Read-write
- Value Range: 2 bytes
- Default Value: 0

## MAC_RT_PIB_MANUF_RETRIES_LEFT_TO_FORCE_ROBO (0x0800001F)

- Description: Gets or Sets number of retires left before forcing ROBO mode
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_MAC_RT_INTERNAL_VERSION (0x08000022)

- Description: Gets internal MAC RT version
- Access: Read-write
- Value Range: 6 bytes as defined in the following structure:

      typedef struct {
        uint8_t major;
        uint8_t minor;
        uint8_t revision;
        uint8_t year; // year since 2000
        uint8_t month;
        uint8_t day;
      } MAC_RT_INTERNAL_VERSION;

- Default Value: N/A

## MAC_RT_PIB_SLEEP_MODE (0x08000024)

- Description: Enable/Disable Sleep mode
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_DEBUG_SET (0x08000025)

- Description: Configures Debug mode to read memory from PLC device
- Access: Read-write
- Value Range: 7 bytes
- Default Value: All 0's

## MAC_RT_PIB_DEBUG_READ (0x08000026)

- Description: Read memory from PLC device. Address configured through MAC_WRP_PIB_MANUF_DEBUG_SET.
- Access: Read-only
- Value Range: 144 bytes
- Default Value: All 0's

## MAC_RT_PIB_MANUF_POS_TABLE_ELEMENT (0x08000027)

- Description: This object has the same content as the POS table, but it is retrieved using the short address of the node, instead of the index inside the table. To do so, set the short address in the index field in the Get IB function. Refer to the MAC_RT_PIB_POS_TABLE (0x00000120).
- Access: Read-write
- Value Range: 5-byte entries
- Default Value: N/A

## MAC_RT_PIB_MANUF_TRICKLE_MIN_LQI (0x08000028)

- Description: Minimum LQI to consider a neighbour for Trickle
- Access: Read-write
- Value Range: 1 byte
- Default Value: 60

## MAC_RT_PIB_MANUF_NEIGHBOUR_LQI (0x08000029)

- Description: LQI for a given neighbour, which short address will be indicated by index
- Access: Read-only
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_BEST_LQI (0x0800002A)

- Description: Best LQI found in neighbour table
- Access: Read-only
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_TX_HIGH_PRIORITY (0x0800002B)

- Description: Flag to indicate whether next transmission is in High Priority window
- Access: Read-write
- Value Range: 1 byte
- Default Value: 0

## MAC_RT_PIB_MANUF_RESET_TMR_TTL (0x0800002E)

- Description: Resets TMR TTL for the Short Address contained in Index
- Access: Write-only
- Value Range: 1 byte
- Default Value: N/A

## MAC_RT_PIB_GET_SET_ALL_MIB (0x08000100)

- Description: IB used to get/set the complete MIB structure at once
- Access: Read-write
- Value Range: Entire IB Table size
- Default Value: N/A

## MAC_RT_PIB_MANUF_PHY_PARAM (0x08000020)

- Description: Gets or sets a parameter in PHY layer. Index will be used to contain PHY parameter ID.

  A detailed description of the G3 PHY objects is available in G3 DRV_PLC_PHY_IDs.

- Access: Read-write
- Value Range: N/A
- Default Value: N/A

Rev: G