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