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];
23 
24 /**
25  * Information about calibration.
26  */
27 typedef struct
28 {
29  int16_t temperature;
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. */
46  /*! The profile with the lowest depth resolution and highest radar loop gain. */
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. */
66  /*! The shallowest state where most of the sensor hardware is kept on. */
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 */
107  /*! 15.6 MHz */
109  /*! 13.0 MHz */
111  /*! 8.7 MHz */
113  /*! 6.5 MHz */
115  /*! 5.2 MHz */
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