TI-radar AWR1843 ARM-Cortex R4F core  1
mmw_messages.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * @file mmw_messages.h
3  * @brief This is the main common header file for both the MSS and DSS
4  * @author A. Astro, a.astro7x@gmail.com
5  * @date Jan 13 2020
6  * @version 0.1
7  *******************************************************************************/
8 
9 
10 #ifndef MMW_MESSAGES_H
11 #define MMW_MESSAGES_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
18 #define MMW_OUTPUT_MSG_SEGMENT_LEN 32
19 
28 typedef enum mmWaveMSG_OUT_TYPE_e {
29 
38 
39 
40 
47 typedef struct mmWave_OUT_MSG_header_t {
48 
49  uint16_t magicWord[4];
50  uint32_t version;
51  uint32_t totalPacketLen;
52  uint32_t platform;
53  uint32_t frameNumber;
54  uint32_t timeCpuCycles;
55  uint32_t numDetectedObj;
56  uint32_t numTLVs;
58 #if (defined(SOC_XWR18XX) || defined(ENABLE_ADVANCED_FRAME))
59  uint32_t subFrameNumber;
60 #endif
62 
63 
71 
72  uint16_t numDetetedObj;
73  uint16_t xyzQFormat;
76 
77 
84 typedef struct mmWave_OUT_MSG_tl_t {
85 
86  uint32_t type;
87  uint32_t length;
90 
91 
92 
93 #if 0
94 
102 typedef struct mmWave_OUT_MSG_stats_t {
103 
104  uint32_t interFrameProcessingTime;
105  uint32_t transmitOutputTime;
106  uint32_t interFrameProcessingMargin;
107  uint32_t interChirpProcessingMargin;
108  uint32_t activeFrameCPULoad;
109  uint32_t interFrameCPULoad;
111 } mmWave_OUT_MSG_stats;
112 #endif
113 
114 
115 
122 typedef enum mbox_message_type_e
123 {
138 
147 
148 
150 #define MMW_DSS2MSS_EXCEPTION_SIGNALLING_SW_INT_DSS 1
151 
153 #define MMW_DSS2MSS_EXCEPTION_SIGNALLING_SW_INT_MSS SOC_XWR16XX_MSS_DSS2MSS_SW1_INT
154 
155 
161 #define MMW_DSS2MSS_CHIRP_PROC_DEADLINE_MISS_EXCEPTION 0
162 
168 #define MMW_DSS2MSS_FRAME_PROC_DEADLINE_MISS_EXCEPTION 1
169 
170 
171 
177 typedef struct mmWaveMSG_TLV_t {
178  uint32_t type;
179  uint32_t length;
180  uint32_t address;
181 } mmWaveMSG_TLV;
182 
188 typedef struct mmWave_detObjMsg_t {
192 
193 #define MMWAVE_MAX_FILE_NAME_SIZE 128
194 
203  uint32_t line;
205 
211 typedef union mmWaveMSG_body_u {
212 
214  uint8_t dataLogger;
216  uint32_t dss2mssISRinfoAddress;
218 
222 #define MMW_SUBFRAME_NUM_FRAME_LEVEL_CONFIG (-1)
223 
228 typedef struct mmWaveMSG_t {
229 
230  int8_t subFrameNum;
234 }mmWaveMSG;
235 
236 
237 
238 #ifdef __cplusplus
239 }
240 #endif
241 
242 #endif /* MMW_MESSAGES_H */
mmWave_dssAssertInfoMsg_t::file
char file[MMWAVE_MAX_FILE_NAME_SIZE]
file name
Definition: mmw_messages.h:201
MBOX_MSS2DSS_DETOBJ_SHIPPED
Definition: mmw_messages.h:130
MBOX_MSS2DSS_CFAR_RANGE_CFG
Definition: mmw_messages.h:125
mmWaveMSG_body_u::detObj
mmWave_detInfoMsg detObj
Detectection Information message.
Definition: mmw_messages.h:212
MBOX_DSS2MSS_CONFIGDONE
message types for DSS to MSS communication
Definition: mmw_messages.h:139
mmWaveMSG_TLV_t::type
uint32_t type
Payload type.
Definition: mmw_messages.h:177
MBOX_MSS2DSS_CFAR_DOPPLER_CFG
Definition: mmw_messages.h:126
MBOX_MSS2DSS_ADCBUFCFG
Definition: mmw_messages.h:132
OUTPUT_MSG_STATS
Stats information.
Definition: mmw_messages.h:34
MBOX_MSS2DSS_COMP_RANGE_BIAS_AND_RX_CHAN_PHASE
Definition: mmw_messages.h:135
OUTPUT_MSG_MAX
Max TLV outptut message.
Definition: mmw_messages.h:35
mmWaveMSG_body
union mmWaveMSG_body_u mmWaveMSG_body
The union defines the message body for various configuration messages. For passing configuration from...
mmWave_OUT_MSG_tl_t::type
uint32_t type
TLV type.
Definition: mmw_messages.h:85
OUTPUT_MSG_AZIMUT_STATIC_HEAT_MAP
Samples to calculate static azimuth heatmap.
Definition: mmw_messages.h:32
mmWaveMSG_t::body
mmWaveMSG_body body
message body
Definition: mmw_messages.h:231
OUTPUT_MSG_RANGE_DOPPLER_HEAT_MAP
Range/Doppler detection matrix.
Definition: mmw_messages.h:33
mmWave_dssAssertInfoMsg
struct mmWave_dssAssertInfoMsg_t mmWave_dssAssertInfoMsg
The structure defines the message body for the information on a DSS exception that should be forwarde...
MBOX_DSS2MSS_ISR_INFO_ADDRESS
Definition: mmw_messages.h:143
mmWave_detObjMsg_t
The structure defines the message body for for reporting detection information from data path to MSS.
Definition: mmw_messages.h:187
mmWaveMSG_body_u
The union defines the message body for various configuration messages. For passing configuration from...
Definition: mmw_messages.h:210
mmWave_OUT_MSG_stats_dataObjDescr_t
Structure holds information about detected objects. This information is sent in front of the array of...
Definition: mmw_messages.h:69
mmWaveMSG_t::type
mbox_message_type type
message type
Definition: mmw_messages.h:230
mmWaveMSG_body_u::dss2mssISRinfoAddress
uint32_t dss2mssISRinfoAddress
Address of DSS to MSS ISR information storage, typically in HSRAM.
Definition: mmw_messages.h:215
MBOX_MSS2DSS_GUIMON_CFG
message types for MSS to DSS communication
Definition: mmw_messages.h:124
MBOX_MSS2DSS_MEASURE_RANGE_BIAS_AND_RX_CHAN_PHASE
Definition: mmw_messages.h:136
mmWave_OUT_MSG_stats_dataObjDescr
struct mmWave_OUT_MSG_stats_dataObjDescr_t mmWave_OUT_MSG_stats_dataObjDescr
Structure holds information about detected objects. This information is sent in front of the array of...
MBOX_MSS2DSS_EXTENDED_MAX_VELOCITY
Definition: mmw_messages.h:133
MBOX_MSS2DSS_PEAK_GROUPING_CFG
Definition: mmw_messages.h:127
mmWave_OUT_MSG_stats_dataObjDescr_t::xyzQFormat
uint16_t xyzQFormat
Q format of detected objects x/y/z coordinates.
Definition: mmw_messages.h:72
mmWaveMSG_TLV_t::length
uint32_t length
Length in bytes.
Definition: mmw_messages.h:178
MBOX_MSS2DSS_CALIB_DC_RANGE_SIG
Definition: mmw_messages.h:129
mmWave_dssAssertInfoMsg_t::line
uint32_t line
line number
Definition: mmw_messages.h:202
mbox_message_type
enum mbox_message_type_e mbox_message_type
The enum is used to hold all the messages types used for Mailbox communication between MSS and DSS in...
mmWaveMSG
struct mmWaveMSG_t mmWaveMSG
The structure defines the message structure used for communication between MSS and DSS.
mmWave_dssAssertInfoMsg_t
The structure defines the message body for the information on a DSS exception that should be forwarde...
Definition: mmw_messages.h:200
mmWaveMSG_OUT_TYPE_e
mmWaveMSG_OUT_TYPE_e
Message types used in Millimeter Wave Demo for the communication between target and host,...
Definition: mmw_messages.h:27
mmWave_OUT_MSG_tl_t::length
uint32_t length
Length in bytes.
Definition: mmw_messages.h:86
mmWave_detObjMsg_t::tlv
mmWaveMSG_TLV tlv[OUTPUT_MSG_MAX]
TLVs of the detection information.
Definition: mmw_messages.h:189
MBOX_DSS2MSS_DETOBJ_READY
Definition: mmw_messages.h:140
mmWave_OUT_MSG_stats_dataObjDescr_t::numDetetedObj
uint16_t numDetetedObj
Number of detected objects.
Definition: mmw_messages.h:71
mmWaveMSG_TLV_t
The structure describes the TLV part of the message from DSS to MSS on data path detection informatio...
Definition: mmw_messages.h:176
mmWaveMSG_t::subFrameNum
int8_t subFrameNum
Subframe number for which this message is applicable.
Definition: mmw_messages.h:229
mmWaveMSG_TLV
struct mmWaveMSG_TLV_t mmWaveMSG_TLV
The structure describes the TLV part of the message from DSS to MSS on data path detection informatio...
mmWave_detObjMsg_t::header
mmWave_OUT_MSG_header header
Header of the detection information message.
Definition: mmw_messages.h:188
mmWave_OUT_MSG_header_t::version
uint32_t version
Version: : MajorNum * 2^24 + MinorNum * 2^16 + BugfixNum * 2^8 + BuildNum
Definition: mmw_messages.h:49
OUTPUT_MSG_DETECTED_POINTS
List of detected points.
Definition: mmw_messages.h:29
mmWave_OUT_MSG_header_t::platform
uint32_t platform
platform type
Definition: mmw_messages.h:51
MBOX_MSS2DSS_CLUTTER_REMOVAL
Definition: mmw_messages.h:134
mmWave_OUT_MSG_tl_t
The structure defines the message body for reporting detected objects from data path....
Definition: mmw_messages.h:83
mmWaveMSG_OUT_TYPE
enum mmWaveMSG_OUT_TYPE_e mmWaveMSG_OUT_TYPE
Message types used in Millimeter Wave Demo for the communication between target and host,...
mmWave_OUT_MSG_header_t
The structure defines the message header for reporting detection information from data path....
Definition: mmw_messages.h:46
mmWave_OUT_MSG_header_t::magicWord
uint16_t magicWord[4]
Output buffer magic word (sync word). It is initialized to {0x0102,0x0304,0x0506,0x0708}.
Definition: mmw_messages.h:48
mmWaveMSG_TLV_t::address
uint32_t address
Address of the payload.
Definition: mmw_messages.h:179
mmWave_detInfoMsg
struct mmWave_detObjMsg_t mmWave_detInfoMsg
The structure defines the message body for for reporting detection information from data path to MSS.
mmWaveMSG_t
The structure defines the message structure used for communication between MSS and DSS.
Definition: mmw_messages.h:227
mmWave_OUT_MSG_header_t::totalPacketLen
uint32_t totalPacketLen
Total packet length including header in Bytes.
Definition: mmw_messages.h:50
mmWave_OUT_MSG_header_t::frameNumber
uint32_t frameNumber
Frame number.
Definition: mmw_messages.h:52
MBOX_DSS2MSS_ASSERT_INFO
Definition: mmw_messages.h:142
mmWave_OUT_MSG_header_t::numDetectedObj
uint32_t numDetectedObj
Number of detected objects.
Definition: mmw_messages.h:54
mmWave_OUT_MSG_header_t::numTLVs
uint32_t numTLVs
Number of TLVs.
Definition: mmw_messages.h:55
MBOX_MSS2DSS_MULTI_OBJ_BEAM_FORM
Definition: mmw_messages.h:128
mmWaveMSG_body_u::assertInfo
mmWave_dssAssertInfoMsg assertInfo
DSS assertion information.
Definition: mmw_messages.h:214
mmWaveMSG_body_u::dataLogger
uint8_t dataLogger
Datapath output logger setting.
Definition: mmw_messages.h:213
MBOX_DSS2MSS_STOPDONE
Definition: mmw_messages.h:141
mmWave_OUT_MSG_header
struct mmWave_OUT_MSG_header_t mmWave_OUT_MSG_header
The structure defines the message header for reporting detection information from data path....
OUTPUT_MSG_NOISE_PROFILE
Noise floor profile.
Definition: mmw_messages.h:31
MMWAVE_MAX_FILE_NAME_SIZE
#define MMWAVE_MAX_FILE_NAME_SIZE
Definition: mmw_messages.h:192
MBOX_DSS2MSS_MEASUREMENT_INFO
Definition: mmw_messages.h:144
mmWave_OUT_MSG_header_t::timeCpuCycles
uint32_t timeCpuCycles
Time in CPU cycles when the message was created. For XWR16xx/XWR18xx: DSP CPU cycles,...
Definition: mmw_messages.h:53
mmWave_OUT_MSG_tl
struct mmWave_OUT_MSG_tl_t mmWave_OUT_MSG_tl
The structure defines the message body for reporting detected objects from data path....
mbox_message_type_e
mbox_message_type_e
The enum is used to hold all the messages types used for Mailbox communication between MSS and DSS in...
Definition: mmw_messages.h:121
MBOX_MSS2DSS_SET_DATALOGGER
Definition: mmw_messages.h:131
OUTPUT_MSG_RANGE_PROFILE
Range profile.
Definition: mmw_messages.h:30