37 #ifndef DRIVER_LLCC68_H
38 #define DRIVER_LLCC68_H
381 uint8_t *out_buf, uint32_t out_len);
385 uint8_t *
buf, uint16_t len);
429 #define DRIVER_LLCC68_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
437 #define DRIVER_LLCC68_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
445 #define DRIVER_LLCC68_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
453 #define DRIVER_LLCC68_LINK_SPI_WRITE_READ(HANDLE, FUC) (HANDLE)->spi_write_read = FUC
461 #define DRIVER_LLCC68_LINK_RESET_GPIO_INIT(HANDLE, FUC) (HANDLE)->reset_gpio_init = FUC
469 #define DRIVER_LLCC68_LINK_RESET_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->reset_gpio_deinit = FUC
477 #define DRIVER_LLCC68_LINK_RESET_GPIO_WRITE(HANDLE, FUC) (HANDLE)->reset_gpio_write = FUC
485 #define DRIVER_LLCC68_LINK_BUSY_GPIO_INIT(HANDLE, FUC) (HANDLE)->busy_gpio_init = FUC
493 #define DRIVER_LLCC68_LINK_BUSY_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->busy_gpio_deinit = FUC
501 #define DRIVER_LLCC68_LINK_BUSY_GPIO_READ(HANDLE, FUC) (HANDLE)->busy_gpio_read = FUC
509 #define DRIVER_LLCC68_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
517 #define DRIVER_LLCC68_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
525 #define DRIVER_LLCC68_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
616 uint8_t *buf, uint16_t len, uint32_t us);
989 uint16_t dio2_mask, uint16_t dio3_mask);
1360 uint8_t *rssi_avg_raw,
float *rssi_sync,
float *rssi_avg);
1380 uint8_t *signal_rssi_pkt_raw,
float *rssi_pkt,
float *snr_pkt,
float *signal_rssi_pkt);
2095 uint8_t *out_buf, uint32_t out_len);
llcc68_lora_crc_type_t
llcc68 lora crc type enumeration definition
uint8_t llcc68_irq_handler(llcc68_handle_t *handle)
irq handler
llcc68_lora_bandwidth_t
llcc68 lora bandwidth enumeration definition
llcc68_bool_t
llcc68 bool enumeration definition
llcc68_gfsk_packet_type_t
llcc68 gfsk packet type enumeration definition
llcc68_clock_source_t
llcc68 clock source enumeration definition
uint8_t llcc68_set_rf_frequency(llcc68_handle_t *handle, uint32_t reg)
set the rf frequency
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
uint8_t llcc68_info(llcc68_info_t *info)
get chip's information
uint8_t llcc68_set_pa_config(llcc68_handle_t *handle, uint8_t pa_duty_cycle, uint8_t hp_max)
set the pa config
uint8_t llcc68_check_packet_error(llcc68_handle_t *handle, llcc68_bool_t *enable)
check the packet error
llcc68_lora_sf_t
llcc68 lora spreading factor enumeration definition
uint8_t llcc68_clear_device_errors(llcc68_handle_t *handle)
clear the device errors
llcc68_irq_t
llcc68 irq enumeration definition
llcc68_gfsk_crc_type_t
llcc68 gfsk crc type enumeration definition
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
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
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
uint8_t llcc68_get_status(llcc68_handle_t *handle, uint8_t *status)
get the status
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
uint8_t llcc68_clear_irq_status(llcc68_handle_t *handle, uint16_t clear_irq_param)
clear the irq status
uint8_t llcc68_get_packet_type(llcc68_handle_t *handle, llcc68_packet_type_t *type)
get the packet type
llcc68_tcxo_voltage_t
llcc68 tcxo voltage enumeration definition
uint8_t llcc68_get_instantaneous_rssi(llcc68_handle_t *handle, uint8_t *rssi_inst_raw, float *rssi_inst)
get the instantaneous rssi
struct llcc68_handle_s llcc68_handle_t
llcc68 handle structure definition
uint8_t llcc68_deinit(llcc68_handle_t *handle)
close the chip
uint8_t llcc68_write_register(llcc68_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
write the register
llcc68_regulator_mode_t
llcc68 regulator mode enumeration definition
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
llcc68_start_mode_t
llcc68 start mode enumeration definition
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
uint8_t llcc68_set_rx(llcc68_handle_t *handle, uint32_t timeout)
enter to the rx mode
uint8_t llcc68_get_device_errors(llcc68_handle_t *handle, uint16_t *op_error)
get the device errors
uint8_t llcc68_single_receive(llcc68_handle_t *handle, double us)
enter to the single receive mode
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
llcc68_ramp_time_t
llcc68 ramp time enumeration definition
uint8_t llcc68_set_calibration_image(llcc68_handle_t *handle, uint8_t freq1, uint8_t freq2)
set the calibration image frequency
llcc68_fsk_rx_status_t
llcc68 fsk rx status enumeration definition
uint8_t llcc68_set_stop_timer_on_preamble(llcc68_handle_t *handle, llcc68_bool_t enable)
stop timer on preamble
uint8_t llcc68_set_regulator_mode(llcc68_handle_t *handle, llcc68_regulator_mode_t mode)
set the regulator_mode
llcc68_lora_cad_symbol_num_t
llcc68 lora cad symbol num enumeration definition
uint8_t llcc68_set_tx_continuous_wave(llcc68_handle_t *handle)
enter to the tx continuous wave mode
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
uint8_t llcc68_timeout_convert_to_register(llcc68_handle_t *handle, double us, uint32_t *reg)
convert the timeout to the register raw data
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
llcc68_gfsk_preamble_detector_length_t
llcc68 gfsk preamble detector length enumeration definition
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
uint8_t llcc68_set_lora_symb_num_timeout(llcc68_handle_t *handle, uint8_t symb_num)
set the lora symbol number timeout
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
llcc68_lora_cr_t
llcc68 lora coding rate enumeration definition
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
uint8_t llcc68_set_tx_params(llcc68_handle_t *handle, int8_t dbm, llcc68_ramp_time_t t)
set the tx params
uint8_t llcc68_continuous_receive(llcc68_handle_t *handle)
enter to the continuous receive mode
uint8_t llcc68_set_frequency_synthesis(llcc68_handle_t *handle)
enter to the frequency synthesis mode
llcc68_calibration_t
llcc68 calibration enumeration definition
struct llcc68_info_s llcc68_info_t
llcc68 information structure definition
uint8_t llcc68_read_register(llcc68_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
read the register
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
uint8_t llcc68_set_calibration(llcc68_handle_t *handle, uint8_t settings)
set the calibration settings
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
llcc68_gfsk_bandwidth_t
llcc68 gfsk bandwidth enumeration definition
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
llcc68_packet_type_t
llcc68 packet type enumeration definition
uint8_t llcc68_set_cad(llcc68_handle_t *handle)
run the cad
uint8_t llcc68_set_standby(llcc68_handle_t *handle, llcc68_clock_source_t src)
enter to the standby mode
uint8_t llcc68_set_tx_infinite_preamble(llcc68_handle_t *handle)
enter to the tx infinite preamble mode
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
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
uint8_t llcc68_get_irq_status(llcc68_handle_t *handle, uint16_t *status)
get the irq status
uint8_t llcc68_timeout_convert_to_data(llcc68_handle_t *handle, uint32_t reg, double *us)
convert the register raw data to the timeout
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
llcc68_op_error_t
llcc68 op error enumeration definition
llcc68_gfsk_addr_filter_t
llcc68 gfsk addr filter enumeration definition
llcc68_lora_header_t
llcc68 lora header enumeration definition
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
llcc68_gfsk_pulse_shape_t
llcc68 gfsk pulse shape enumeration definition
llcc68_rx_tx_fallback_mode_t
llcc68 rx tx fallback mode enumeration definition
uint8_t llcc68_write_buffer(llcc68_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
write the buffer
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
uint8_t llcc68_lora_cad(llcc68_handle_t *handle, llcc68_bool_t *enable)
run the cad
uint8_t llcc68_set_dio2_as_rf_switch_ctrl(llcc68_handle_t *handle, llcc68_bool_t enable)
set dio2 as rf switch ctrl
uint8_t llcc68_read_buffer(llcc68_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
read the buffer
uint8_t llcc68_set_rx_duty_cycle(llcc68_handle_t *handle, uint32_t rx_period, uint32_t sleep_period)
set the rx duty cycle
uint8_t llcc68_set_tx(llcc68_handle_t *handle, uint32_t timeout)
enter to the tx mode
uint8_t llcc68_set_packet_type(llcc68_handle_t *handle, llcc68_packet_type_t type)
set the packet type
llcc68_lora_cad_exit_mode_t
llcc68 lora cad exit mode enumeration definition
uint8_t llcc68_init(llcc68_handle_t *handle)
initialize the chip
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
@ LLCC68_LORA_CRC_TYPE_OFF
@ LLCC68_LORA_CRC_TYPE_ON
@ LLCC68_LORA_BANDWIDTH_500_KHZ
@ LLCC68_LORA_BANDWIDTH_125_KHZ
@ LLCC68_LORA_BANDWIDTH_250_KHZ
@ LLCC68_GFSK_PACKET_TYPE_KNOWN_LENGTH
@ LLCC68_GFSK_PACKET_TYPE_VARIABLE_SIZE
@ LLCC68_CLOCK_SOURCE_RC_13M
@ LLCC68_CLOCK_SOURCE_XTAL_32MHZ
@ LLCC68_IRQ_PREAMBLE_DETECTED
@ LLCC68_IRQ_CAD_DETECTED
@ LLCC68_IRQ_HEADER_VALID
@ LLCC68_IRQ_SYNC_WORD_VALID
@ LLCC68_GFSK_CRC_TYPE_1_BYTE_INV
@ LLCC68_GFSK_CRC_TYPE_2_BYTE_INV
@ LLCC68_GFSK_CRC_TYPE_1_BYTE
@ LLCC68_GFSK_CRC_TYPE_OFF
@ LLCC68_GFSK_CRC_TYPE_2_BYTE
@ LLCC68_TCXO_VOLTAGE_3P3V
@ LLCC68_TCXO_VOLTAGE_2P7V
@ LLCC68_TCXO_VOLTAGE_3P0V
@ LLCC68_TCXO_VOLTAGE_1P6V
@ LLCC68_TCXO_VOLTAGE_1P7V
@ LLCC68_TCXO_VOLTAGE_1P8V
@ LLCC68_TCXO_VOLTAGE_2P4V
@ LLCC68_TCXO_VOLTAGE_2P2V
@ LLCC68_REGULATOR_MODE_ONLY_LDO
@ LLCC68_REGULATOR_MODE_DC_DC_LDO
@ LLCC68_RAMP_TIME_1700US
@ LLCC68_RAMP_TIME_3400US
@ LLCC68_FSK_RX_STATUS_PKT_RECEIVED
@ LLCC68_FSK_RX_STATUS_ADDR_ERR
@ LLCC68_FSK_RX_STATUS_LENGTH_ERR
@ LLCC68_FSK_RX_STATUS_ABORT_ERR
@ LLCC68_FSK_RX_STATUS_CRC_ERR
@ LLCC68_FSK_RX_STATUS_PKT_SEND
@ LLCC68_FSK_RX_STATUS_PREAMBLE_ERR
@ LLCC68_FSK_RX_STATUS_SYNC_ERR
@ LLCC68_LORA_CAD_SYMBOL_NUM_4
@ LLCC68_LORA_CAD_SYMBOL_NUM_2
@ LLCC68_LORA_CAD_SYMBOL_NUM_8
@ LLCC68_LORA_CAD_SYMBOL_NUM_16
@ LLCC68_LORA_CAD_SYMBOL_NUM_1
@ LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_24_BITS
@ LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_16_BITS
@ LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_32_BITS
@ LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_8_BITS
@ LLCC68_GFSK_PREAMBLE_DETECTOR_LENGTH_OFF
@ LLCC68_CALIBRATION_ADC_BULK_P
@ LLCC68_CALIBRATION_IMAGE
@ LLCC68_CALIBRATION_ADC_BULK_N
@ LLCC68_CALIBRATION_RC13M
@ LLCC68_CALIBRATION_RC64K
@ LLCC68_CALIBRATION_ADC_PULSE
@ LLCC68_GFSK_BANDWIDTH_312_KHZ
@ LLCC68_GFSK_BANDWIDTH_93P8_KHZ
@ LLCC68_GFSK_BANDWIDTH_29P3_KHZ
@ LLCC68_GFSK_BANDWIDTH_156P2_KHZ
@ LLCC68_GFSK_BANDWIDTH_11P7_KHZ
@ LLCC68_GFSK_BANDWIDTH_467_KHZ
@ LLCC68_GFSK_BANDWIDTH_39_KHZ
@ LLCC68_GFSK_BANDWIDTH_373P6_KHZ
@ LLCC68_GFSK_BANDWIDTH_78P2_KHZ
@ LLCC68_GFSK_BANDWIDTH_14P6_KHZ
@ LLCC68_GFSK_BANDWIDTH_7P3_KHZ
@ LLCC68_GFSK_BANDWIDTH_58P6_KHZ
@ LLCC68_GFSK_BANDWIDTH_46P9_KHZ
@ LLCC68_GFSK_BANDWIDTH_9P7_KHZ
@ LLCC68_GFSK_BANDWIDTH_187P2_KHZ
@ LLCC68_GFSK_BANDWIDTH_232P3_KHZ
@ LLCC68_GFSK_BANDWIDTH_117P3_KHZ
@ LLCC68_GFSK_BANDWIDTH_19P5_KHZ
@ LLCC68_GFSK_BANDWIDTH_5P8_KHZ
@ LLCC68_GFSK_BANDWIDTH_4P8_KHZ
@ LLCC68_GFSK_BANDWIDTH_23P4_KHZ
@ LLCC68_PACKET_TYPE_LORA
@ LLCC68_PACKET_TYPE_GFSK
@ LLCC68_OP_ERROR_PLL_CALIB_ERR
@ LLCC68_OP_ERROR_PLL_LOCK_ERR
@ LLCC68_OP_ERROR_PA_RAMP_ERR
@ LLCC68_OP_ERROR_RC13M_CALIB_ERR
@ LLCC68_OP_ERROR_ADC_CALIB_ERR
@ LLCC68_OP_ERROR_RC64K_CALIB_ERR
@ LLCC68_OP_ERROR_XOSC_START_ERR
@ LLCC68_OP_ERROR_IMG_CALIB_ERR
@ LLCC68_GFSK_ADDR_FILTER_DISABLE
@ LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_BROADCAST_ADDR
@ LLCC68_GFSK_ADDR_FILTER_ACTIVATED_NODE_ADDR
@ LLCC68_LORA_HEADER_IMPLICIT
@ LLCC68_LORA_HEADER_EXPLICIT
@ LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P7
@ LLCC68_GFSK_PULSE_SHAPE_NO_FILTER
@ LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P3
@ LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_1
@ LLCC68_GFSK_PULSE_SHAPE_GAUSSIAN_BT_0P5
@ LLCC68_RX_TX_FALLBACK_MODE_STDBY_RC
@ LLCC68_RX_TX_FALLBACK_MODE_STDBY_XOSC
@ LLCC68_RX_TX_FALLBACK_MODE_FS
@ LLCC68_LORA_CAD_EXIT_MODE_ONLY
@ LLCC68_LORA_CAD_EXIT_MODE_RX
uint8_t llcc68_write_read_reg(llcc68_handle_t *handle, uint8_t *in_buf, uint32_t in_len, uint8_t *out_buf, uint32_t out_len)
write and read register
uint8_t llcc68_set_dio_output_enable(llcc68_handle_t *handle, uint8_t enable)
set the dio output enable
uint8_t llcc68_get_dio_output_enable(llcc68_handle_t *handle, uint8_t *enable)
get the dio output enable
uint8_t llcc68_set_fsk_sync_word(llcc68_handle_t *handle, uint8_t sync_word[8])
set the sync word in FSK mode
uint8_t llcc68_get_fsk_broadcast_address(llcc68_handle_t *handle, uint8_t *addr)
get the broadcast address in FSK mode
uint8_t llcc68_set_xta_trim(llcc68_handle_t *handle, uint8_t trim)
set the xta trim
uint8_t llcc68_get_fsk_sync_word(llcc68_handle_t *handle, uint8_t sync_word[8])
get the sync word in FSK mode
uint8_t llcc68_set_iq_polarity(llcc68_handle_t *handle, uint8_t setup)
set the iq polarity
uint8_t llcc68_set_lora_sync_word(llcc68_handle_t *handle, uint16_t sync_word)
set the lora sync word
uint8_t llcc68_get_pull_down_control(llcc68_handle_t *handle, uint8_t *control)
get the pull down control
uint8_t llcc68_set_ocp(llcc68_handle_t *handle, uint8_t ocp)
set the ocp
uint8_t llcc68_set_tx_clamp_config(llcc68_handle_t *handle, uint8_t config)
set the tx clamp config
uint8_t llcc68_get_iq_polarity(llcc68_handle_t *handle, uint8_t *setup)
get the iq polarity
uint8_t llcc68_get_fsk_crc_initical_value(llcc68_handle_t *handle, uint16_t *value)
get the crc initical value in FSK mode
uint8_t llcc68_get_event_mask(llcc68_handle_t *handle, uint8_t *mask)
get the event mask
uint8_t llcc68_get_fsk_node_address(llcc68_handle_t *handle, uint8_t *addr)
get the node address in FSK mode
uint8_t llcc68_get_rtc_control(llcc68_handle_t *handle, uint8_t *control)
get the rtc control
uint8_t llcc68_set_rx_gain(llcc68_handle_t *handle, uint8_t gain)
set the rx gain
uint8_t llcc68_get_xtb_trim(llcc68_handle_t *handle, uint8_t *trim)
get the xtb trim
uint8_t llcc68_set_rtc_control(llcc68_handle_t *handle, uint8_t control)
set the rtc control
uint8_t llcc68_get_dio3_output_control(llcc68_handle_t *handle, uint8_t *control)
get the dio3 output
uint8_t llcc68_get_dio_input_enable(llcc68_handle_t *handle, uint8_t *enable)
get the dio input enable
uint8_t llcc68_get_xta_trim(llcc68_handle_t *handle, uint8_t *trim)
get the xta trim
uint8_t llcc68_set_pull_up_control(llcc68_handle_t *handle, uint8_t control)
set the pull up control
uint8_t llcc68_set_fsk_whitening_initial_value(llcc68_handle_t *handle, uint16_t value)
set the whitening initial value in FSK mode
uint8_t llcc68_set_event_mask(llcc68_handle_t *handle, uint8_t mask)
set the event mask
uint8_t llcc68_set_dio3_output_control(llcc68_handle_t *handle, uint8_t control)
set the dio3 output
uint8_t llcc68_get_lora_sync_word(llcc68_handle_t *handle, uint16_t *sync_word)
get the lora sync word
uint8_t llcc68_get_random_number(llcc68_handle_t *handle, uint32_t *r)
get the random number
uint8_t llcc68_get_pull_up_control(llcc68_handle_t *handle, uint8_t *control)
get the pull up control
uint8_t llcc68_set_fsk_broadcast_address(llcc68_handle_t *handle, uint8_t addr)
set the broadcast address in FSK mode
uint8_t llcc68_get_rx_gain(llcc68_handle_t *handle, uint8_t *gain)
get the rx gain
uint8_t llcc68_set_fsk_crc_polynomial_value(llcc68_handle_t *handle, uint16_t value)
set the crc polynomial value in FSK mode
uint8_t llcc68_set_tx_modulation(llcc68_handle_t *handle, uint8_t modulation)
set the tx modulation
uint8_t llcc68_set_fsk_node_address(llcc68_handle_t *handle, uint8_t addr)
set the node address in FSK mode
uint8_t llcc68_set_pull_down_control(llcc68_handle_t *handle, uint8_t control)
set the pull down control
uint8_t llcc68_set_dio_input_enable(llcc68_handle_t *handle, uint8_t enable)
set the dio input enable
uint8_t llcc68_get_tx_modulation(llcc68_handle_t *handle, uint8_t *modulation)
get the tx modulation
uint8_t llcc68_set_xtb_trim(llcc68_handle_t *handle, uint8_t trim)
set the xtb trim
uint8_t llcc68_get_tx_clamp_config(llcc68_handle_t *handle, uint8_t *config)
get the tx clamp config
uint8_t llcc68_get_ocp(llcc68_handle_t *handle, uint8_t *ocp)
get the ocp
uint8_t llcc68_get_fsk_whitening_initial_value(llcc68_handle_t *handle, uint16_t *value)
get the whitening initial value in FSK mode
uint8_t llcc68_get_fsk_crc_polynomial_value(llcc68_handle_t *handle, uint16_t *value)
get the crc polynomial value in FSK mode
uint8_t llcc68_set_fsk_crc_initical_value(llcc68_handle_t *handle, uint16_t value)
set the crc initial value in FSK mode
llcc68 handle structure definition
uint8_t(* spi_write_read)(uint8_t *in_buf, uint32_t in_len, uint8_t *out_buf, uint32_t out_len)
uint8_t(* spi_init)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* busy_gpio_init)(void)
void(* receive_callback)(uint16_t type, uint8_t *buf, uint16_t len)
uint8_t(* reset_gpio_deinit)(void)
void(* debug_print)(const char *const fmt,...)
uint8_t(* busy_gpio_deinit)(void)
uint8_t(* spi_deinit)(void)
uint8_t(* reset_gpio_init)(void)
uint8_t(* busy_gpio_read)(uint8_t *value)
uint8_t(* reset_gpio_write)(uint8_t value)
llcc68 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v