| LibDriver LLCC68 1.0.0 LLCC68 full function driver

Data Structures | Typedefs | Enumerations | Functions
llcc68 command driver function
llcc68 driver function

llcc68 command driver modules More...

## Data Structures
struct | llcc68_handle_s
| llcc68 handle structure definition More...
struct | llcc68_info_s
| llcc68 information structure definition More...

## Typedefs
typedef struct llcc68_handle_s | llcc68_handle_t
| llcc68 handle structure definition More...
typedef struct llcc68_info_s | llcc68_info_t
| llcc68 information structure definition More...

## Enumerations
enum | llcc68_bool_t { LLCC68_BOOL_FALSE = 0x00 , LLCC68_BOOL_TRUE = 0x01 }
| llcc68 bool enumeration definition More...
enum | llcc68_start_mode_t { LLCC68_START_MODE_COLD = 0x00 , LLCC68_START_MODE_WARM = 0x01 }
| llcc68 start mode enumeration definition More...
enum | llcc68_clock_source_t { LLCC68_CLOCK_SOURCE_RC_13M = 0x00 , LLCC68_CLOCK_SOURCE_XTAL_32MHZ = 0x01 }
| llcc68 clock source enumeration definition More...
enum | llcc68_regulator_mode_t { LLCC68_REGULATOR_MODE_ONLY_LDO = 0x00 , LLCC68_REGULATOR_MODE_DC_DC_LDO = 0x01 }
| llcc68 regulator mode enumeration definition More...
enum | llcc68_calibration_t { LLCC68_CALIBRATION_RC64K = (1 << 0) , LLCC68_CALIBRATION_RC13M = (1 << 1) , LLCC68_CALIBRATION_PLL = (1 << 2) , LLCC68_CALIBRATION_ADC_PULSE = (1 << 3) , LLCC68_CALIBRATION_ADC_BULK_N = (1 << 4) , LLCC68_CALIBRATION_ADC_BULK_P = (1 << 5) , LLCC68_CALIBRATION_IMAGE = (1 << 6) }
| llcc68 calibration enumeration definition More...
enum | llcc68_irq_t { LLCC68_IRQ_TX_DONE = (1 << 0) , LLCC68_IRQ_RX_DONE = (1 << 1) , LLCC68_IRQ_PREAMBLE_DETECTED = (1 << 2) , LLCC68_IRQ_SYNC_WORD_VALID = (1 << 3) , LLCC68_IRQ_HEADER_VALID = (1 << 4) , LLCC68_IRQ_HEADER_ERR = (1 << 5) , LLCC68_IRQ_CRC_ERR = (1 << 6) , LLCC68_IRQ_CAD_DONE = (1 << 7) , LLCC68_IRQ_CAD_DETECTED = (1 << 8) , LLCC68_IRQ_TIMEOUT = (1 << 9) }
| llcc68 irq enumeration definition More...
enum | llcc68_rx_tx_fallback_mode_t { LLCC68_RX_TX_FALLBACK_MODE_FS = 0x40 , LLCC68_RX_TX_FALLBACK_MODE_STDBY_XOSC = 0x30 , LLCC68_RX_TX_FALLBACK_MODE_STDBY_RC = 0x20 }
| llcc68 rx tx fallback mode enumeration definition More...
enum | llcc68_tcxo_voltage_t { LLCC68_TCXO_VOLTAGE_1P6V = 0x00 , LLCC68_TCXO_VOLTAGE_1P7V = 0x01 , LLCC68_TCXO_VOLTAGE_1P8V = 0x02 , LLCC68_TCXO_VOLTAGE_2P2V = 0x03 , LLCC68_TCXO_VOLTAGE_2P4V = 0x04 , LLCC68_TCXO_VOLTAGE_2P7V = 0x05 , LLCC68_TCXO_VOLTAGE_3P0V = 0x06 , LLCC68_TCXO_VOLTAGE_3P3V = 0x07 }
| llcc68 tcxo voltage enumeration definition More...
enum | llcc68_packet_type_t { LLCC68_PACKET_TYPE_GFSK = 0x00 , LLCC68_PACKET_TYPE_LORA = 0x01 }
| llcc68 packet type enumeration definition More...
enum | llcc68_ramp_time_t { LLCC68_RAMP_TIME_10US = 0x00 , LLCC68_RAMP_TIME_20US = 0x01 , LLCC68_RAMP_TIME_40US = 0x02 , LLCC68_RAMP_TIME_80US = 0x03 , LLCC68_RAMP_TIME_200US = 0x04 , LLCC68_RAMP_TIME_800US = 0x05 , LLCC68_RAMP_TIME_1700US = 0x06 , LLCC68_RAMP_TIME_3400US = 0x07 }
| llcc68 ramp time enumeration definition More...
enum | llcc68_gfsk_pulse_shape_t { LLCC68_GFSK_PULSE_SHAPE_NO_FILTER = 0x00 , LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P3 = 0x08 , LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P5 = 0x09 , LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P7 = 0x0A , LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_1 = 0x0B }
| llcc68 gfsk pulse shape enumeration definition More...
enum | llcc68_gfsk_bandwidth_t { LLCC68_GFSK_BANDWIDTH_4P8_KHZ = 0x1F , LLCC68_GFSK_BANDWIDTH_5P8_KHZ = 0x17 , LLCC68_GFSK_BANDWIDTH_7P3_KHZ = 0x0F , LLCC68_GFSK_BANDWIDTH_9P7_KHZ = 0x1E , LLCC68_GFSK_BANDWIDTH_11P7_KHZ = 0x16 , LLCC68_GFSK_BANDWIDTH_14P6_KHZ = 0x0E , LLCC68_GFSK_BANDWIDTH_19P5_KHZ = 0x1D , LLCC68_GFSK_BANDWIDTH_23P4_KHZ = 0x15 , LLCC68_GFSK_BANDWIDTH_29P3_KHZ = 0x0D , LLCC68_GFSK_BANDWIDTH_39_KHZ = 0x1C , LLCC68_GFSK_BANDWIDTH_46P9_KHZ = 0x14 , LLCC68_GFSK_BANDWIDTH_58P6_KHZ = 0x0C , LLCC68_GFSK_BANDWIDTH_78P2_KHZ = 0x1B , LLCC68_GFSK_BANDWIDTH_93P8_KHZ = 0x13 , LLCC68_GFSK_BANDWIDTH_117P3_KHZ = 0x0B , LLCC68_GFSK_BANDWIDTH_156P2_KHZ = 0x1A , LLCC68_GFSK_BANDWIDTH_187P2_KHZ = 0x12 , LLCC68_GFSK_BANDWIDTH_232P3_KHZ = 0x0A , LLCC68_GFSK_BANDWIDTH_312_KHZ = 0x19 , LLCC68_GFSK_BANDWIDTH_373P6_KHZ = 0x11 , LLCC68_GFSK_BANDWIDTH_467_KHZ = 0x09 }
| llcc68 gfsk bandwidth enumeration definition More...
enum | llcc68_lora_sf_t { LLCC68_LORA_SF_5 = 0x05 , LLCC68_LORA_SF_6 = 0x06 , LLCC68_LORA_SF_7 = 0x07 , LLCC68_LORA_SF_8 = 0x08 , LLCC68_LORA_SF_9 = 0x09 , LLCC68_LORA_SF_10 = 0x0A , LLCC68_LORA_SF_11 = 0x0B }
| llcc68 lora spreading factor enumeration definition More...
enum | llcc68_lora_bandwidth_t { LLCC68_LORA_BANDWIDTH_125_KHZ = 0x04 , LLCC68_LORA_BANDWIDTH_250_KHZ = 0x05 , LLCC68_LORA_BANDWIDTH_500_KHZ = 0x06 }
| llcc68 lora bandwidth enumeration definition More...
enum | llcc68_lora_cr_t { LLCC68_LORA_CR_4_5 = 0x01 , LLCC68_LORA_CR_4_6 = 0x02 , LLCC68_LORA_CR_4_7 = 0x03 , LLCC68_LORA_CR_4_8 = 0x04 }
| llcc68 lora coding rate enumeration definition More...
enum | llcc68_gfsk_preamble_detector_length_t { LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_OFF = 0x00 , LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_8_BITS = 0x04 , LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_16_BITS = 0x05 , LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_24_BITS = 0x06 , LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_32_BITS = 0x07 }
| llcc68 gfsk preamble detector length enumeration definition More...
enum | llcc68_gfsk_addr_filter_t { LLCC68_GFSK_ADDR_FILTER_DISABLE = 0x00 , LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_ADDR = 0x01 , LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_BROADCAST_ADDR = 0x02 }
| llcc68 gfsk addr filter enumeration definition More...
enum | llcc68_gfsk_packet_type_t { LLCC68_GFSK_PACKET_TYPE_KNOWN_LENGTH = 0x00 , LLCC68_GFSK_PACKET_TYPE_VARIABLE_SIZE = 0x01 }
| llcc68 gfsk packet type enumeration definition More...
enum | llcc68_gfsk_crc_type_t { LLCC68_GFSK_CRC_TYPE_OFF = 0x01 , LLCC68_GFSK_CRC_TYPE_1_BYTE = 0x00 , LLCC68_GFSK_CRC_TYPE_2_BYTE = 0x02 , LLCC68_GFSK_CRC_TYPE_1_BYTE_INV = 0x04 , LLCC68_GFSK_CRC_TYPE_2_BYTE_INV = 0x06 }
| llcc68 gfsk crc type enumeration definition More...
enum | llcc68_lora_header_t { LLCC68_LORA_HEADER_EXPLICIT = 0x00 , LLCC68_LORA_HEADER_IMPLICIT = 0x01 }
| llcc68 lora header enumeration definition More...
enum | llcc68_lora_crc_type_t { LLCC68_LORA_CRC_TYPE_OFF = 0x00 , LLCC68_LORA_CRC_TYPE_ON = 0x01 }
| llcc68 lora crc type enumeration definition More...
enum | llcc68_lora_cad_symbol_num_t { LLCC68_LORA_CAD_SYMBOL_NUM_1 = 0x00 , LLCC68_LORA_CAD_SYMBOL_NUM_2 = 0x01 , LLCC68_LORA_CAD_SYMBOL_NUM_4 = 0x02 , LLCC68_LORA_CAD_SYMBOL_NUM_8 = 0x03 , LLCC68_LORA_CAD_SYMBOL_NUM_16 = 0x04 }
| llcc68 lora cad symbol num enumeration definition More...
enum | llcc68_lora_cad_exit_mode_t { LLCC68_LORA_CAD_EXIT_MODE_ONLY = 0x00 , LLCC68_LORA_CAD_EXIT_MODE_RX = 0x01 }
| llcc68 lora cad exit mode enumeration definition More...
enum | llcc68_fsk_rx_status_t { LLCC68_FSK_RX_STATUS_PREAMBLE_ERR = (1 << 7) , LLCC68_FSK_RX_STATUS_SYNC_ERR = (1 << 6) , LLCC68_FSK_RX_STATUS_ADDR_ERR = (1 << 5) , LLCC68_FSK_RX_STATUS_CRC_ERR = (1 << 4) , LLCC68_FSK_RX_STATUS_LENGTH_ERR = (1 << 3) , LLCC68_FSK_RX_STATUS_ABORT_ERR = (1 << 2) , LLCC68_FSK_RX_STATUS_PKT_RECEIVED = (1 << 1) , LLCC68_FSK_RX_STATUS_PKT_SEND = (1 << 0) }
| llcc68 fsk rx status enumeration definition More...
enum | llcc68_op_error_t { LLCC68_OP_ERROR_PA_RAMP_ERR = (1 << 8) , LLCC68_OP_ERROR_PLL_LOCK_ERR = (1 << 6) , LLCC68_OP_ERROR_XOSC_START_ERR = (1 << 5) , LLCC68_OP_ERROR_IMG_CALIB_ERR = (1 << 4) , LLCC68_OP_ERROR_ADC_CALIB_ERR = (1 << 3) , LLCC68_OP_ERROR_PLL_CALIB_ERR = (1 << 2) , LLCC68_OP_ERROR_RC13M_CALIB_ERR = (1 << 1) , LLCC68_OP_ERROR_RC64K_CALIB_ERR = (1 << 0) }
| llcc68 op error enumeration definition More...

## Functions
uint8_t | llcc68_info (llcc68_info_t *info)
| get chip's information More...
uint8_t | llcc68_irq_handler (llcc68_handle_t *handle)
| irq handler More...
uint8_t | llcc68_init (llcc68_handle_t *handle)
| initialize the chip More...
uint8_t | llcc68_deinit (llcc68_handle_t *handle)
| close the chip More...
uint8_t | llcc68_lora_transmit (llcc68_handle_t *handle, llcc68_clock_source_t standby_src, uint16_t preamble_length, llcc68_lora_header_t header_type, llcc68_lora_crc_type_t crc_type, llcc68_bool_t invert_iq_enable, uint8_t *buf, uint16_t len, uint32_t us)
| send the lora data More...
uint8_t | llcc68_lora_cad (llcc68_handle_t *handle, llcc68_bool_t *enable)
| run the cad More...
uint8_t | llcc68_single_receive (llcc68_handle_t *handle, double us)
| enter to the single receive mode More...
uint8_t | llcc68_continuous_receive (llcc68_handle_t *handle)
| enter to the continuous receive mode More...
uint8_t | llcc68_write_register (llcc68_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
| write the register More...
uint8_t | llcc68_read_register (llcc68_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
| read the register More...
uint8_t | llcc68_write_buffer (llcc68_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
| write the buffer More...
uint8_t | llcc68_read_buffer (llcc68_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
| read the buffer More...
uint8_t | llcc68_check_packet_error (llcc68_handle_t *handle, llcc68_bool_t *enable)
| check the packet error More...
uint8_t | llcc68_set_sleep (llcc68_handle_t *handle, llcc68_start_mode_t mode, llcc68_bool_t rtc_wake_up_enable)
| enter to the sleep mode More...
uint8_t | llcc68_set_standby (llcc68_handle_t *handle, llcc68_clock_source_t src)
| enter to the standby mode More...
uint8_t | llcc68_set_frequency_synthesis (llcc68_handle_t *handle)
| enter to the frequency synthesis mode More...
uint8_t | llcc68_set_tx (llcc68_handle_t *handle, uint32_t timeout)
| enter to the tx mode More...
uint8_t | llcc68_set_rx (llcc68_handle_t *handle, uint32_t timeout)
| enter to the rx mode More...
uint8_t | llcc68_timeout_convert_to_register (llcc68_handle_t *handle, double us, uint32_t *reg)
| convert the timeout to the register raw data More...
uint8_t | llcc68_timeout_convert_to_data (llcc68_handle_t *handle, uint32_t reg, double *us)
| convert the register raw data to the timeout More...
uint8_t | llcc68_set_stop_timer_on_preamble (llcc68_handle_t *handle, llcc68_bool_t enable)
| stop timer on preamble More...
uint8_t | llcc68_set_rx_duty_cycle (llcc68_handle_t *handle, uint32_t rx_period, uint32_t sleep_period)
| set the rx duty cycle More...
uint8_t | llcc68_set_cad (llcc68_handle_t *handle)
| run the cad More...
uint8_t | llcc68_set_tx_continuous_wave (llcc68_handle_t *handle)
| enter to the tx continuous wave mode More...
uint8_t | llcc68_set_tx_infinite_preamble (llcc68_handle_t *handle)
| enter to the tx infinite preamble mode More...
uint8_t | llcc68_set_regulator_mode (llcc68_handle_t *handle, llcc68_regulator_mode_t mode)
| set the regulator_mode More...
uint8_t | llcc68_set_calibration (llcc68_handle_t *handle, uint8_t settings)
| set the calibration settings More...
uint8_t | llcc68_set_calibration_image (llcc68_handle_t *handle, uint8_t freq1, uint8_t freq2)
| set the calibration image frequency More...
uint8_t | llcc68_set_pa_config (llcc68_handle_t *handle, uint8_t pa_duty_cycle, uint8_t hp_max)
| set the pa config More...
uint8_t | llcc68_set_rx_tx_fallback_mode (llcc68_handle_t *handle, llcc68_rx_tx_fallback_mode_t mode)
| set the rx tx fallback mode More...
uint8_t | llcc68_set_dio_irq_params (llcc68_handle_t *handle, uint16_t irq_mask, uint16_t dio1_mask, uint16_t dio2_mask, uint16_t dio3_mask)
| set the dio irq params More...
uint8_t | llcc68_get_irq_status (llcc68_handle_t *handle, uint16_t *status)
| get the irq status More...
uint8_t | llcc68_clear_irq_status (llcc68_handle_t *handle, uint16_t clear_irq_param)
| clear the irq status More...
uint8_t | llcc68_set_dio2_as_rf_switch_ctrl (llcc68_handle_t *handle, llcc68_bool_t enable)
| set dio2 as rf switch ctrl More...
uint8_t | llcc68_set_dio3_as_tcxo_ctrl (llcc68_handle_t *handle, llcc68_tcxo_voltage_t voltage, uint32_t delay)
| set dio3 as tcxo ctrl More...
uint8_t | llcc68_frequency_convert_to_register (llcc68_handle_t *handle, uint32_t freq, uint32_t *reg)
| convert the frequency to the register raw data More...
uint8_t | llcc68_frequency_convert_to_data (llcc68_handle_t *handle, uint32_t reg, uint32_t *freq)
| convert the register raw data to the frequency More...
uint8_t | llcc68_set_rf_frequency (llcc68_handle_t *handle, uint32_t reg)
| set the rf frequency More...
uint8_t | llcc68_set_packet_type (llcc68_handle_t *handle, llcc68_packet_type_t type)
| set the packet type More...
uint8_t | llcc68_get_packet_type (llcc68_handle_t *handle, llcc68_packet_type_t *type)
| get the packet type More...
uint8_t | llcc68_set_tx_params (llcc68_handle_t *handle, int8_t dbm, llcc68_ramp_time_t t)
| set the tx params More...
uint8_t | llcc68_set_gfsk_modulation_params (llcc68_handle_t *handle, uint32_t br, llcc68_gfsk_pulse_shape_t shape, llcc68_gfsk_bandwidth_t bw, uint32_t fdev)
| set the modulation params in GFSK mode More...
uint8_t | llcc68_gfsk_bit_rate_convert_to_register (llcc68_handle_t *handle, uint32_t br, uint32_t *reg)
| convert the bit rate to the register raw data More...
uint8_t | llcc68_gfsk_bit_rate_convert_to_data (llcc68_handle_t *handle, uint32_t reg, uint32_t *br)
| convert the register raw data to the bit rate More...
uint8_t | llcc68_gfsk_frequency_deviation_convert_to_register (llcc68_handle_t *handle, uint32_t freq, uint32_t *reg)
| convert the frequency deviation to the register raw data More...
uint8_t | llcc68_gfsk_frequency_deviation_convert_to_data (llcc68_handle_t *handle, uint32_t reg, uint32_t *freq)
| convert the register raw data to the frequency deviation More...
uint8_t | llcc68_set_lora_modulation_params (llcc68_handle_t *handle, llcc68_lora_sf_t sf, llcc68_lora_bandwidth_t bw, llcc68_lora_cr_t cr, llcc68_bool_t low_data_rate_optimize_enable)
| set the modulation params in LoRa mode More...
uint8_t | llcc68_set_gfsk_packet_params (llcc68_handle_t *handle, uint16_t preamble_length, llcc68_gfsk_preamble_detector_length_t detector_length, uint8_t sync_word_length, llcc68_gfsk_addr_filter_t filter, llcc68_gfsk_packet_type_t packet_type, uint8_t payload_length, llcc68_gfsk_crc_type_t crc_type, llcc68_bool_t whitening_enable)
| set the packet params in GFSK mode More...
uint8_t | llcc68_set_lora_packet_params (llcc68_handle_t *handle, uint16_t preamble_length, llcc68_lora_header_t header_type, uint8_t payload_length, llcc68_lora_crc_type_t crc_type, llcc68_bool_t invert_iq_enable)
| set the packet params in LoRa mode More...
uint8_t | llcc68_set_cad_params (llcc68_handle_t *handle, llcc68_lora_cad_symbol_num_t num, uint8_t cad_det_peak, uint8_t cad_det_min, llcc68_lora_cad_exit_mode_t mode, uint32_t timeout)
| set the cad params More...
uint8_t | llcc68_set_buffer_base_address (llcc68_handle_t *handle, uint8_t tx_base_addr, uint8_t rx_base_addr)
| set the buffer base address More...
uint8_t | llcc68_set_lora_symb_num_timeout (llcc68_handle_t *handle, uint8_t symb_num)
| set the lora symbol number timeout More...
uint8_t | llcc68_get_status (llcc68_handle_t *handle, uint8_t *status)
| get the status More...
uint8_t | llcc68_get_rx_buffer_status (llcc68_handle_t *handle, uint8_t *payload_length_rx, uint8_t *rx_start_buffer_pointer)
| get the rx buffer status More...
uint8_t | llcc68_get_gfsk_packet_status (llcc68_handle_t *handle, uint8_t *rx_status, uint8_t *rssi_sync_raw, uint8_t *rssi_avg_raw, float *rssi_sync, float *rssi_avg)
| get the packet status in GFSK mode More...
uint8_t | llcc68_get_lora_packet_status (llcc68_handle_t *handle, uint8_t *rssi_pkt_raw, uint8_t *snr_pkt_raw, uint8_t *signal_rssi_pkt_raw, float *rssi_pkt, float *snr_pkt, float *signal_rssi_pkt)
| get the packet status in LoRa mode More...
uint8_t | llcc68_get_instantaneous_rssi (llcc68_handle_t *handle, uint8_t *rssi_inst_raw, float *rssi_inst)
| get the instantaneous rssi More...
uint8_t | llcc68_get_stats (llcc68_handle_t *handle, uint16_t *pkt_received, uint16_t *pkt_crc_error, uint16_t *pkt_length_header_error)
| get the stats More...
uint8_t | llcc68_reset_stats (llcc68_handle_t *handle, uint16_t pkt_received, uint16_t pkt_crc_error, uint16_t pkt_length_header_error)
| reset the stats More...
uint8_t | llcc68_get_device_errors (llcc68_handle_t *handle, uint16_t *op_error)
| get the device errors More...
uint8_t | llcc68_clear_device_errors (llcc68_handle_t *handle)
| clear the device errors More...

## Detailed Description

llcc68 command driver modules

## Typedef Documentation

## ◆ llcc68_handle_t

typedef struct llcc68_handle_s llcc68_handle_t

llcc68 handle structure definition

## ◆ llcc68_info_t

typedef struct llcc68_info_s llcc68_info_t

llcc68 information structure definition

## Enumeration Type Documentation

## ◆ llcc68_bool_t

enum llcc68_bool_t

llcc68 bool enumeration definition

Enumerator
LLCC68_BOOL_FALSE | disable function
LLCC68_BOOL_TRUE | enable function

Definition at line 62 of file driver_llcc68.h.

## ◆ llcc68_calibration_t

enum llcc68_calibration_t

llcc68 calibration enumeration definition

Enumerator
LLCC68_CALIBRATION_RC64K | rc64k calibration
LLCC68_CALIBRATION_RC13M | rc13M calibration
LLCC68_CALIBRATION_PLL | pll calibration
LLCC68_CALIBRATION_ADC_PULSE | adc pulse calibration
LLCC68_CALIBRATION_ADC_BULK_N | adc bulk n calibration
LLCC68_CALIBRATION_ADC_BULK_P | adc bulk p calibration
LLCC68_CALIBRATION_IMAGE | image calibration

Definition at line 98 of file driver_llcc68.h.

## ◆ llcc68_clock_source_t

enum llcc68_clock_source_t

llcc68 clock source enumeration definition

Enumerator
LLCC68_CLOCK_SOURCE_RC_13M | rc 13MHz
LLCC68_CLOCK_SOURCE_XTAL_32MHZ | xtal 32MHz

Definition at line 80 of file driver_llcc68.h.

## ◆ llcc68_fsk_rx_status_t

enum llcc68_fsk_rx_status_t

llcc68 fsk rx status enumeration definition

Enumerator
LLCC68_FSK_RX_STATUS_PREAMBLE_ERR | preamble err
LLCC68_FSK_RX_STATUS_SYNC_ERR | sync err
LLCC68_FSK_RX_STATUS_ADDR_ERR | addr err
LLCC68_FSK_RX_STATUS_CRC_ERR | crc err
LLCC68_FSK_RX_STATUS_LENGTH_ERR | length err
LLCC68_FSK_RX_STATUS_ABORT_ERR | abort err
LLCC68_FSK_RX_STATUS_PKT_RECEIVED | pkt received
LLCC68_FSK_RX_STATUS_PKT_SEND | pkt send

Definition at line 340 of file driver_llcc68.h.

## ◆ llcc68_gfsk_addr_filter_t

enum llcc68_gfsk_addr_filter_t

llcc68 gfsk addr filter enumeration definition

Enumerator
LLCC68_GFSK_ADDR_FILTER_DISABLE | address filtering disable
LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_ADDR | address filtering activated on node address
LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_BROADCAST_ADDR | address filtering activated on node and broadcast addresses

Definition at line 265 of file driver_llcc68.h.

## ◆ llcc68_gfsk_bandwidth_t

enum llcc68_gfsk_bandwidth_t

llcc68 gfsk bandwidth enumeration definition

Enumerator
LLCC68_GFSK_BANDWIDTH_4P8_KHZ | 4.8 kHz
LLCC68_GFSK_BANDWIDTH_5P8_KHZ | 5.8 kHz
LLCC68_GFSK_BANDWIDTH_7P3_KHZ | 7.3 kHz
LLCC68_GFSK_BANDWIDTH_9P7_KHZ | 9.7 kHz
LLCC68_GFSK_BANDWIDTH_11P7_KHZ | 11.7 kHz
LLCC68_GFSK_BANDWIDTH_14P6_KHZ | 14.6 kHz
LLCC68_GFSK_BANDWIDTH_19P5_KHZ | 19.5 kHz
LLCC68_GFSK_BANDWIDTH_23P4_KHZ | 23.4 kHz
LLCC68_GFSK_BANDWIDTH_29P3_KHZ | 29.3 kHz
LLCC68_GFSK_BANDWIDTH_39_KHZ | 39 kHz
LLCC68_GFSK_BANDWIDTH_46P9_KHZ | 46.9 kHz
LLCC68_GFSK_BANDWIDTH_58P6_KHZ | 58.6 kHz
LLCC68_GFSK_BANDWIDTH_78P2_KHZ | 78.2 kHz
LLCC68_GFSK_BANDWIDTH_93P8_KHZ | 93.8 kHz
LLCC68_GFSK_BANDWIDTH_117P3_KHZ | 117.3 kHz
LLCC68_GFSK_BANDWIDTH_156P2_KHZ | 156.2 kHz
LLCC68_GFSK_BANDWIDTH_187P2_KHZ | 187.2 kHz
LLCC68_GFSK_BANDWIDTH_232P3_KHZ | 232.3 kHz
LLCC68_GFSK_BANDWIDTH_312_KHZ | 312 kHz
LLCC68_GFSK_BANDWIDTH_373P6_KHZ | 373.6 kHz
LLCC68_GFSK_BANDWIDTH_467_KHZ | 467 kHz

Definition at line 190 of file driver_llcc68.h.

## ◆ llcc68_gfsk_crc_type_t

enum llcc68_gfsk_crc_type_t

llcc68 gfsk crc type enumeration definition

Enumerator
LLCC68_GFSK_CRC_TYPE_OFF | no crc
LLCC68_GFSK_CRC_TYPE_1_BYTE | crc computed on 1 byte
LLCC68_GFSK_CRC_TYPE_2_BYTE | crc computed on 2 byte
LLCC68_GFSK_CRC_TYPE_1_BYTE_INV | crc computed on 1 byte and inverted
LLCC68_GFSK_CRC_TYPE_2_BYTE_INV | crc computed on 2 byte and inverted

Definition at line 286 of file driver_llcc68.h.

## ◆ llcc68_gfsk_packet_type_t

enum llcc68_gfsk_packet_type_t

llcc68 gfsk packet type enumeration definition

Enumerator
LLCC68_GFSK_PACKET_TYPE_KNOWN_LENGTH | the packet length is known on both sides, the size of the payload is not added to the packet
LLCC68_GFSK_PACKET_TYPE_VARIABLE_SIZE | the packet is on variable size, the first byte of the payload will be the size of the packet

Definition at line 275 of file driver_llcc68.h.

## ◆ llcc68_gfsk_preamble_detector_length_t

enum llcc68_gfsk_preamble_detector_length_t

llcc68 gfsk preamble detector length enumeration definition

Enumerator
LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_OFF | preamble detector length off
LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_8_BITS | preamble detector length 8 bits
LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_16_BITS | preamble detector length 16 bits
LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_24_BITS | preamble detector length 24 bits
LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_32_BITS | preamble detector length 32 bits

Definition at line 253 of file driver_llcc68.h.

## ◆ llcc68_gfsk_pulse_shape_t

enum llcc68_gfsk_pulse_shape_t

llcc68 gfsk pulse shape enumeration definition

Enumerator
LLCC68_GFSK_PULSE_SHAPE_NO_FILTER | no filter applied
LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P3 | gaussian bt 0.3
LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P5 | gaussian bt 0.5
LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P7 | gaussian bt 0.7
LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_1 | gaussian bt 1

Definition at line 178 of file driver_llcc68.h.

## ◆ llcc68_irq_t

enum llcc68_irq_t

llcc68 irq enumeration definition

Enumerator
LLCC68_IRQ_TX_DONE | packet transmission completed
LLCC68_IRQ_RX_DONE | packet received
LLCC68_IRQ_PREAMBLE_DETECTED | preamble detected
LLCC68_IRQ_SYNC_WORD_VALID | valid sync word detected
LLCC68_IRQ_HEADER_VALID | valid header
LLCC68_IRQ_HEADER_ERR | header error
LLCC68_IRQ_CRC_ERR | crc error
LLCC68_IRQ_CAD_DONE | cad done
LLCC68_IRQ_CAD_DETECTED | cad detected
LLCC68_IRQ_TIMEOUT | timeout

Definition at line 112 of file driver_llcc68.h.

## ◆ llcc68_lora_bandwidth_t

enum llcc68_lora_bandwidth_t

llcc68 lora bandwidth enumeration definition

Enumerator
LLCC68_LORA_BANDWIDTH_125_KHZ | 125 kHz
LLCC68_LORA_BANDWIDTH_250_KHZ | 250 kHz
LLCC68_LORA_BANDWIDTH_500_KHZ | 500 kHz

Definition at line 232 of file driver_llcc68.h.

## ◆ llcc68_lora_cad_exit_mode_t

enum llcc68_lora_cad_exit_mode_t

llcc68 lora cad exit mode enumeration definition

Enumerator
LLCC68_LORA_CAD_EXIT_MODE_ONLY | once done and whatever the activity on the channel, the chip goes back to STBY_RC mode
LLCC68_LORA_CAD_EXIT_MODE_RX | the chip performs a cad operation and if an activity is detected, it stays in rx until a packet is detected or the timer reaches the timeout defined by cad timeout * 15.625 us

Definition at line 328 of file driver_llcc68.h.

## ◆ llcc68_lora_cad_symbol_num_t

enum llcc68_lora_cad_symbol_num_t

llcc68 lora cad symbol num enumeration definition

Enumerator
LLCC68_LORA_CAD_SYMBOL_NUM_1 | 1 symbol
LLCC68_LORA_CAD_SYMBOL_NUM_2 | 2 symbol
LLCC68_LORA_CAD_SYMBOL_NUM_4 | 4 symbol
LLCC68_LORA_CAD_SYMBOL_NUM_8 | 8 symbol
LLCC68_LORA_CAD_SYMBOL_NUM_16 | 16 symbol

Definition at line 316 of file driver_llcc68.h.

## ◆ llcc68_lora_cr_t

enum llcc68_lora_cr_t

llcc68 lora coding rate enumeration definition

Enumerator
LLCC68_LORA_CR_4_5 | cr 4/5
LLCC68_LORA_CR_4_6 | cr 4/6
LLCC68_LORA_CR_4_7 | cr 4/7
LLCC68_LORA_CR_4_8 | cr 4/8

Definition at line 242 of file driver_llcc68.h.

## ◆ llcc68_lora_crc_type_t

enum llcc68_lora_crc_type_t

llcc68 lora crc type enumeration definition

Enumerator
LLCC68_LORA_CRC_TYPE_OFF | crc off
LLCC68_LORA_CRC_TYPE_ON | crc on

Definition at line 307 of file driver_llcc68.h.

## ◆ llcc68_lora_header_t

enum llcc68_lora_header_t

llcc68 lora header enumeration definition

Enumerator
LLCC68_LORA_HEADER_EXPLICIT | explicit header
LLCC68_LORA_HEADER_IMPLICIT | implicit header

Definition at line 298 of file driver_llcc68.h.

## ◆ llcc68_lora_sf_t

enum llcc68_lora_sf_t

llcc68 lora spreading factor enumeration definition

Enumerator
LLCC68_LORA_SF_5 | spreading factor 5
LLCC68_LORA_SF_6 | spreading factor 6
LLCC68_LORA_SF_7 | spreading factor 7
LLCC68_LORA_SF_8 | spreading factor 8
LLCC68_LORA_SF_9 | spreading factor 9
LLCC68_LORA_SF_10 | spreading factor 10
LLCC68_LORA_SF_11 | spreading factor 11

Definition at line 218 of file driver_llcc68.h.

## ◆ llcc68_op_error_t

enum llcc68_op_error_t

llcc68 op error enumeration definition

Enumerator
LLCC68_OP_ERROR_PA_RAMP_ERR | pa ramping failed
LLCC68_OP_ERROR_PLL_LOCK_ERR | pll failed to lock
LLCC68_OP_ERROR_XOSC_START_ERR | xosc failed to start
LLCC68_OP_ERROR_IMG_CALIB_ERR | img calibration failed
LLCC68_OP_ERROR_ADC_CALIB_ERR | adc calibration failed
LLCC68_OP_ERROR_PLL_CALIB_ERR | pll calibration failed
LLCC68_OP_ERROR_RC13M_CALIB_ERR | rc13M calibration failed
LLCC68_OP_ERROR_RC64K_CALIB_ERR | rc64k calibration failed

Definition at line 355 of file driver_llcc68.h.

## ◆ llcc68_packet_type_t

enum llcc68_packet_type_t

llcc68 packet type enumeration definition

Enumerator
LLCC68_PACKET_TYPE_GFSK | gfsk mode
LLCC68_PACKET_TYPE_LORA | lora mode

Definition at line 154 of file driver_llcc68.h.

## ◆ llcc68_ramp_time_t

enum llcc68_ramp_time_t

llcc68 ramp time enumeration definition

Enumerator
LLCC68_RAMP_TIME_10US | 10us
LLCC68_RAMP_TIME_20US | 20us
LLCC68_RAMP_TIME_40US | 40us
LLCC68_RAMP_TIME_80US | 80us
LLCC68_RAMP_TIME_200US | 200us
LLCC68_RAMP_TIME_800US | 800us
LLCC68_RAMP_TIME_1700US | 1700us
LLCC68_RAMP_TIME_3400US | 3400us

Definition at line 163 of file driver_llcc68.h.

## ◆ llcc68_regulator_mode_t

enum llcc68_regulator_mode_t

llcc68 regulator mode enumeration definition

Enumerator
LLCC68_REGULATOR_MODE_ONLY_LDO | only ldo used for all modes
LLCC68_REGULATOR_MODE_DC_DC_LDO | dc_dc + ldo used for standby_xosc, fs, rx and rx modes

Definition at line 89 of file driver_llcc68.h.

## ◆ llcc68_rx_tx_fallback_mode_t

enum llcc68_rx_tx_fallback_mode_t

llcc68 rx tx fallback mode enumeration definition

Enumerator
LLCC68_RX_TX_FALLBACK_MODE_FS | the radio goes into fs mode after tx or rx
LLCC68_RX_TX_FALLBACK_MODE_STDBY_XOSC | the radio goes into standby_xosc mode after tx or rx
LLCC68_RX_TX_FALLBACK_MODE_STDBY_RC | the radio goes into standby_rc mode after tx or rx

Definition at line 129 of file driver_llcc68.h.

## ◆ llcc68_start_mode_t

enum llcc68_start_mode_t

llcc68 start mode enumeration definition

Enumerator
LLCC68_START_MODE_COLD | cold start mode
LLCC68_START_MODE_WARM | warm start mode

Definition at line 71 of file driver_llcc68.h.

## ◆ llcc68_tcxo_voltage_t

enum llcc68_tcxo_voltage_t

llcc68 tcxo voltage enumeration definition

Enumerator
LLCC68_TCXO_VOLTAGE_1P6V | dio3 outputs 1.6 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_1P7V | dio3 outputs 1.7 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_1P8V | dio3 outputs 1.8 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_2P2V | dio3 outputs 2.2 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_2P4V | dio3 outputs 2.4 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_2P7V | dio3 outputs 2.7 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_3P0V | dio3 outputs 3.0 V to supply the tcxo
LLCC68_TCXO_VOLTAGE_3P3V | dio3 outputs 3.3 V to supply the tcxo

Definition at line 139 of file driver_llcc68.h.

## Function Documentation

## ◆ llcc68_check_packet_error()

uint8_t llcc68_check_packet_error | ( | llcc68_handle_t * | handle,
|  | llcc68_bool_t * | enable
| ) |  |

check the packet error

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *enable | pointer to a bool buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 1046 of file driver_llcc68.c.

## ◆ llcc68_clear_device_errors()

uint8_t llcc68_clear_device_errors | ( | llcc68_handle_t * | handle | ) |

clear the device errors

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 clear device errors failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3622 of file driver_llcc68.c.

## ◆ llcc68_clear_irq_status()

uint8_t llcc68_clear_irq_status | ( | llcc68_handle_t * | handle,
|  | uint16_t | clear_irq_param
| ) |  |

clear the irq status

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | clear_irq_param | irq mask

Returns
  status code
  - 0 success
  - 1 clear irq status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2334 of file driver_llcc68.c.

## ◆ llcc68_continuous_receive()

uint8_t llcc68_continuous_receive | ( | llcc68_handle_t * | handle | ) |

enter to the continuous receive mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 lora continuous receive failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 890 of file driver_llcc68.c.

## ◆ llcc68_deinit()

uint8_t llcc68_deinit | ( | llcc68_handle_t * | handle | ) |

close the chip

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 spi deinit failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy
  - 5 power down failed
  - 6 busy gpio deinit failed
  - 7 reset gpio deinit failed

Note
  none

Definition at line 754 of file driver_llcc68.c.

## ◆ llcc68_frequency_convert_to_data()

uint8_t llcc68_frequency_convert_to_data | ( | llcc68_handle_t * | handle,
|  | uint32_t | reg,
|  | uint32_t * | freq
| ) |  |

convert the register raw data to the frequency

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register raw data
  [out] | *freq | pointer to a frequency buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2503 of file driver_llcc68.c.

## ◆ llcc68_frequency_convert_to_register()

uint8_t llcc68_frequency_convert_to_register | ( | llcc68_handle_t * | handle,
|  | uint32_t | freq,
|  | uint32_t * | reg
| ) |  |

convert the frequency to the register raw data

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | freq | frequency
  [out] | *reg | pointer to a register raw buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2476 of file driver_llcc68.c.

## ◆ llcc68_get_device_errors()

uint8_t llcc68_get_device_errors | ( | llcc68_handle_t * | handle,
|  | uint16_t * | op_error
| ) |  |

get the device errors

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *op_error | pointer to an op error buffer

Returns
  status code
  - 0 success
  - 1 get device errors failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3577 of file driver_llcc68.c.

## ◆ llcc68_get_gfsk_packet_status()

uint8_t llcc68_get_gfsk_packet_status | ( | llcc68_handle_t * | handle,
|  | uint8_t * | rx_status,
|  | uint8_t * | rssi_sync_raw,
|  | uint8_t * | rssi_avg_raw,
|  | float * | rssi_sync,
|  | float * | rssi_avg
| ) |  |

get the packet status in GFSK mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *rx_status | pointer to an rx status buffer
  [out] | *rssi_sync_raw | pointer to an rssi sync raw buffer
  [out] | *rssi_avg_raw | pointer to an rssi avg raw buffer
  [out] | *rssi_sync | pointer to an rssi sync buffer
  [out] | *rssi_avg | pointer to an rssi avg buffer

Returns
  status code
  - 0 success
  - 1 get gfsk packet status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3318 of file driver_llcc68.c.

## ◆ llcc68_get_instantaneous_rssi()

uint8_t llcc68_get_instantaneous_rssi | ( | llcc68_handle_t * | handle,
|  | uint8_t * | rssi_inst_raw,
|  | float * | rssi_inst
| ) |  |

get the instantaneous rssi

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *rssi_inst_raw | pointer to an rssi instantaneous raw buffer
  [out] | *rssi_inst | pointer to an rssi instantaneous buffer

Returns
  status code
  - 0 success
  - 1 get instantaneous rssi failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3427 of file driver_llcc68.c.

## ◆ llcc68_get_irq_status()

uint8_t llcc68_get_irq_status | ( | llcc68_handle_t * | handle,
|  | uint16_t * | status
| ) |  |

get the irq status

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *status | pointer to a status buffer

Returns
  status code
  - 0 success
  - 1 get irq status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2288 of file driver_llcc68.c.

## ◆ llcc68_get_lora_packet_status()

uint8_t llcc68_get_lora_packet_status | ( | llcc68_handle_t * | handle,
|  | uint8_t * | rssi_pkt_raw,
|  | uint8_t * | snr_pkt_raw,
|  | uint8_t * | signal_rssi_pkt_raw,
|  | float * | rssi_pkt,
|  | float * | snr_pkt,
|  | float * | signal_rssi_pkt
| ) |  |

get the packet status in LoRa mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *rssi_pkt_raw | pointer to an rssi packet raw buffer
  [out] | *snr_pkt_raw | pointer to an snr packet raw buffer
  [out] | *signal_rssi_pkt_raw | pointer to a signal rssi packet raw buffer
  [out] | *rssi_pkt | pointer to an rssi packet buffer
  [out] | *snr_pkt | pointer to an snr packet buffer
  [out] | *signal_rssi_pkt | pointer to a signal rssi packet buffer

Returns
  status code
  - 0 success
  - 1 get lora packet status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3374 of file driver_llcc68.c.

## ◆ llcc68_get_packet_type()

uint8_t llcc68_get_packet_type | ( | llcc68_handle_t * | handle,
|  | llcc68_packet_type_t * | type
| ) |  |

get the packet type

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *type | pointer to a packet type buffer

Returns
  status code
  - 0 success
  - 1 get packet type failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2626 of file driver_llcc68.c.

## ◆ llcc68_get_rx_buffer_status()

uint8_t llcc68_get_rx_buffer_status | ( | llcc68_handle_t * | handle,
|  | uint8_t * | payload_length_rx,
|  | uint8_t * | rx_start_buffer_pointer
| ) |  |

get the rx buffer status

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *payload_length_rx | pointer to an rx payload length buffer
  [out] | *rx_start_buffer_pointer | pointer to an rx start pointer buffer

Returns
  status code
  - 0 success
  - 1 get rx buffer status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3267 of file driver_llcc68.c.

## ◆ llcc68_get_stats()

uint8_t llcc68_get_stats | ( | llcc68_handle_t * | handle,
|  | uint16_t * | pkt_received,
|  | uint16_t * | pkt_crc_error,
|  | uint16_t * | pkt_length_header_error
| ) |  |

get the stats

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *pkt_received | pointer to a packet received counter buffer
  [out] | *pkt_crc_error | pointer to a packet crc error buffer
  [out] | *pkt_length_header_error | pointer to a packet length header error buffer

Returns
  status code
  - 0 success
  - 1 get stats failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3476 of file driver_llcc68.c.

## ◆ llcc68_get_status()

uint8_t llcc68_get_status | ( | llcc68_handle_t * | handle,
|  | uint8_t * | status
| ) |  |

get the status

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *status | pointer to a status buffer

Returns
  status code
  - 0 success
  - 1 get status failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3219 of file driver_llcc68.c.

## ◆ llcc68_gfsk_bit_rate_convert_to_data()

uint8_t llcc68_gfsk_bit_rate_convert_to_data | ( | llcc68_handle_t * | handle,
|  | uint32_t | reg,
|  | uint32_t * | br
| ) |  |

convert the register raw data to the bit rate

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register raw data
  [out] | *br | pointer to a bit rate buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2803 of file driver_llcc68.c.

## ◆ llcc68_gfsk_bit_rate_convert_to_register()

uint8_t llcc68_gfsk_bit_rate_convert_to_register | ( | llcc68_handle_t * | handle,
|  | uint32_t | br,
|  | uint32_t * | reg
| ) |  |

convert the bit rate to the register raw data

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | br | bit rate
  [out] | *reg | pointer to a register raw buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2776 of file driver_llcc68.c.

## ◆ llcc68_gfsk_frequency_deviation_convert_to_data()

uint8_t llcc68_gfsk_frequency_deviation_convert_to_data | ( | llcc68_handle_t * | handle,
|  | uint32_t | reg,
|  | uint32_t * | freq
| ) |  |

convert the register raw data to the frequency deviation

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register raw data
  [out] | *freq | pointer to a frequency deviation buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2857 of file driver_llcc68.c.

## ◆ llcc68_gfsk_frequency_deviation_convert_to_register()

uint8_t llcc68_gfsk_frequency_deviation_convert_to_register | ( | llcc68_handle_t * | handle,
|  | uint32_t | freq,
|  | uint32_t * | reg
| ) |  |

convert the frequency deviation to the register raw data

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | freq | frequency deviation
  [out] | *reg | pointer to a register raw buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 2830 of file driver_llcc68.c.

## ◆ llcc68_info()

uint8_t llcc68_info | ( | llcc68_info_t * | info | ) |

get chip's information

Parameters

  [out] | *info | pointer to an llcc68 info structure

Returns
  status code
  - 0 success
  - 2 handle is NULL

Note
  none

Definition at line 5617 of file driver_llcc68.c.

## ◆ llcc68_init()

uint8_t llcc68_init | ( | llcc68_handle_t * | handle | ) |

initialize the chip

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 spi initialization failed
  - 2 handle is NULL
  - 3 linked functions is NULL
  - 4 reset gpio initialization failed
  - 5 busy gpio initialization failed
  - 6 reset chip failed

Note
  none

Definition at line 583 of file driver_llcc68.c.

## ◆ llcc68_irq_handler()

uint8_t llcc68_irq_handler | ( | llcc68_handle_t * | handle | ) |

irq handler

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 run failed
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 400 of file driver_llcc68.c.

## ◆ llcc68_lora_cad()

uint8_t llcc68_lora_cad | ( | llcc68_handle_t * | handle,
|  | llcc68_bool_t * | enable
| ) |  |

run the cad

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [out] | *enable | pointer to an enable buffer

Returns
  status code
  - 0 success
  - 1 lora cad failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy
  - 5 cad timeout

Note
  none

Definition at line 959 of file driver_llcc68.c.

## ◆ llcc68_lora_transmit()

uint8_t llcc68_lora_transmit | ( | llcc68_handle_t * | handle,
|  | llcc68_clock_source_t | standby_src,
|  | uint16_t | preamble_length,
|  | llcc68_lora_header_t | header_type,
|  | llcc68_lora_crc_type_t | crc_type,
|  | llcc68_bool_t | invert_iq_enable,
|  | uint8_t * | buf,
|  | uint16_t | len,
|  | uint32_t | us
| ) |  |

send the lora data

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | standby_src | clock source
  [in] | preamble_length | preamble length
  [in] | header_type | header type
  [in] | crc_type | crc type
  [in] | invert_iq_enable | bool value
  [in] | *buf | pointer to a data buffer
  [in] | len | data length
  [in] | us | timeout

Returns
  status code
  - 0 success
  - 1 send failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy
  - 5 send timeout
  - 6 irq timeout
  - 7 unknown result

Note
  none

Definition at line 1084 of file driver_llcc68.c.

## ◆ llcc68_read_buffer()

uint8_t llcc68_read_buffer | ( | llcc68_handle_t * | handle,
|  | uint8_t | offset,
|  | uint8_t * | buf,
|  | uint16_t | len
| ) |  |

read the buffer

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | offset | buffer offset
  [out] | *buf | pointer to a data buffer
  [in] | len | data length

Returns
  status code
  - 0 success
  - 1 read buffer failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1437 of file driver_llcc68.c.

## ◆ llcc68_read_register()

uint8_t llcc68_read_register | ( | llcc68_handle_t * | handle,
|  | uint16_t | reg,
|  | uint8_t * | buf,
|  | uint16_t | len
| ) |  |

read the register

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register address
  [out] | *buf | pointer to a data buffer
  [in] | len | data length

Returns
  status code
  - 0 success
  - 1 read register failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1347 of file driver_llcc68.c.

## ◆ llcc68_reset_stats()

uint8_t llcc68_reset_stats | ( | llcc68_handle_t * | handle,
|  | uint16_t | pkt_received,
|  | uint16_t | pkt_crc_error,
|  | uint16_t | pkt_length_header_error
| ) |  |

reset the stats

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | pkt_received | received packet counter mask
  [in] | pkt_crc_error | packet crc error mask
  [in] | pkt_length_header_error | packet length header error mask

Returns
  status code
  - 0 success
  - 1 reset stats failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3526 of file driver_llcc68.c.

## ◆ llcc68_set_buffer_base_address()

uint8_t llcc68_set_buffer_base_address | ( | llcc68_handle_t * | handle,
|  | uint8_t | tx_base_addr,
|  | uint8_t | rx_base_addr
| ) |  |

set the buffer base address

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | tx_base_addr | tx base address
  [in] | rx_base_addr | rx base address

Returns
  status code
  - 0 success
  - 1 set buffer base address failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3126 of file driver_llcc68.c.

## ◆ llcc68_set_cad()

uint8_t llcc68_set_cad | ( | llcc68_handle_t * | handle | ) |

run the cad

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 set cad failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1864 of file driver_llcc68.c.

## ◆ llcc68_set_cad_params()

uint8_t llcc68_set_cad_params | ( | llcc68_handle_t * | handle,
|  | llcc68_lora_cad_symbol_num_t | num,
|  | uint8_t | cad_det_peak,
|  | uint8_t | cad_det_min,
|  | llcc68_lora_cad_exit_mode_t | mode,
|  | uint32_t | timeout
| ) |  |

set the cad params

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | num | cad symbol number
  [in] | cad_det_peak | cad detection peak
  [in] | cad_det_min | min cad detection peak
  [in] | mode | cad exit mode
  [in] | timeout | cad timeout

Returns
  status code
  - 0 success
  - 1 set cad params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3071 of file driver_llcc68.c.

## ◆ llcc68_set_calibration()

uint8_t llcc68_set_calibration | ( | llcc68_handle_t * | handle,
|  | uint8_t | settings
| ) |  |

set the calibration settings

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | settings | calibration param

Returns
  status code
  - 0 success
  - 1 set calibration failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2040 of file driver_llcc68.c.

## ◆ llcc68_set_calibration_image()

uint8_t llcc68_set_calibration_image | ( | llcc68_handle_t * | handle,
|  | uint8_t | freq1,
|  | uint8_t | freq2
| ) |  |

set the calibration image frequency

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | freq1 | image frequency 1
  [in] | freq2 | image frequency 2

Returns
  status code
  - 0 success
  - 1 set calibration image failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2087 of file driver_llcc68.c.

## ◆ llcc68_set_dio2_as_rf_switch_ctrl()

uint8_t llcc68_set_dio2_as_rf_switch_ctrl | ( | llcc68_handle_t * | handle,
|  | llcc68_bool_t | enable
| ) |  |

set dio2 as rf switch ctrl

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | enable | bool value

Returns
  status code
  - 0 success
  - 1 set dio2 as rf switch ctrl failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2381 of file driver_llcc68.c.

## ◆ llcc68_set_dio3_as_tcxo_ctrl()

uint8_t llcc68_set_dio3_as_tcxo_ctrl | ( | llcc68_handle_t * | handle,
|  | llcc68_tcxo_voltage_t | voltage,
|  | uint32_t | delay
| ) |  |

set dio3 as tcxo ctrl

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | voltage | tcxo voltage
  [in] | delay | tcxo ctrl delay

Returns
  status code
  - 0 success
  - 1 set dio3 as tcxo ctrl failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2428 of file driver_llcc68.c.

## ◆ llcc68_set_dio_irq_params()

uint8_t llcc68_set_dio_irq_params | ( | llcc68_handle_t * | handle,
|  | uint16_t | irq_mask,
|  | uint16_t | dio1_mask,
|  | uint16_t | dio2_mask,
|  | uint16_t | dio3_mask
| ) |  |

set the dio irq params

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | irq_mask | irq mask
  [in] | dio1_mask | dio1 mask
  [in] | dio2_mask | dio2 mask
  [in] | dio3_mask | dio3 mask

Returns
  status code
  - 0 success
  - 1 set dio irq params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2233 of file driver_llcc68.c.

## ◆ llcc68_set_frequency_synthesis()

uint8_t llcc68_set_frequency_synthesis | ( | llcc68_handle_t * | handle | ) |

enter to the frequency synthesis mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 set frequency synthesis failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1572 of file driver_llcc68.c.

## ◆ llcc68_set_gfsk_modulation_params()

uint8_t llcc68_set_gfsk_modulation_params | ( | llcc68_handle_t * | handle,
|  | uint32_t | br,
|  | llcc68_gfsk_pulse_shape_t | shape,
|  | llcc68_gfsk_bandwidth_t | bw,
|  | uint32_t | fdev
| ) |  |

set the modulation params in GFSK mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | br | bit rate
  [in] | shape | pulse shape
  [in] | bw | bandwidth
  [in] | fdev | frequency deviation

Returns
  status code
  - 0 success
  - 1 set gfsk modulation params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2723 of file driver_llcc68.c.

## ◆ llcc68_set_gfsk_packet_params()

uint8_t llcc68_set_gfsk_packet_params | ( | llcc68_handle_t * | handle,
|  | uint16_t | preamble_length,
|  | llcc68_gfsk_preamble_detector_length_t | detector_length,
|  | uint8_t | sync_word_length,
|  | llcc68_gfsk_addr_filter_t | filter,
|  | llcc68_gfsk_packet_type_t | packet_type,
|  | uint8_t | payload_length,
|  | llcc68_gfsk_crc_type_t | crc_type,
|  | llcc68_bool_t | whitening_enable
| ) |  |

set the packet params in GFSK mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | preamble_length | preamble length
  [in] | detector_length | preamble detector length
  [in] | sync_word_length | sync word length
  [in] | filter | address filter
  [in] | packet_type | packet type
  [in] | payload_length | length of the payload
  [in] | crc_type | crc type
  [in] | whitening_enable | bool value

Returns
  status code
  - 0 success
  - 1 set gfsk packet params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy
  - 5 sync word length is over 0x40

Note
  none

Definition at line 2946 of file driver_llcc68.c.

## ◆ llcc68_set_lora_modulation_params()

uint8_t llcc68_set_lora_modulation_params | ( | llcc68_handle_t * | handle,
|  | llcc68_lora_sf_t | sf,
|  | llcc68_lora_bandwidth_t | bw,
|  | llcc68_lora_cr_t | cr,
|  | llcc68_bool_t | low_data_rate_optimize_enable
| ) |  |

set the modulation params in LoRa mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | sf | spreading factor
  [in] | bw | bandwidth
  [in] | cr | coding rate
  [in] | low_data_rate_optimize_enable | bool value

Returns
  status code
  - 0 success
  - 1 set lora modulation params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2888 of file driver_llcc68.c.

## ◆ llcc68_set_lora_packet_params()

uint8_t llcc68_set_lora_packet_params | ( | llcc68_handle_t * | handle,
|  | uint16_t | preamble_length,
|  | llcc68_lora_header_t | header_type,
|  | uint8_t | payload_length,
|  | llcc68_lora_crc_type_t | crc_type,
|  | llcc68_bool_t | invert_iq_enable
| ) |  |

set the packet params in LoRa mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | preamble_length | preamble length
  [in] | header_type | header type
  [in] | payload_length | length of payload
  [in] | crc_type | crc type
  [in] | invert_iq_enable | bool value

Returns
  status code
  - 0 success
  - 1 set lora packet params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3014 of file driver_llcc68.c.

## ◆ llcc68_set_lora_symb_num_timeout()

uint8_t llcc68_set_lora_symb_num_timeout | ( | llcc68_handle_t * | handle,
|  | uint8_t | symb_num
| ) |  |

set the lora symbol number timeout

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | symb_num | symbol number

Returns
  status code
  - 0 success
  - 1 set lora symb num timeout failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 3173 of file driver_llcc68.c.

## ◆ llcc68_set_pa_config()

uint8_t llcc68_set_pa_config | ( | llcc68_handle_t * | handle,
|  | uint8_t | pa_duty_cycle,
|  | uint8_t | hp_max
| ) |  |

set the pa config

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | pa_duty_cycle | pa duty cycle
  [in] | hp_max | max power

Returns
  status code
  - 0 success
  - 1 set the pa config failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2135 of file driver_llcc68.c.

## ◆ llcc68_set_packet_type()

uint8_t llcc68_set_packet_type | ( | llcc68_handle_t * | handle,
|  | llcc68_packet_type_t | type
| ) |  |

set the packet type

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | type | packet type

Returns
  status code
  - 0 success
  - 1 set packet type failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2580 of file driver_llcc68.c.

## ◆ llcc68_set_regulator_mode()

uint8_t llcc68_set_regulator_mode | ( | llcc68_handle_t * | handle,
|  | llcc68_regulator_mode_t | mode
| ) |  |

set the regulator_mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | mode | regulator mode

Returns
  status code
  - 0 success
  - 1 set regulator mode failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1994 of file driver_llcc68.c.

## ◆ llcc68_set_rf_frequency()

uint8_t llcc68_set_rf_frequency | ( | llcc68_handle_t * | handle,
|  | uint32_t | reg
| ) |  |

set the rf frequency

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | rf frequency register data

Returns
  status code
  - 0 success
  - 1 set rf frequency failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2531 of file driver_llcc68.c.

## ◆ llcc68_set_rx()

uint8_t llcc68_set_rx | ( | llcc68_handle_t * | handle,
|  | uint32_t | timeout
| ) |  |

enter to the rx mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | timeout | rx timeout

Returns
  status code
  - 0 success
  - 1 set rx failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  0x000000 means timeout disable, rx single mode 0xFFFFFF means rx continuous mode

Definition at line 1665 of file driver_llcc68.c.

## ◆ llcc68_set_rx_duty_cycle()

uint8_t llcc68_set_rx_duty_cycle | ( | llcc68_handle_t * | handle,
|  | uint32_t | rx_period,
|  | uint32_t | sleep_period
| ) |  |

set the rx duty cycle

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | rx_period | rx period
  [in] | sleep_period | sleep period

Returns
  status code
  - 0 success
  - 1 set rx duty cycle failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  t_preamble + t_header <= 2 * rx_period + sleep_period

Definition at line 1814 of file driver_llcc68.c.

## ◆ llcc68_set_rx_tx_fallback_mode()

uint8_t llcc68_set_rx_tx_fallback_mode | ( | llcc68_handle_t * | handle,
|  | llcc68_rx_tx_fallback_mode_t | mode
| ) |  |

set the rx tx fallback mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | mode | rx tx fallback mode

Returns
  status code
  - 0 success
  - 1 set rx tx fallback mode failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2184 of file driver_llcc68.c.

## ◆ llcc68_set_sleep()

uint8_t llcc68_set_sleep | ( | llcc68_handle_t * | handle,
|  | llcc68_start_mode_t | mode,
|  | llcc68_bool_t | rtc_wake_up_enable
| ) |  |

enter to the sleep mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | mode | start mode
  [in] | rtc_wake_up_enable | bool value

Returns
  status code
  - 0 success
  - 1 set sleep failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1481 of file driver_llcc68.c.

## ◆ llcc68_set_standby()

uint8_t llcc68_set_standby | ( | llcc68_handle_t * | handle,
|  | llcc68_clock_source_t | src
| ) |  |

enter to the standby mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | src | clock source

Returns
  status code
  - 0 success
  - 1 set standby failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1527 of file driver_llcc68.c.

## ◆ llcc68_set_stop_timer_on_preamble()

uint8_t llcc68_set_stop_timer_on_preamble | ( | llcc68_handle_t * | handle,
|  | llcc68_bool_t | enable
| ) |  |

stop timer on preamble

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | enable | bool value

Returns
  status code
  - 0 success
  - 1 set stop timer on preamble failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1767 of file driver_llcc68.c.

## ◆ llcc68_set_tx()

uint8_t llcc68_set_tx | ( | llcc68_handle_t * | handle,
|  | uint32_t | timeout
| ) |  |

enter to the tx mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | timeout | tx timeout

Returns
  status code
  - 0 success
  - 1 set tx failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  0x000000 means timeout disable, tx single mode

Definition at line 1616 of file driver_llcc68.c.

## ◆ llcc68_set_tx_continuous_wave()

uint8_t llcc68_set_tx_continuous_wave | ( | llcc68_handle_t * | handle | ) |

enter to the tx continuous wave mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 set tx continuous wave failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1907 of file driver_llcc68.c.

## ◆ llcc68_set_tx_infinite_preamble()

uint8_t llcc68_set_tx_infinite_preamble | ( | llcc68_handle_t * | handle | ) |

enter to the tx infinite preamble mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure

Returns
  status code
  - 0 success
  - 1 set tx infinite preamble failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1950 of file driver_llcc68.c.

## ◆ llcc68_set_tx_params()

uint8_t llcc68_set_tx_params | ( | llcc68_handle_t * | handle,
|  | int8_t | dbm,
|  | llcc68_ramp_time_t | t
| ) |  |

set the tx params

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | dbm | rf power
  [in] | t | ramp time

Returns
  status code
  - 0 success
  - 1 set tx params failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 2673 of file driver_llcc68.c.

## ◆ llcc68_single_receive()

uint8_t llcc68_single_receive | ( | llcc68_handle_t * | handle,
|  | double | us
| ) |  |

enter to the single receive mode

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | us | rx timeout

Returns
  status code
  - 0 success
  - 1 lora single receive failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 821 of file driver_llcc68.c.

## ◆ llcc68_timeout_convert_to_data()

uint8_t llcc68_timeout_convert_to_data | ( | llcc68_handle_t * | handle,
|  | uint32_t | reg,
|  | double * | us
| ) |  |

convert the register raw data to the timeout

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register raw data
  [out] | *us | pointer to a us buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 1739 of file driver_llcc68.c.

## ◆ llcc68_timeout_convert_to_register()

uint8_t llcc68_timeout_convert_to_register | ( | llcc68_handle_t * | handle,
|  | double | us,
|  | uint32_t * | reg
| ) |  |

convert the timeout to the register raw data

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | us | timeout
  [out] | *reg | pointer to a register raw buffer

Returns
  status code
  - 0 success
  - 2 handle is NULL
  - 3 handle is not initialized

Note
  none

Definition at line 1712 of file driver_llcc68.c.

## ◆ llcc68_write_buffer()

uint8_t llcc68_write_buffer | ( | llcc68_handle_t * | handle,
|  | uint8_t | offset,
|  | uint8_t * | buf,
|  | uint16_t | len
| ) |  |

write the buffer

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | offset | buffer offset
  [in] | *buf | pointer to a data buffer
  [in] | len | data length

Returns
  status code
  - 0 success
  - 1 write buffer failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1392 of file driver_llcc68.c.

## ◆ llcc68_write_register()

uint8_t llcc68_write_register | ( | llcc68_handle_t * | handle,
|  | uint16_t | reg,
|  | uint8_t * | buf,
|  | uint16_t | len
| ) |  |

write the register

Parameters

  [in] | *handle | pointer to an llcc68 handle structure
  [in] | reg | register address
  [in] | *buf | pointer to a data buffer
  [in] | len | data length

Returns
  status code
  - 0 success
  - 1 write register failed
  - 2 handle is NULL
  - 3 handle is not initialized
  - 4 chip is busy

Note
  none

Definition at line 1302 of file driver_llcc68.c.