40 static uint8_t gs_rx_done;
41 static uint8_t gs_send_buffer[256];
50 static void a_callback(uint16_t type, uint8_t *buf, uint16_t len)
66 uint8_t signal_rssi_pkt_raw;
69 float signal_rssi_pkt;
75 (uint8_t *)&signal_rssi_pkt_raw, (
float *)&rssi_pkt,
76 (
float *)&snr_pkt, (
float *)&signal_rssi_pkt) != 0)
91 for (i = 0; i < len; i++)
451 for (i = 0; i < 192; i++)
453 gs_send_buffer[i] = i;
460 (uint8_t *)gs_send_buffer, 192, 0);
801 while ((s != 0) && (gs_rx_done == 0))
driver llcc68 send receive test 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_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_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_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_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_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_LORA_CRC_TYPE_ON
@ LLCC68_LORA_BANDWIDTH_125_KHZ
@ LLCC68_CLOCK_SOURCE_XTAL_32MHZ
@ LLCC68_IRQ_PREAMBLE_DETECTED
@ LLCC68_IRQ_CAD_DETECTED
@ LLCC68_IRQ_HEADER_VALID
@ LLCC68_IRQ_SYNC_WORD_VALID
@ LLCC68_REGULATOR_MODE_DC_DC_LDO
@ LLCC68_PACKET_TYPE_LORA
@ LLCC68_LORA_HEADER_EXPLICIT
@ LLCC68_RX_TX_FALLBACK_MODE_STDBY_XOSC
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_receive_callback(uint16_t type, uint8_t *buf, uint16_t len)
interface receive callback
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
uint8_t llcc68_interrupt_test_irq_handler(void)
llcc68 interrupt test irq
uint8_t llcc68_send_test(void)
send test
uint8_t llcc68_receive_test(uint32_t s)
receive test
llcc68 handle structure definition