Microchip® Advanced Software Framework

atmegarfa1.h File Reference

ATMEGAxxxRFA1 registers description.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

Data Structures

struct  __struct_ANT_DIV_REG
 
struct  __struct_BATMON_REG
 
struct  __struct_CCA_THRES_REG
 
struct  __struct_CSMA_BE_REG
 
struct  __struct_CSMA_SEED_1_REG
 
struct  __struct_FTN_CTRL_REG
 
struct  __struct_IRQ_MASK_REG
 
struct  __struct_IRQ_STATUS_REG
 
struct  __struct_PHY_CC_CCA_REG
 
struct  __struct_PHY_RSSI_REG
 
struct  __struct_PHY_TX_PWR_REG
 
struct  __struct_PLL_CF_REG
 
struct  __struct_PLL_DCU_REG
 
struct  __struct_RX_CTRL_REG
 
struct  __struct_RX_SYN_REG
 
struct  __struct_TRX_CTRL_1_REG
 
struct  __struct_TRX_CTRL_2_REG
 
struct  __struct_TRX_STATE_REG
 
struct  __struct_TRX_STATUS_REG
 
struct  __struct_TRXPR_REG
 
struct  __struct_VREG_CTRL_REG
 
struct  __struct_XAH_CTRL_0_REG
 
struct  __struct_XAH_CTRL_1_REG
 
struct  __struct_XOSC_CTRL_REG
 

Macros

#define AES_BLOCK_SIZE   16
 
#define AES_CTRL_DIR   3
 
#define AES_CTRL_IM   2
 
#define AES_CTRL_MODE   5
 
#define AES_CTRL_REQUEST   7
 
#define AES_STATUS_ER   7
 
#define AES_STATUS_RY   0
 
#define ANT_DIV_REG   MMIO_REG(0x14D, uint8_t)
 
#define ANT_DIV_REG_s   MMIO_REG(0x14D, struct __struct_ANT_DIV_REG)
 
#define BATMON_REG   MMIO_REG(0x151, uint8_t)
 
#define BATMON_REG_s   MMIO_REG(0x151, struct __struct_BATMON_REG)
 
#define CCA_THRES_REG   MMIO_REG(0x149, uint8_t)
 
#define CCA_THRES_REG_s   MMIO_REG(0x149, struct __struct_CCA_THRES_REG)
 
#define CSMA_BE_REG   MMIO_REG(0x16F, uint8_t)
 
#define CSMA_BE_REG_s   MMIO_REG(0x16F, struct __struct_CSMA_BE_REG)
 
#define CSMA_SEED_0_REG   MMIO_REG(0x16D, uint8_t)
 
#define CSMA_SEED_1_REG   MMIO_REG(0x16E, uint8_t)
 
#define CSMA_SEED_1_REG_s   MMIO_REG(0x16E, struct __struct_CSMA_SEED_1_REG)
 
#define FTN_CTRL_REG   MMIO_REG(0x158, uint8_t)
 
#define FTN_CTRL_REG_s   MMIO_REG(0x158, struct __struct_FTN_CTRL_REG)
 
#define IEEE_ADDR_0_REG   MMIO_REG(0x164, uint8_t)
 
#define IEEE_ADDR_1_REG   MMIO_REG(0x165, uint8_t)
 
#define IEEE_ADDR_2_REG   MMIO_REG(0x166, uint8_t)
 
#define IEEE_ADDR_3_REG   MMIO_REG(0x167, uint8_t)
 
#define IEEE_ADDR_4_REG   MMIO_REG(0x168, uint8_t)
 
#define IEEE_ADDR_5_REG   MMIO_REG(0x169, uint8_t)
 
#define IEEE_ADDR_6_REG   MMIO_REG(0x16A, uint8_t)
 
#define IEEE_ADDR_7_REG   MMIO_REG(0x16B, uint8_t)
 
#define IRQ_MASK_REG   MMIO_REG(0x14E, uint8_t)
 
#define IRQ_MASK_REG_s   MMIO_REG(0x14E, struct __struct_IRQ_MASK_REG)
 
#define IRQ_STATUS_CLEAR_VALUE   0xff
 
#define IRQ_STATUS_REG   MMIO_REG(0x14F, uint8_t)
 
#define IRQ_STATUS_REG_s   MMIO_REG(0x14F, struct __struct_IRQ_STATUS_REG)
 
#define MAN_ID_0_REG   MMIO_REG(0x15E, uint8_t)
 
#define MAN_ID_1_REG   MMIO_REG(0x15F, uint8_t)
 
#define MMIO_REG(mem_addr, type)   (*(volatile type *)(mem_addr))
 
#define PAN_ID_0_REG   MMIO_REG(0x162, uint8_t)
 
#define PAN_ID_1_REG   MMIO_REG(0x163, uint8_t)
 
#define PART_NUM_REG   MMIO_REG(0x15C, uint8_t)
 
#define PHY_CC_CCA_REG   MMIO_REG(0x148, uint8_t)
 
#define PHY_CC_CCA_REG_s   MMIO_REG(0x148, struct __struct_PHY_CC_CCA_REG)
 
#define PHY_ED_LEVEL_REG   MMIO_REG(0x147, uint8_t)
 
#define PHY_RSSI_REG   MMIO_REG(0x146, uint8_t)
 
#define PHY_RSSI_REG_s   MMIO_REG(0x146, struct __struct_PHY_RSSI_REG)
 
#define PHY_TX_PWR_REG   MMIO_REG(0x145, uint8_t)
 
#define PHY_TX_PWR_REG_s   MMIO_REG(0x145, struct __struct_PHY_TX_PWR_REG)
 
#define PLL_CF_REG   MMIO_REG(0x15A, uint8_t)
 
#define PLL_CF_REG_s   MMIO_REG(0x15A, struct __struct_PLL_CF_REG)
 
#define PLL_DCU_REG   MMIO_REG(0x15B, uint8_t)
 
#define PLL_DCU_REG_s   MMIO_REG(0x15B, struct __struct_PLL_DCU_REG)
 
#define RANDOM_NUMBER_UPDATE_INTERVAL   1 /* us */
 
#define RX_CTRL_REG   MMIO_REG(0x14A, uint8_t)
 
#define RX_CTRL_REG_s   MMIO_REG(0x14A, struct __struct_RX_CTRL_REG)
 
#define RX_SYN_REG   MMIO_REG(0x155, uint8_t)
 
#define RX_SYN_REG_s   MMIO_REG(0x155, struct __struct_RX_SYN_REG)
 
#define SFD_VALUE_REG   MMIO_REG(0x14B, uint8_t)
 
#define SHORT_ADDR_0_REG   MMIO_REG(0x160, uint8_t)
 
#define SHORT_ADDR_1_REG   MMIO_REG(0x161, uint8_t)
 
#define TRX_CTRL_1_REG   MMIO_REG(0x144, uint8_t)
 
#define TRX_CTRL_1_REG_s   MMIO_REG(0x144, struct __struct_TRX_CTRL_1_REG)
 
#define TRX_CTRL_2_REG   MMIO_REG(0x14C, uint8_t)
 
#define TRX_CTRL_2_REG_s   MMIO_REG(0x14C, struct __struct_TRX_CTRL_2_REG)
 
#define TRX_FRAME_BUFFER(index)   MMIO_REG(0x180 + (index), uint8_t)
 
#define TRX_STATE_REG   MMIO_REG(0x142, uint8_t)
 
#define TRX_STATE_REG_s   MMIO_REG(0x142, struct __struct_TRX_STATE_REG)
 
#define TRX_STATUS_REG   MMIO_REG(0x141, uint8_t)
 
#define TRX_STATUS_REG_s   MMIO_REG(0x141, struct __struct_TRX_STATUS_REG)
 
#define TRXPR_REG   MMIO_REG(0x139, uint8_t)
 
#define TRXPR_REG_s   MMIO_REG(0x139, struct __struct_TRXPR_REG)
 
#define TST_CTRL_DIGI_REG   MMIO_REG(0x176, uint8_t)
 
#define TST_RX_LENGTH_REG   MMIO_REG(0x17B, uint8_t)
 
#define VERSION_NUM_REG   MMIO_REG(0x15D, uint8_t)
 
#define VREG_CTRL_REG   MMIO_REG(0x150, uint8_t)
 
#define VREG_CTRL_REG_s   MMIO_REG(0x150, struct __struct_VREG_CTRL_REG)
 
#define XAH_CTRL_0_REG   MMIO_REG(0x16C, uint8_t)
 
#define XAH_CTRL_0_REG_s   MMIO_REG(0x16C, struct __struct_XAH_CTRL_0_REG)
 
#define XAH_CTRL_1_REG   MMIO_REG(0x157, uint8_t)
 
#define XAH_CTRL_1_REG_s   MMIO_REG(0x157, struct __struct_XAH_CTRL_1_REG)
 
#define XOSC_CTRL_REG   MMIO_REG(0x152, uint8_t)
 
#define XOSC_CTRL_REG_s   MMIO_REG(0x152, struct __struct_XOSC_CTRL_REG)
 

Enumerations

enum  {
  TRX_STATUS_P_ON = 0,
  TRX_STATUS_BUSY_RX = 1,
  TRX_STATUS_BUSY_TX = 2,
  TRX_STATUS_RX_ON = 6,
  TRX_STATUS_TRX_OFF = 8,
  TRX_STATUS_PLL_ON = 9,
  TRX_STATUS_SLEEP = 15,
  TRX_STATUS_BUSY_RX_AACK = 17,
  TRX_STATUS_BUSY_TX_ARET = 18,
  TRX_STATUS_RX_AACK_ON = 22,
  TRX_STATUS_TX_ARET_ON = 25,
  TRX_STATUS_RX_ON_NOCLK = 28,
  TRX_STATUS_RX_AACK_ON_NOCLK = 29,
  TRX_STATUS_BUSY_RX_AACK_NOCLK = 30,
  TRX_STATUS_STATE_TRANSITION_IN_PROGRESS = 31
}
 
enum  {
  TRX_CMD_NOP = 0,
  TRX_CMD_TX_START = 2,
  TRX_CMD_FORCE_TRX_OFF = 3,
  TRX_CMD_FORCE_PLL_ON = 4,
  TRX_CMD_RX_ON = 6,
  TRX_CMD_TRX_OFF = 8,
  TRX_CMD_PLL_ON = 9,
  TRX_CMD_RX_AACK_ON = 22,
  TRX_CMD_TX_ARET_ON = 25
}
 
enum  {
  TRAC_STATUS_SUCCESS = 0,
  TRAC_STATUS_SUCCESS_DATA_PENDING = 1,
  TRAC_STATUS_SUCCESS_WAIT_FOR_ACK = 2,
  TRAC_STATUS_CHANNEL_ACCESS_FAILURE = 3,
  TRAC_STATUS_NO_ACK = 5,
  TRAC_STATUS_INVALID = 7
}
 
enum  {
  TX_PWR_3_5_DBM = 0x00,
  TX_PWR_3_3_DBM = 0x01,
  TX_PWR_2_8_DBM = 0x02,
  TX_PWR_2_3_DBM = 0x03,
  TX_PWR_1_8_DBM = 0x04,
  TX_PWR_1_2_DBM = 0x05,
  TX_PWR_0_5_DBM = 0x06,
  TX_PWR_MIN_0_5_DBM = 0x07,
  TX_PWR_MIN_1_5_DBM = 0x08,
  TX_PWR_MIN_2_5_DBM = 0x09,
  TX_PWR_MIN_3_5_DBM = 0x0A,
  TX_PWR_MIN_4_5_DBM = 0x0B,
  TX_PWR_MIN_6_5_DBM = 0x0C,
  TX_PWR_MIN_8_5_DBM = 0x0D,
  TX_PWR_MIN_11_5_DBM = 0x0E,
  TX_PWR_MIN_16_5_DBM = 0x0F
}
 
enum  {
  TX_PWR_PA_LT_2US = 0,
  TX_PWR_PA_LT_4US = 1,
  TX_PWR_PA_LT_6US = 2,
  TX_PWR_PA_LT_8US = 3
}
 
enum  {
  TX_PWR_PA_BUF_LT_0US = 0,
  TX_PWR_PA_BUF_LT_2US = 1,
  TX_PWR_PA_BUF_LT_4US = 2,
  TX_PWR_PA_BUF_LT_6US = 3
}