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];
33 } acc_cal_result_t;
34
35 /**
36 * @brief Information about calibration.
37 */
38 typedef struct
39 {
40 int16_t temperature;
41 } acc_cal_info_t;
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. */
52 ACC_CONFIG_PROFILE_1 = 1,
53 ACC_CONFIG_PROFILE_2,
54 ACC_CONFIG_PROFILE_3,
55 ACC_CONFIG_PROFILE_4,
56 /*! The profile with the lowest depth resolution and highest radar loop gain. */
57 ACC_CONFIG_PROFILE_5,
58 } acc_config_profile_t;
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. */
73 ACC_CONFIG_IDLE_STATE_DEEP_SLEEP,
74 ACC_CONFIG_IDLE_STATE_SLEEP,
75 /*! The shallowest state where most of the sensor hardware is kept on. */
76 ACC_CONFIG_IDLE_STATE_READY,
77 } acc_config_idle_state_t;
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 */
114 ACC_CONFIG_PRF_19_5_MHZ,
115 /*! 15.6 MHz */
116 ACC_CONFIG_PRF_15_6_MHZ,
117 /*! 13.0 MHz */
118 ACC_CONFIG_PRF_13_0_MHZ,
119 /*! 8.7 MHz */
120 ACC_CONFIG_PRF_8_7_MHZ,
121 /*! 6.5 MHz */
122 ACC_CONFIG_PRF_6_5_MHZ,
123 /*! 5.2 MHz */
124 ACC_CONFIG_PRF_5_2_MHZ,
125 } acc_config_prf_t;
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