TI-radar AWR1843 C674x DSP 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 
17 /*It was working fine on MSS without linking the stdint, now it must be included.
18  * Undefined behaviour to be solved later
19  * Time is precious and I don't have time :(
20  * Try to recompile after changing "mmw_messages.h" to <mmw_messages.h>
21  * */
22 #include <stdint.h>
23 
25 #define MMW_OUTPUT_MSG_SEGMENT_LEN 32
26 
35 typedef enum mmWaveMSG_OUT_TYPE_e {
36 
45 
46 
47 
54 typedef struct mmWave_OUT_MSG_header_t {
55 
56  uint16_t magicWord[4];
57  uint32_t version;
58  uint32_t totalPacketLen;
59  uint32_t platform;
60  uint32_t frameNumber;
61  uint32_t timeCpuCycles;
62  uint32_t numDetectedObj;
63  uint32_t numTLVs;
65 #if (defined(SOC_XWR18XX) || defined(ENABLE_ADVANCED_FRAME))
66  uint32_t subFrameNumber;
67 #endif
69 
70 
78 
79  uint16_t numDetetedObj;
80  uint16_t xyzQFormat;
83 
84 
91 typedef struct mmWave_OUT_MSG_tl_t {
92 
93  uint32_t type;
94  uint32_t length;
97 
98 
99 
100 #if 0
101 
109 typedef struct mmWave_OUT_MSG_stats_t {
110 
111  uint32_t interFrameProcessingTime;
112  uint32_t transmitOutputTime;
113  uint32_t interFrameProcessingMargin;
114  uint32_t interChirpProcessingMargin;
115  uint32_t activeFrameCPULoad;
116  uint32_t interFrameCPULoad;
118 } mmWave_OUT_MSG_stats;
119 #endif
120 
121 
122 
129 typedef enum mbox_message_type_e
130 {
145 
154 
155 
157 #define MMW_DSS2MSS_EXCEPTION_SIGNALLING_SW_INT_DSS 1
158 
160 #define MMW_DSS2MSS_EXCEPTION_SIGNALLING_SW_INT_MSS SOC_XWR16XX_MSS_DSS2MSS_SW1_INT
161 
162 
168 #define MMW_DSS2MSS_CHIRP_PROC_DEADLINE_MISS_EXCEPTION 0
169 
175 #define MMW_DSS2MSS_FRAME_PROC_DEADLINE_MISS_EXCEPTION 1
176 
177 
178 
184 typedef struct mmWaveMSG_TLV_t {
185  uint32_t type;
186  uint32_t length;
187  uint32_t address;
188 } mmWaveMSG_TLV;
189 
195 typedef struct mmWave_detObjMsg_t {
199 
200 #define MMWAVE_MAX_FILE_NAME_SIZE 128
201 
210  uint32_t line;
212 
218 typedef union mmWaveMSG_body_u {
219 
221  uint8_t dataLogger;
223  uint32_t dss2mssISRinfoAddress;
225 
229 #define MMW_SUBFRAME_NUM_FRAME_LEVEL_CONFIG (-1)
230 
235 typedef struct mmWaveMSG_t {
236 
237  int8_t subFrameNum;
241 }mmWaveMSG;
242 
243 
244 
245 #ifdef __cplusplus
246 }
247 #endif
248 
249 #endif /* MMW_MESSAGES_H */
mmWave_dssAssertInfoMsg_t::file
char file[MMWAVE_MAX_FILE_NAME_SIZE]
file name
Definition: mmw_messages.h:208
MBOX_MSS2DSS_DETOBJ_SHIPPED
Definition: mmw_messages.h:137
MBOX_MSS2DSS_CFAR_RANGE_CFG
Definition: mmw_messages.h:132
mmWaveMSG_body_u::detObj
mmWave_detInfoMsg detObj
Detectection Information message.
Definition: mmw_messages.h:219
MBOX_DSS2MSS_CONFIGDONE
message types for DSS to MSS communication
Definition: mmw_messages.h:146
mmWaveMSG_TLV_t::type
uint32_t type
Payload type.
Definition: mmw_messages.h:184
MBOX_MSS2DSS_CFAR_DOPPLER_CFG
Definition: mmw_messages.h:133
MBOX_MSS2DSS_ADCBUFCFG
Definition: mmw_messages.h:139
OUTPUT_MSG_STATS
Stats information.
Definition: mmw_messages.h:41
MBOX_MSS2DSS_COMP_RANGE_BIAS_AND_RX_CHAN_PHASE
Definition: mmw_messages.h:142
OUTPUT_MSG_MAX
Max TLV outptut message.
Definition: mmw_messages.h:42
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:92
OUTPUT_MSG_AZIMUT_STATIC_HEAT_MAP
Samples to calculate static azimuth heatmap.
Definition: mmw_messages.h:39
mmWaveMSG_t::body
mmWaveMSG_body body
message body
Definition: mmw_messages.h:238
OUTPUT_MSG_RANGE_DOPPLER_HEAT_MAP
Range/Doppler detection matrix.
Definition: mmw_messages.h:40
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:150
mmWave_detObjMsg_t
The structure defines the message body for for reporting detection information from data path to MSS.
Definition: mmw_messages.h:194
mmWaveMSG_body_u
The union defines the message body for various configuration messages. For passing configuration from...
Definition: mmw_messages.h:217
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:76
mmWaveMSG_t::type
mbox_message_type type
message type
Definition: mmw_messages.h:237
mmWaveMSG_body_u::dss2mssISRinfoAddress
uint32_t dss2mssISRinfoAddress
Address of DSS to MSS ISR information storage, typically in HSRAM.
Definition: mmw_messages.h:222
MBOX_MSS2DSS_GUIMON_CFG
message types for MSS to DSS communication
Definition: mmw_messages.h:131
MBOX_MSS2DSS_MEASURE_RANGE_BIAS_AND_RX_CHAN_PHASE
Definition: mmw_messages.h:143
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:140
MBOX_MSS2DSS_PEAK_GROUPING_CFG
Definition: mmw_messages.h:134
mmWave_OUT_MSG_stats_dataObjDescr_t::xyzQFormat
uint16_t xyzQFormat
Q format of detected objects x/y/z coordinates.
Definition: mmw_messages.h:79
mmWaveMSG_TLV_t::length
uint32_t length
Length in bytes.
Definition: mmw_messages.h:185
MBOX_MSS2DSS_CALIB_DC_RANGE_SIG
Definition: mmw_messages.h:136
mmWave_dssAssertInfoMsg_t::line
uint32_t line
line number
Definition: mmw_messages.h:209
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:207
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:34
mmWave_OUT_MSG_tl_t::length
uint32_t length
Length in bytes.
Definition: mmw_messages.h:93
mmWave_detObjMsg_t::tlv
mmWaveMSG_TLV tlv[OUTPUT_MSG_MAX]
TLVs of the detection information.
Definition: mmw_messages.h:196
MBOX_DSS2MSS_DETOBJ_READY
Definition: mmw_messages.h:147
mmWave_OUT_MSG_stats_dataObjDescr_t::numDetetedObj
uint16_t numDetetedObj
Number of detected objects.
Definition: mmw_messages.h:78
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:183
mmWaveMSG_t::subFrameNum
int8_t subFrameNum
Subframe number for which this message is applicable.
Definition: mmw_messages.h:236
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:195
mmWave_OUT_MSG_header_t::version
uint32_t version
Version: : MajorNum * 2^24 + MinorNum * 2^16 + BugfixNum * 2^8 + BuildNum
Definition: mmw_messages.h:56
OUTPUT_MSG_DETECTED_POINTS
List of detected points.
Definition: mmw_messages.h:36
mmWave_OUT_MSG_header_t::platform
uint32_t platform
platform type
Definition: mmw_messages.h:58
MBOX_MSS2DSS_CLUTTER_REMOVAL
Definition: mmw_messages.h:141
mmWave_OUT_MSG_tl_t
The structure defines the message body for reporting detected objects from data path....
Definition: mmw_messages.h:90
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:53
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:55
mmWaveMSG_TLV_t::address
uint32_t address
Address of the payload.
Definition: mmw_messages.h:186
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:234
mmWave_OUT_MSG_header_t::totalPacketLen
uint32_t totalPacketLen
Total packet length including header in Bytes.
Definition: mmw_messages.h:57
mmWave_OUT_MSG_header_t::frameNumber
uint32_t frameNumber
Frame number.
Definition: mmw_messages.h:59
MBOX_DSS2MSS_ASSERT_INFO
Definition: mmw_messages.h:149
mmWave_OUT_MSG_header_t::numDetectedObj
uint32_t numDetectedObj
Number of detected objects.
Definition: mmw_messages.h:61
mmWave_OUT_MSG_header_t::numTLVs
uint32_t numTLVs
Number of TLVs.
Definition: mmw_messages.h:62
MBOX_MSS2DSS_MULTI_OBJ_BEAM_FORM
Definition: mmw_messages.h:135
mmWaveMSG_body_u::assertInfo
mmWave_dssAssertInfoMsg assertInfo
DSS assertion information.
Definition: mmw_messages.h:221
mmWaveMSG_body_u::dataLogger
uint8_t dataLogger
Datapath output logger setting.
Definition: mmw_messages.h:220
MBOX_DSS2MSS_STOPDONE
Definition: mmw_messages.h:148
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:38
MMWAVE_MAX_FILE_NAME_SIZE
#define MMWAVE_MAX_FILE_NAME_SIZE
Definition: mmw_messages.h:199
MBOX_DSS2MSS_MEASUREMENT_INFO
Definition: mmw_messages.h:151
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:60
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:128
MBOX_MSS2DSS_SET_DATALOGGER
Definition: mmw_messages.h:138
OUTPUT_MSG_RANGE_PROFILE
Range profile.
Definition: mmw_messages.h:37