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