408 0x0000, 0x0000) != 0)
433 #if LLCC68_LORA_DEFAULT_INVERT_IQ == LLCC68_BOOL_FALSE
469 0x0000, 0x0000) != 0)
494 #if LLCC68_LORA_DEFAULT_INVERT_IQ == LLCC68_BOOL_FALSE
527 0x0000, 0x0000) != 0)
556 (uint8_t *)buf, len, 0) != 0)
602 uint8_t rssi_pkt_raw;
604 uint8_t signal_rssi_pkt_raw;
605 float signal_rssi_pkt;
609 (uint8_t *)&signal_rssi_pkt_raw, (
float *)rssi, (
float *)snr, (
float *)&signal_rssi_pkt) != 0)
driver llcc68 lora header file
uint8_t llcc68_irq_handler(llcc68_handle_t *handle)
irq handler
llcc68_bool_t
llcc68 bool 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_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
uint8_t llcc68_clear_device_errors(llcc68_handle_t *handle)
clear the device errors
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_status(llcc68_handle_t *handle, uint8_t *status)
get the status
uint8_t llcc68_clear_irq_status(llcc68_handle_t *handle, uint16_t clear_irq_param)
clear the irq status
uint8_t llcc68_deinit(llcc68_handle_t *handle)
close the chip
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
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
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
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
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_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_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
uint8_t llcc68_set_standby(llcc68_handle_t *handle, llcc68_clock_source_t src)
enter to the standby mode
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_frequency_convert_to_register(llcc68_handle_t *handle, uint32_t freq, uint32_t *reg)
convert the frequency to the register raw data
uint8_t llcc68_lora_cad(llcc68_handle_t *handle, llcc68_bool_t *enable)
run the cad
uint8_t llcc68_set_packet_type(llcc68_handle_t *handle, llcc68_packet_type_t type)
set the packet type
uint8_t llcc68_init(llcc68_handle_t *handle)
initialize the chip
@ LLCC68_CLOCK_SOURCE_XTAL_32MHZ
@ LLCC68_IRQ_CAD_DETECTED
@ LLCC68_PACKET_TYPE_LORA
@ LLCC68_RX_TX_FALLBACK_MODE_STDBY_XOSC
@ LLCC68_LORA_CAD_EXIT_MODE_ONLY
#define LLCC68_LORA_DEFAULT_CAD_DET_PEAK
#define LLCC68_LORA_DEFAULT_RX_GAIN
uint8_t llcc68_lora_deinit(void)
lora example deinit
#define LLCC68_LORA_DEFAULT_PA_CONFIG_HP_MAX
uint8_t llcc68_lora_check_packet_error(llcc68_bool_t *enable)
lora example check packet error
#define LLCC68_LORA_DEFAULT_BUFFER_SIZE
uint8_t llcc68_lora_wake_up(void)
lora example wake up the chip
uint8_t llcc68_lora_set_shot_receive_mode(double us)
lora example enter to the shot receive mode
uint8_t llcc68_lora_set_continuous_receive_mode(void)
lora example enter to the continuous receive mode
uint8_t llcc68_lora_run_cad(llcc68_bool_t *enable)
lora example run the cad
#define LLCC68_LORA_DEFAULT_RAMP_TIME
#define LLCC68_LORA_DEFAULT_CR
uint8_t llcc68_lora_sleep(void)
lora example enter to the sleep mode
uint8_t llcc68_lora_send(uint8_t *buf, uint16_t len)
lora example send lora data
#define LLCC68_LORA_DEFAULT_CRC_TYPE
#define LLCC68_LORA_DEFAULT_OCP
#define LLCC68_LORA_DEFAULT_CAD_DET_MIN
#define LLCC68_LORA_DEFAULT_SYNC_WORD
#define LLCC68_LORA_DEFAULT_SYMB_NUM_TIMEOUT
#define LLCC68_LORA_DEFAULT_SF
#define LLCC68_LORA_DEFAULT_REGULATOR_MODE
#define LLCC68_LORA_DEFAULT_INVERT_IQ
#define LLCC68_LORA_DEFAULT_START_MODE
#define LLCC68_LORA_DEFAULT_RTC_WAKE_UP
#define LLCC68_LORA_DEFAULT_HEADER
uint8_t llcc68_lora_init(void(*callback)(uint16_t type, uint8_t *buf, uint16_t len))
lora example init
#define LLCC68_LORA_DEFAULT_BANDWIDTH
uint8_t llcc68_lora_irq_handler(void)
llcc68 lora irq
#define LLCC68_LORA_DEFAULT_PA_CONFIG_DUTY_CYCLE
#define LLCC68_LORA_DEFAULT_RF_FREQUENCY
#define LLCC68_LORA_DEFAULT_LOW_DATA_RATE_OPTIMIZE
#define LLCC68_LORA_DEFAULT_TX_DBM
uint8_t llcc68_lora_get_status(float *rssi, float *snr)
lora example get the status
#define LLCC68_LORA_DEFAULT_STOP_TIMER_ON_PREAMBLE
llcc68 lora example default definition
#define LLCC68_LORA_DEFAULT_CAD_SYMBOL_NUM
#define LLCC68_LORA_DEFAULT_PREAMBLE_LENGTH
uint8_t llcc68_lora_set_send_mode(void)
lora example enter to the send mode
uint8_t llcc68_interface_reset_gpio_init(void)
interface reset gpio init
uint8_t llcc68_interface_busy_gpio_read(uint8_t *value)
interface busy gpio read
uint8_t llcc68_interface_busy_gpio_deinit(void)
interface busy gpio deinit
uint8_t llcc68_interface_spi_deinit(void)
interface spi bus deinit
uint8_t llcc68_interface_spi_write_read(uint8_t *in_buf, uint32_t in_len, uint8_t *out_buf, uint32_t out_len)
interface spi bus write read
uint8_t llcc68_interface_reset_gpio_deinit(void)
interface reset gpio deinit
void llcc68_interface_debug_print(const char *const fmt,...)
interface print format data
void llcc68_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t llcc68_interface_spi_init(void)
interface spi bus init
uint8_t llcc68_interface_busy_gpio_init(void)
interface busy gpio init
uint8_t llcc68_interface_reset_gpio_write(uint8_t data)
interface reset gpio write
#define DRIVER_LLCC68_LINK_BUSY_GPIO_READ(HANDLE, FUC)
link busy_gpio_read function
#define DRIVER_LLCC68_LINK_SPI_INIT(HANDLE, FUC)
link spi_init function
#define DRIVER_LLCC68_LINK_DELAY_MS(HANDLE, FUC)
link delay_ms function
#define DRIVER_LLCC68_LINK_RESET_GPIO_WRITE(HANDLE, FUC)
link reset_gpio_write function
#define DRIVER_LLCC68_LINK_BUSY_GPIO_DEINIT(HANDLE, FUC)
link busy_gpio_deinit function
#define DRIVER_LLCC68_LINK_SPI_WRITE_READ(HANDLE, FUC)
link spi_write_read function
#define DRIVER_LLCC68_LINK_INIT(HANDLE, STRUCTURE)
initialize llcc68_handle_t structure
#define DRIVER_LLCC68_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
link receive_callback function
#define DRIVER_LLCC68_LINK_DEBUG_PRINT(HANDLE, FUC)
link debug_print function
#define DRIVER_LLCC68_LINK_SPI_DEINIT(HANDLE, FUC)
link spi_deinit function
#define DRIVER_LLCC68_LINK_RESET_GPIO_INIT(HANDLE, FUC)
link reset_gpio_init function
#define DRIVER_LLCC68_LINK_RESET_GPIO_DEINIT(HANDLE, FUC)
link reset_gpio_deinit function
#define DRIVER_LLCC68_LINK_BUSY_GPIO_INIT(HANDLE, FUC)
link busy_gpio_init function
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_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_set_rx_gain(llcc68_handle_t *handle, uint8_t gain)
set the rx gain
uint8_t llcc68_set_tx_modulation(llcc68_handle_t *handle, uint8_t modulation)
set the tx modulation
uint8_t llcc68_get_tx_modulation(llcc68_handle_t *handle, uint8_t *modulation)
get the tx modulation
uint8_t llcc68_get_tx_clamp_config(llcc68_handle_t *handle, uint8_t *config)
get the tx clamp config
llcc68 handle structure definition