![]() |
no-OS
|
Header file of ADF7023 Driver. More...
Classes | |
| struct | adf7023_bbram |
| struct | adf7023_dev |
| struct | adf7023_init_param |
Functions | |
| int32_t | adf7023_init (struct adf7023_dev **device, struct adf7023_init_param init_param) |
| Initializes the ADF7023. | |
| int32_t | adf7023_remove (struct adf7023_dev *dev) |
| Free the resources allocated by adf7023_init(). | |
| void | adf7023_get_status (struct adf7023_dev *dev, uint8_t *status) |
| Reads the status word of the ADF7023. | |
| void | adf7023_set_command (struct adf7023_dev *dev, uint8_t command) |
| Initiates a command. | |
| void | adf7023_set_fw_state (struct adf7023_dev *dev, uint8_t fw_state) |
| Sets a FW state and waits until the device enters in that state. | |
| void | adf7023_get_ram (struct adf7023_dev *dev, uint32_t address, uint32_t length, uint8_t *data) |
| Reads data from the RAM. | |
| void | adf7023_set_ram (struct adf7023_dev *dev, uint32_t address, uint32_t length, uint8_t *data) |
| Writes data to RAM. | |
| void | adf7023_receive_packet (struct adf7023_dev *dev, uint8_t *packet, uint8_t *length) |
| Receives one packet. | |
| void | adf7023_transmit_packet (struct adf7023_dev *dev, uint8_t *packet, uint8_t length) |
| Transmits one packet. | |
| void | adf7023_set_channel_frequency (struct adf7023_dev *dev, uint32_t ch_freq) |
| Sets the channel frequency. | |
| void | adf7023_set_data_rate (struct adf7023_dev *dev, uint32_t data_rate) |
| Sets the data rate. | |
| void | adf7023_set_frequency_deviation (struct adf7023_dev *dev, uint32_t freq_dev) |
| Sets the frequency deviation. | |
Header file of ADF7023 Driver.
Copyright 2013(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
| #define ADF7023_RX_BASE_ADR 0x10 |
| #define ADF7023_TX_BASE_ADR 0x10 |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_ADDRESS_MATCH (0x1 << 3) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_AES_DONE (0x1 << 5) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_CRC_CORRECT (0x1 << 2) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_NUM_WAKEUPS (0x1 << 7) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_PREMABLE_DETECT (0x1 << 0) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_SWM_RSSI_DET (0x1 << 6) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_SYNC_DETECT (0x1 << 1) |
| #define BBRAM_INTERRUPT_MASK_0_INTERRUPT_TX_EOF (0x1 << 4) |
| #define BBRAM_INTERRUPT_MASK_1_BATTERY_ALARM (0x1 << 7) |
| #define BBRAM_INTERRUPT_MASK_1_CMD_FINISHED (0x1 << 0) |
| #define BBRAM_INTERRUPT_MASK_1_CMD_READY (0x1 << 6) |
| #define BBRAM_INTERRUPT_MASK_1_SPI_READY (0x1 << 1) |
| #define BBRAM_INTERRUPT_MASK_1_WUC_TIMEOUT (0x1 << 4) |
| #define BBRAM_MODE_CONTROL_BB_CAL (0x1 << 6) |
| #define BBRAM_MODE_CONTROL_CUSTOM_TRX_SYNTH_LOCK_TIME_EN (0x1 << 2) |
| #define BBRAM_MODE_CONTROL_EXT_LNA_EN (0x1 << 1) |
| #define BBRAM_MODE_CONTROL_EXT_PA_EN (0x1 << 0) |
| #define BBRAM_MODE_CONTROL_RX_TO_TX_AUTO_TURNAROUND (0x1 << 3) |
| #define BBRAM_MODE_CONTROL_SWM_EN (0x1 << 7) |
| #define BBRAM_MODE_CONTROL_SWM_RSSI_QUAL (0x1 << 5) |
| #define BBRAM_MODE_CONTROL_TX_TO_RX_AUTO_TURNAROUND (0x1 << 4) |
| #define BBRAM_PACKET_LENGTH_CONTROL_CRC_EN (0x1 << 5) |
| #define BBRAM_PACKET_LENGTH_CONTROL_DATA_BYTE (0x1 << 7) |
| #define BBRAM_PACKET_LENGTH_CONTROL_DATA_MODE | ( | x | ) |
| #define BBRAM_PACKET_LENGTH_CONTROL_LENGTH_OFFSET | ( | x | ) |
| #define BBRAM_PACKET_LENGTH_CONTROL_PACKET_LEN (0x1 << 6) |
| #define BBRAM_RADIO_CFG_0_DATA_RATE_7_0 | ( | x | ) |
| #define BBRAM_RADIO_CFG_10_AFC_LOCK_MODE | ( | x | ) |
| #define BBRAM_RADIO_CFG_10_AFC_POLARITY (0x0 << 4) |
| #define BBRAM_RADIO_CFG_10_AFC_SCHEME | ( | x | ) |
| #define BBRAM_RADIO_CFG_11_AFC_KI | ( | x | ) |
| #define BBRAM_RADIO_CFG_11_AFC_KP | ( | x | ) |
| #define BBRAM_RADIO_CFG_1_DATA_RATE_11_8 | ( | x | ) |
| #define BBRAM_RADIO_CFG_1_FREQ_DEVIATION_11_8 | ( | x | ) |
| #define BBRAM_RADIO_CFG_2_FREQ_DEVIATION_7_0 | ( | x | ) |
| #define BBRAM_RADIO_CFG_6_DISCRIM_PHASE | ( | x | ) |
| #define BBRAM_RADIO_CFG_6_SYNTH_LUT_CONFIG_0 | ( | x | ) |
| #define BBRAM_RADIO_CFG_7_AGC_LOCK_MODE | ( | x | ) |
| #define BBRAM_RADIO_CFG_7_SYNTH_LUT_CONFIG_1 | ( | x | ) |
| #define BBRAM_RADIO_CFG_7_SYNTH_LUT_CONTROL | ( | x | ) |
| #define BBRAM_RADIO_CFG_8_PA_LEVEL | ( | x | ) |
| #define BBRAM_RADIO_CFG_8_PA_RAMP | ( | x | ) |
| #define BBRAM_RADIO_CFG_8_PA_SINGLE_DIFF_SEL (0x1 << 7) |
| #define BBRAM_RADIO_CFG_9_DEMOD_SCHEME | ( | x | ) |
| #define BBRAM_RADIO_CFG_9_IFBW | ( | x | ) |
| #define BBRAM_RADIO_CFG_9_MOD_SCHEME | ( | x | ) |
| #define BBRAM_REG_ADDRESS_FILTERING_0 0x12B |
| #define BBRAM_REG_ADDRESS_FILTERING_1 0x12C |
| #define BBRAM_REG_ADDRESS_FILTERING_10 0x135 |
| #define BBRAM_REG_ADDRESS_FILTERING_11 0x136 |
| #define BBRAM_REG_ADDRESS_FILTERING_12 0x137 |
| #define BBRAM_REG_ADDRESS_FILTERING_2 0x12D |
| #define BBRAM_REG_ADDRESS_FILTERING_3 0x12E |
| #define BBRAM_REG_ADDRESS_FILTERING_4 0x12F |
| #define BBRAM_REG_ADDRESS_FILTERING_5 0x130 |
| #define BBRAM_REG_ADDRESS_FILTERING_6 0x131 |
| #define BBRAM_REG_ADDRESS_FILTERING_7 0x132 |
| #define BBRAM_REG_ADDRESS_FILTERING_8 0x133 |
| #define BBRAM_REG_ADDRESS_FILTERING_9 0x134 |
| #define BBRAM_REG_ADDRESS_LENGTH 0x12A |
| #define BBRAM_REG_ADDRESS_MATCH_OFFSET 0x129 |
| #define BBRAM_REG_CHANNEL_FREQ_0 0x109 |
| #define BBRAM_REG_CHANNEL_FREQ_1 0x10A |
| #define BBRAM_REG_CHANNEL_FREQ_2 0x10B |
| #define BBRAM_REG_CRC_POLY_0 0x11E |
| #define BBRAM_REG_CRC_POLY_1 0x11F |
| #define BBRAM_REG_IMAGE_REJECT_CAL_AMPLITUDE 0x119 |
| #define BBRAM_REG_IMAGE_REJECT_CAL_PHASE 0x118 |
| #define BBRAM_REG_INTERRUPT_MASK_0 0x100 |
| #define BBRAM_REG_INTERRUPT_MASK_1 0x101 |
| #define BBRAM_REG_MODE_CONTROL 0x11A |
| #define BBRAM_REG_NUMBER_OF_WAKEUPS_0 0x102 |
| #define BBRAM_REG_NUMBER_OF_WAKEUPS_1 0x103 |
| #define BBRAM_REG_NUMBER_OF_WAKEUPS_IRQ_THRESHOLD_0 0x104 |
| #define BBRAM_REG_NUMBER_OF_WAKEUPS_IRQ_THRESHOLD_1 0x105 |
| #define BBRAM_REG_PACKET_LENGTH_CONTROL 0x126 |
| #define BBRAM_REG_PACKET_LENGTH_MAX 0x127 |
| #define BBRAM_REG_PARMTIME_DIVIDER 0x107 |
| #define BBRAM_REG_PREAMBLE_LEN 0x11D |
| #define BBRAM_REG_PREAMBLE_MATCH 0x11B |
| #define BBRAM_REG_RADIO_CFG_0 0x10C |
| #define BBRAM_REG_RADIO_CFG_1 0x10D |
| #define BBRAM_REG_RADIO_CFG_10 0x116 |
| #define BBRAM_REG_RADIO_CFG_11 0x117 |
| #define BBRAM_REG_RADIO_CFG_2 0x10E |
| #define BBRAM_REG_RADIO_CFG_3 0x10F |
| #define BBRAM_REG_RADIO_CFG_4 0x110 |
| #define BBRAM_REG_RADIO_CFG_5 0x111 |
| #define BBRAM_REG_RADIO_CFG_6 0x112 |
| #define BBRAM_REG_RADIO_CFG_7 0x113 |
| #define BBRAM_REG_RADIO_CFG_8 0x114 |
| #define BBRAM_REG_RADIO_CFG_9 0x115 |
| #define BBRAM_REG_RESERVED_0 0x13B |
| #define BBRAM_REG_RESERVED_1 0x13C |
| #define BBRAM_REG_RESERVED_2 0x13D |
| #define BBRAM_REG_RSSI_WAIT_TIME 0x138 |
| #define BBRAM_REG_RX_BASE_ADR 0x125 |
| #define BBRAM_REG_RX_DWELL_TIME 0x106 |
| #define BBRAM_REG_RX_SYNTH_LOCK_TIME 0x13E |
| #define BBRAM_REG_STATIC_REG_FIX 0x128 |
| #define BBRAM_REG_SWM_RSSI_THRESH 0x108 |
| #define BBRAM_REG_SYMBOL_MODE 0x11C |
| #define BBRAM_REG_SYNC_BYTE_0 0x121 |
| #define BBRAM_REG_SYNC_BYTE_1 0x122 |
| #define BBRAM_REG_SYNC_BYTE_2 0x123 |
| #define BBRAM_REG_SYNC_CONTROL 0x120 |
| #define BBRAM_REG_TESTMODES 0x139 |
| #define BBRAM_REG_TRANSITION_CLOCK_DIV 0x13A |
| #define BBRAM_REG_TX_BASE_ADR 0x124 |
| #define BBRAM_REG_TX_SYNTH_LOCK_TIME 0x13F |
| #define BBRAM_SYMBOL_MODE_DATA_WHITENING (0x1 << 3) |
| #define BBRAM_SYMBOL_MODE_EIGHT_TEN_ENC (0x1 << 4) |
| #define BBRAM_SYMBOL_MODE_MANCHESTER_ENC (0x1 << 6) |
| #define BBRAM_SYMBOL_MODE_PROG_CRC_EN (0x1 << 5) |
| #define BBRAM_SYMBOL_MODE_SYMBOL_LENGTH | ( | x | ) |
| #define BBRAM_SYNC_CONTROL_SYNC_ERROR_TOL | ( | x | ) |
| #define BBRAM_SYNC_CONTROL_SYNC_WORD_LENGTH | ( | x | ) |
| #define BBRAM_TESTMODES_CONTINUOUS_RX (0x1 << 0) |
| #define BBRAM_TESTMODES_CONTINUOUS_TX (0x1 << 1) |
| #define BBRAM_TESTMODES_EXT_PA_LNA_ATB_CONFIG (0x1 << 7) |
| #define BBRAM_TESTMODES_PER_ENABLE (0x1 << 2) |
| #define BBRAM_TESTMODES_PER_IRQ_SELF_CLEAR (0x1 << 3) |
| #define CMD_AES_DECRYPT 0xD2 |
| #define CMD_AES_DECRYPT_INIT 0xD1 |
| #define CMD_AES_ENCRYPT 0xD0 |
| #define CMD_BB_CAL 0xBE |
| #define CMD_CONFIG_DEV 0xBB |
| #define CMD_GET_RSSI 0xBC |
| #define CMD_HW_RESET 0xC8 |
| #define CMD_IR_CAL 0xBD |
| #define CMD_PHY_OFF 0xB0 |
| #define CMD_PHY_ON 0xB1 |
| #define CMD_PHY_RX 0xB2 |
| #define CMD_PHY_SLEEP 0xBA |
| #define CMD_PHY_TX 0xB5 |
| #define CMD_RAM_LOAD_DONE 0xC7 |
| #define CMD_RAM_LOAD_INIT 0xBF |
| #define CMD_RS_DECODE 0xD2 |
| #define CMD_RS_ENCODE 0xD0 |
| #define CMD_RS_ENCODE_INIT 0xD1 |
| #define CMD_SYNC 0xA2 |
| #define FW_STATE_AES_DECRYPT 0x09 |
| #define FW_STATE_AES_DECRYPT_INIT 0x08 |
| #define FW_STATE_AES_ENCRYPT 0x0A |
| #define FW_STATE_BUSY 0x00 |
| #define FW_STATE_GET_RSSI 0x05 |
| #define FW_STATE_INIT 0x0F |
| #define FW_STATE_IR_CAL 0x07 |
| #define FW_STATE_PHY_OFF 0x11 |
| #define FW_STATE_PHY_ON 0x12 |
| #define FW_STATE_PHY_RX 0x13 |
| #define FW_STATE_PHY_SLEEP 0x06 |
| #define FW_STATE_PHY_TX 0x14 |
| #define MCR_REG_ADC_CONFIG_HIGH 0x35A |
| #define MCR_REG_ADC_CONFIG_LOW 0x359 |
| #define MCR_REG_ADC_READBACK_HIGH 0x327 |
| #define MCR_REG_ADC_READBACK_LOW 0x328 |
| #define MCR_REG_AGC_ADC_WORD 0x361 |
| #define MCR_REG_AGC_CLK_DIVIDE 0x32F |
| #define MCR_REG_AGC_CONFIG 0x35C |
| #define MCR_REG_AGC_GAIN_STATUS 0x360 |
| #define MCR_REG_AGC_HIGH_THRESHOLD 0x35F |
| #define MCR_REG_AGC_LOW_THRESHOLD 0x35E |
| #define MCR_REG_AGC_MODE 0x35D |
| #define MCR_REG_AGC_OOK_CONTROL 0x35B |
| #define MCR_REG_ANALOG_TEST_BUS 0x3F8 |
| #define MCR_REG_BATTERY_MONITOR_THRESHOLD_VOLTAGE 0x32D |
| #define MCR_REG_CALIBRATION_CONTROL 0x338 |
| #define MCR_REG_CALIBRATION_STATUS 0x339 |
| #define MCR_REG_CHIP_SHUTDOWN 0x322 |
| #define MCR_REG_EXT_UC_CLK_DIVIDE 0x32E |
| #define MCR_REG_FREQUENCY_ERROR_READBACK 0x372 |
| #define MCR_REG_GPIO_CONFIGURE 0x3FA |
| #define MCR_REG_IMAGE_REJECT_CAL_CONFIG 0x319 |
| #define MCR_REG_INTERRUPT_SOURCE_0 0x336 |
| #define MCR_REG_INTERRUPT_SOURCE_1 0x337 |
| #define MCR_REG_MAX_AFC_RANGE 0x315 |
| #define MCR_REG_OSC_CONFIG 0x3D2 |
| #define MCR_REG_PA_LEVEL_MCR 0x307 |
| #define MCR_REG_POWERDOWN_AUX 0x325 |
| #define MCR_REG_POWERDOWN_RX 0x324 |
| #define MCR_REG_RCOSC_CAL_READBACK_HIGH 0x34F |
| #define MCR_REG_RCOSC_CAL_READBACK_LOW 0x350 |
| #define MCR_REG_RSSI_READBACK 0x312 |
| #define MCR_REG_RSSI_TSTMUX_SEL 0x3F9 |
| #define MCR_REG_RXBB_CAL_CALWRD_OVERWRITE 0x346 |
| #define MCR_REG_RXBB_CAL_CALWRD_READBACK 0x345 |
| #define MCR_REG_TEST_DAC_GAIN 0x3FD |
| #define MCR_REG_VCO_AMPL_OVRW_VAL 0x3CC |
| #define MCR_REG_VCO_AMPL_READBACK 0x3DB |
| #define MCR_REG_VCO_BAND_OVRW_VAL 0x3CB |
| #define MCR_REG_VCO_BAND_READBACK 0x3DA |
| #define MCR_REG_VCO_CAL_CFG 0x3D0 |
| #define MCR_REG_VCO_OVRW_EN 0x3CD |
| #define MCR_REG_WUC_CONFIG_HIGH 0x30C |
| #define MCR_REG_WUC_CONFIG_LOW 0x30D |
| #define MCR_REG_WUC_FLAG_RESET 0x310 |
| #define MCR_REG_WUC_STATUS 0x311 |
| #define MCR_REG_WUC_VALUE_HIGH 0x30E |
| #define MCR_REG_WUC_VALUE_LOW 0x30F |
| #define SPI_MEM_RD 0x38 |
| #define SPI_MEM_WR 0x18 |
| #define SPI_MEMR_RD 0x28 |
| #define SPI_MEMR_WR 0x08 |
| #define SPI_NOP 0xFF |
| #define STATUS_CMD_READY (0x1 << 5) |
| #define STATUS_FW_STATE (0x1F << 0) |
| #define STATUS_IRQ_STATUS (0x1 << 6) |
| #define STATUS_SPI_READY (0x1 << 7) |
| void adf7023_get_ram | ( | struct adf7023_dev * | dev, |
| uint32_t | address, | ||
| uint32_t | length, | ||
| uint8_t * | data ) |
Reads data from the RAM.
| dev | - The device structure. |
| address | - Start address. |
| length | - Number of bytes to write. |
| data | - Read buffer. |
| void adf7023_get_status | ( | struct adf7023_dev * | dev, |
| uint8_t * | status ) |
Reads the status word of the ADF7023.
| dev | - The device structure. |
| status | - Status word. |
| int32_t adf7023_init | ( | struct adf7023_dev ** | device, |
| struct adf7023_init_param | init_param ) |
Initializes the ADF7023.
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
| void adf7023_receive_packet | ( | struct adf7023_dev * | dev, |
| uint8_t * | packet, | ||
| uint8_t * | length ) |
Receives one packet.
| dev | - The device structure. |
| packet | - Data buffer. |
| length | - Number of received bytes. |
| int32_t adf7023_remove | ( | struct adf7023_dev * | dev | ) |
Free the resources allocated by adf7023_init().
| dev | - The device structure. |
| void adf7023_set_channel_frequency | ( | struct adf7023_dev * | dev, |
| uint32_t | ch_freq ) |
Sets the channel frequency.
| dev | - The device structure. |
| ch_freq | - Channel frequency. |
| void adf7023_set_command | ( | struct adf7023_dev * | dev, |
| uint8_t | command ) |
Initiates a command.
| dev | - The device structure. |
| command | - Command. |
| void adf7023_set_data_rate | ( | struct adf7023_dev * | dev, |
| uint32_t | data_rate ) |
Sets the data rate.
| dev | - The device structure. |
| data_rate | - Data rate. |
| void adf7023_set_frequency_deviation | ( | struct adf7023_dev * | dev, |
| uint32_t | freq_dev ) |
Sets the frequency deviation.
| dev | - The device structure. |
| freq_dev | - Frequency deviation. |
| void adf7023_set_fw_state | ( | struct adf7023_dev * | dev, |
| uint8_t | fw_state ) |
Sets a FW state and waits until the device enters in that state.
| dev | - The device structure. |
| fw_state | - FW state. |
| void adf7023_set_ram | ( | struct adf7023_dev * | dev, |
| uint32_t | address, | ||
| uint32_t | length, | ||
| uint8_t * | data ) |
Writes data to RAM.
| dev | - The device structure. |
| address | - Start address. |
| length | - Number of bytes to write. |
| data | - Write buffer. |
| void adf7023_transmit_packet | ( | struct adf7023_dev * | dev, |
| uint8_t * | packet, | ||
| uint8_t | length ) |
Transmits one packet.
| dev | - The device structure. |
| packet | - Data buffer. |
| length | - Number of bytes to transmit. |