acc_definitions_a121.h
Go to the documentation of this file.
1 // Copyright (c) Acconeer AB, 2022-2025
2 // All rights reserved
3 
4 #ifndef ACC_DEFINITIONS_A121_H_
5 #define ACC_DEFINITIONS_A121_H_
6 
7 #include <stdint.h>
8 
9 /**
10  * @defgroup definitions Definitions
11  *
12  * @brief Various definitions and types used in the RSS API
13  *
14  * @{
15  */
16 
17 /**
18  * @brief The size of a sensor calibration result
19  */
20 #define ACC_CAL_RESULT_DATA_SIZE (240)
21 
22 /**
23  * @brief The maximum number of subsweeps in a configuration.
24  */
25 #define ACC_MAX_NUM_SUBSWEEPS (4U)
26 
27 /**
28  * @brief The result from a completed calibration.
29  */
30 typedef struct
31 {
32  uint32_t data[ACC_CAL_RESULT_DATA_SIZE / 4];
34 
35 /**
36  * @brief Information about calibration.
37  */
38 typedef struct
39 {
40  int16_t temperature;
42 
43 /**
44  * @brief Profile
45  *
46  * Each profile consists of a number of settings for the sensor that configures the RX and TX paths.
47  * Lower profiles have higher depth resolution while higher profiles have higher radar loop gain.
48  */
49 typedef enum
50 {
51  /*! The profile with the highest depth resolution and lowest radar loop gain. */
56  /*! The profile with the lowest depth resolution and highest radar loop gain. */
59 
60 /**
61  * @brief Idle state
62  *
63  * Idle state 'DEEP_SLEEP' is the deepest state where as much of the sensor hardware as
64  * possible is shut down and idle state 'READY' is the shallowest state where most of the sensor
65  * hardware is kept on.
66  *
67  * DEEP_SLEEP is the slowest to transition from while READY is the fastest.
68  *
69  */
70 typedef enum
71 {
72  /*! The deepest state where as much of the sensor hardware is shut down. */
75  /*! The shallowest state where most of the sensor hardware is kept on. */
78 
79 /**
80  * @brief Pulse Repetition Frequency
81  *
82  * Pulse Repetition Frequency, PRF, is the frequency at
83  * which pulses are sent out from the radar system. The
84  * measurement time is approximately proportional to the
85  * PRF. The higher the PRF, the shorter the measurement time.
86  *
87  * This parameter sets the Maximum Measurable Distance, MMD,
88  * that can be achieved. MMD is the maximum value for the end point,
89  * i.e.,the start point + (number of points * step length).
90  * For example, an MMD of 7.0 m means that the range cannot
91  * be set further out than 7.0 m.
92  *
93  * It also sets the Maximum Unambiguous Range, MUR, that can be achieved.
94  * MUR is the maximum distance at which an object can be located to guarantee
95  * that its reflection corresponds to the most recent transmitted pulse.
96  * Objects farther away than the MUR may fold into the measured range.
97  * For example, with a MUR of 11.5 m, an object at 13.5 m could become
98  * visible at 2 m.
99  *
100  * | PRF Setting | PRF | MMD | MUR |
101  * |-------------------------:|---------:|-------:|-------:|
102  * | ACC_CONFIG_PRF_19_5_MHZ* | 19.5 MHz | 3.1 m | 7.7 m |
103  * | ACC_CONFIG_PRF_15_6_MHZ | 15.6 MHz | 5.1 m | 9.6 m |
104  * | ACC_CONFIG_PRF_13_0_MHZ | 13.0 MHz | 7.0 m | 11.5 m |
105  * | ACC_CONFIG_PRF_8_7_MHZ | 8.7 MHz | 12.7 m | 17.3 m |
106  * | ACC_CONFIG_PRF_6_5_MHZ | 6.5 MHz | 18.5 m | 23.1 m |
107  * | ACC_CONFIG_PRF_5_2_MHZ | 5.2 MHz | 24.3 m | 28.8 m |
108  *
109  * *19.5MHz is only available for profile 1.
110  */
111 typedef enum
112 {
113  /*! 19.5 MHz */
115  /*! 15.6 MHz */
117  /*! 13.0 MHz */
119  /*! 8.7 MHz */
121  /*! 6.5 MHz */
123  /*! 5.2 MHz */
126 
127 /**
128  * @}
129  */
130 
131 #endif
ACC_CONFIG_PROFILE_4
@ ACC_CONFIG_PROFILE_4
Definition: acc_definitions_a121.h:55
acc_cal_info_t
Information about calibration.
Definition: acc_definitions_a121.h:38
ACC_CONFIG_PRF_8_7_MHZ
@ ACC_CONFIG_PRF_8_7_MHZ
Definition: acc_definitions_a121.h:120
ACC_CONFIG_PRF_6_5_MHZ
@ ACC_CONFIG_PRF_6_5_MHZ
Definition: acc_definitions_a121.h:122
acc_cal_result_t
The result from a completed calibration.
Definition: acc_definitions_a121.h:30
ACC_CAL_RESULT_DATA_SIZE
#define ACC_CAL_RESULT_DATA_SIZE
The size of a sensor calibration result.
Definition: acc_definitions_a121.h:20
ACC_CONFIG_IDLE_STATE_DEEP_SLEEP
@ ACC_CONFIG_IDLE_STATE_DEEP_SLEEP
Definition: acc_definitions_a121.h:73
ACC_CONFIG_PROFILE_5
@ ACC_CONFIG_PROFILE_5
Definition: acc_definitions_a121.h:57
ACC_CONFIG_PROFILE_2
@ ACC_CONFIG_PROFILE_2
Definition: acc_definitions_a121.h:53
acc_config_prf_t
acc_config_prf_t
Pulse Repetition Frequency.
Definition: acc_definitions_a121.h:111
ACC_CONFIG_PRF_5_2_MHZ
@ ACC_CONFIG_PRF_5_2_MHZ
Definition: acc_definitions_a121.h:124
ACC_CONFIG_PRF_15_6_MHZ
@ ACC_CONFIG_PRF_15_6_MHZ
Definition: acc_definitions_a121.h:116
ACC_CONFIG_IDLE_STATE_READY
@ ACC_CONFIG_IDLE_STATE_READY
Definition: acc_definitions_a121.h:76
acc_config_profile_t
acc_config_profile_t
Profile.
Definition: acc_definitions_a121.h:49
ACC_CONFIG_PRF_13_0_MHZ
@ ACC_CONFIG_PRF_13_0_MHZ
Definition: acc_definitions_a121.h:118
ACC_CONFIG_IDLE_STATE_SLEEP
@ ACC_CONFIG_IDLE_STATE_SLEEP
Definition: acc_definitions_a121.h:74
ACC_CONFIG_PROFILE_1
@ ACC_CONFIG_PROFILE_1
Definition: acc_definitions_a121.h:52
acc_cal_info_t::temperature
int16_t temperature
Definition: acc_definitions_a121.h:40
ACC_CONFIG_PRF_19_5_MHZ
@ ACC_CONFIG_PRF_19_5_MHZ
Definition: acc_definitions_a121.h:114
ACC_CONFIG_PROFILE_3
@ ACC_CONFIG_PROFILE_3
Definition: acc_definitions_a121.h:54
acc_config_idle_state_t
acc_config_idle_state_t
Idle state.
Definition: acc_definitions_a121.h:70