32 #include <invn/icu_interface/ch-rangefinder/structs.h>
36 #define ICU_GPT_MAX_SAMPLES (IQ_SAMPLES_MAX)
37 #define ICU_GPT_NUM_THRESHOLDS (LEN_THRESH)
39 #define CH_THRESH_LEVEL_HOLDOFF (40000)
43 uint16_t ringdown_cancel_samples;
44 uint16_t static_filter_samples;
47 uint8_t filter_update_interval;
51 extern const char *icu_gpt_version;
52 extern const uint8_t icu_gpt_fw_text[];
53 extern const uint8_t icu_gpt_fw_vec[];
54 extern const uint16_t icu_gpt_text_size;
55 extern const uint16_t icu_gpt_vec_size;
57 uint16_t get_icu_gpt_fw_ram_init_addr(
void);
58 uint16_t get_icu_gpt_fw_ram_init_size(
void);
60 const unsigned char *get_ram_icu_gpt_init_ptr(
void);
Internal driver types for operation with the Chirp ultrasonic sensor.
Internal definitions for TDK/Chirp ICU ultrasonic sensors.
void icu_gpt_algo_reset(ch_dev_t *dev_ptr, uint8_t meas_num)
Reset GPT Algorithm configuration.
Definition: icu_gpt.c:296
ch_output_type_t icu_gpt_algo_get_iq_output(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the I/Q data output format of GPT Algorithm.
Definition: icu_gpt.c:318
uint8_t icu_gpt_set_rx_holdoff(ch_dev_t *dev_ptr, uint8_t meas_num, uint16_t num_samples)
Set the receive holdoff sample count for a specific measurement.
Definition: icu_gpt.c:622
void icu_gpt_algo_update_odr(ch_dev_t *dev_ptr, uint8_t meas_num, ch_odr_t new_odr)
Update algo ODR.
Definition: icu_gpt.c:441
uint8_t icu_gpt_set_thresholds(ch_dev_t *dev_ptr, uint8_t meas_num, const ch_thresholds_t *lib_thresh_buf_ptr)
Set detection thresholds for a specific measurement.
Definition: icu_gpt.c:579
uint16_t icu_gpt_algo_get_target_amplitude(ch_dev_t *dev_ptr, uint8_t target_num)
Get the amplitude for a specific target detected in last measurement.
Definition: icu_gpt.c:350
uint8_t icu_gpt_algo_configure(ch_dev_t *dev_ptr, uint8_t meas_num, const icu_gpt_algo_config_t *algo_config_ptr, const ch_thresholds_t *lib_thresh_ptr)
Configure GPT Algorithm.
Definition: icu_gpt.c:275
uint16_t icu_gpt_get_static_filter(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the number of static target filter samples for a measurement.
Definition: icu_gpt.c:716
uint8_t icu_gpt_algo_set_iq_output(ch_dev_t *dev_ptr, uint8_t meas_num, ch_output_type_t output_format)
Set the I/Q data output format of GPT Algorithm.
Definition: icu_gpt.c:326
uint16_t icu_gpt_get_rx_holdoff(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the receive holdoff sample count for a specific measurement.
Definition: icu_gpt.c:683
uint8_t icu_gpt_algo_is_target_in_ringdown(ch_dev_t *dev_ptr)
Return if a target is detected near sensor (in the ringdown)
Definition: icu_gpt.c:517
uint8_t icu_gpt_get_thresholds(ch_dev_t *dev_ptr, uint8_t meas_num, ch_thresholds_t *lib_thresh_buf_ptr)
Get detection thresholds for a specific measurement.
Definition: icu_gpt.c:601
uint32_t icu_gpt_algo_get_target_range(ch_dev_t *dev_ptr, uint8_t target_num, ch_range_t range_type)
Get the range to a specific target detected in last measurement.
Definition: icu_gpt.c:366
uint8_t icu_gpt_set_num_ranges(ch_dev_t *dev_ptr, uint8_t meas_num, uint8_t num_ranges)
Set the max number of reported target ranges for a measurement.
Definition: icu_gpt.c:569
uint8_t icu_gpt_get_num_ranges(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the max number of reported target ranges for a measurement.
Definition: icu_gpt.c:575
uint8_t icu_gpt_display_algo_thresholds(ch_dev_t *dev_ptr)
Display GPT thresholds for debug purpose.
uint16_t icu_gpt_get_ringdown_cancel(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the number of ringdown cancellation samples for a measurement.
Definition: icu_gpt.c:706
uint8_t icu_gpt_init(ch_dev_t *dev_ptr, fw_info_t **fw_info)
Initialize GPT FW.
Definition: icu_gpt.c:249
uint8_t icu_gpt_algo_set_data_output(ch_dev_t *dev_ptr, const ch_output_t *output_ptr)
Set data output format and rate.
Definition: icu_gpt.c:468
uint8_t icu_gpt_set_ringdown_cancel(ch_dev_t *dev_ptr, uint8_t meas_num, uint16_t num_samples)
Set the number of ringdown cancellation samples for a measurement.
Definition: icu_gpt.c:700
uint8_t icu_gpt_algo_get_num_targets(ch_dev_t *dev_ptr)
Get the number of targets detected in last measurement.
Definition: icu_gpt.c:338
uint8_t icu_gpt_set_static_filter(ch_dev_t *dev_ptr, uint8_t meas_num, uint16_t num_samples)
Set the number of static target filter samples for a measurement.
Definition: icu_gpt.c:710
uint8_t icu_gpt_get_filter_update(ch_dev_t *dev_ptr, uint8_t meas_num)
Get the filter update interval for a measurement.
Definition: icu_gpt.c:726
uint8_t icu_gpt_set_filter_update(ch_dev_t *dev_ptr, uint8_t meas_num, uint8_t update_interval)
Set the filter update interval for a measurement.
Definition: icu_gpt.c:720
uint8_t icu_gpt_algo_init(ch_dev_t *dev_ptr, InvnAlgoRangeFinderConfig *algo_cfg)
Initialize GPT Algorithm.
Definition: icu_gpt.c:267
uint32_t icu_gpt_algo_get_target_tof_us(ch_dev_t *dev_ptr, uint8_t target_num)
Get the measured time-of-flight for a specific target in microseconds.
Definition: icu_gpt.c:413
SonicLib public API and support functions for TDK/InvenSense ultrasonic sensors (originally developed...
ch_range_t
Range data types.
Definition: soniclib.h:218
ch_output_type_t
Output type.
Definition: soniclib.h:308
ch_odr_t
Sensor output data rate (ODR).
Definition: soniclib.h:339
Chirp sensor device descriptor structure.
Definition: soniclib.h:732
Data output structure.
Definition: soniclib.h:464
Multiple detection threshold structure.
Definition: ch_rangefinder_types.h:42
Definition: soniclib.h:658
Algorithm configuration.
Definition: icu_gpt.h:42