ranging_algorithm_private.h

Allows to fetch data from ranging algorithm for analysis.

Copyright

Copyright (C) 2020 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Defines

RANGING_DEV_MAX_SIZE 256

Typedefs

typedef int16_t (*dev_print_func)(void *pbuf, size_t buf_len)
typedef char *(*str_cat_func)(char *dest, char *src)
typedef char *(*format_float_func)(float nbr, unsigned char digit, unsigned char decimal_point, char lead_char, unsigned char nul, char *str)
typedef struct ranging_prv_data ranging_prv_data_t
typedef struct ranging_prv ranging_prv_t

Functions

void ranging_algorithm_prv_init(ranging_prv_t *ranging_prv)

Initialize ranging private data and information.

Parameters

ranging_prv – Ranging private information.

void ranging_algorithm_prv_set_utils(ranging_prv_t *ranging_prv, dev_print_func print_ptr, str_cat_func cat, format_float_func format_float)

Set utils functions for ranging information.

Parameters
  • ranging_prv – Ranging private instance.

  • print_ptr – [in] Pointer to print to interface.

  • cat – [in] Pointer to cat defintion.

  • format_float – [in] Pointer to float_to_string defintion.

void ranging_algorithm_prv_set_raw_data(ranging_prv_t *ranging_prv, ranging_master_slave_info_t *r_info, uint16_t size)

Set private ranging raw data.

Parameters
  • ranging_prv – Ranging private instance.

  • r_info – [in] Phase information.

  • size – [in] Size to be copy.

void ranging_algorithm_prv_set_raw_del_prop(ranging_prv_t *ranging_prv, float *raw_prop, uint16_t size)

Set private ranging raw delay propagation.

Parameters
  • ranging_prv – Ranging private instance.

  • raw_prop – [in] Raw delay propgation.

  • size – [in] Size to be copy.

void ranging_algorithm_prv_set_prop_del_corrected(ranging_prv_t *ranging_prv, float *prop_corrected, uint16_t size)

Set private ranging corrected delay propagation.

Parameters
  • ranging_prv – Ranging private instance.

  • prop_corrected – [in] Value to write to private value.

  • size – [in] Size to copy.

void ranging_algorithm_prv_set_last_distance_data(ranging_prv_t *ranging_prv, float dist)

Set private ranging last distance.

Parameters
  • ranging_prv – Ranging private instance.

  • dist – [in] Distance to write to private value.

void ranging_algorithm_prv_set_prop_del_avg(ranging_prv_t *ranging_prv, float del_prop_avg)

Set private ranging average propgation delay.

Parameters
  • ranging_prv – Ranging private instance.

  • prop_corrected – [in] Value to write to private value.

void ranging_algorithm_prv_print_column_label(ranging_prv_t *ranging_prv)

Print the column label for the ranging dev data.

Parameters

ranging_prv – Ranging private instance.

void ranging_algorithm_prv_print(ranging_prv_t *ranging_prv)

Print current ranging information to interface.

Parameters

ranging_prv – Ranging private instance.

void ranging_algorithm_prv_increment_idx(ranging_prv_t *ranging_prv, uint16_t nb_sample)

Increment ranging private index.

Parameters
  • ranging_prv – Ranging private instance.

  • nb_sample – [in] Number of sample taken.

bool ranging_algorithm_prv_is_buf_full(ranging_prv_t *ranging_prv)

Look if the buffer is full.

Parameters

ranging_prv – Ranging private instance.

Returns True

Buffer is full.

Returns False

Buffer is not full.

bool ranging_algorithm_prv_is_buf_empty(ranging_prv_t *ranging_prv)

Look if the buffer is empty.

Parameters

ranging_prv – Ranging private instance.

Returns True

Buffer is empty.

Returns False

Buffer is not empty.

struct ranging_prv_data

Public Members

ranging_master_slave_info_t ranging_master_slave[RANGING_DEV_MAX_SIZE]
float prop_del_raw[RANGING_DEV_MAX_SIZE]
float prop_del_corrected[RANGING_DEV_MAX_SIZE]
float prop_del_average[RANGING_DEV_MAX_SIZE]
float last_distance[RANGING_DEV_MAX_SIZE]
struct ranging_prv

Public Members

ranging_prv_data_t ranging_prv_data
uint16_t current_idx
dev_print_func print
str_cat_func cat
format_float_func format_float