/** * @file mmw_output.h * * @brief * This is the interface/message header file for the Millimeter Wave Demo * * \par * NOTE: * (C) Copyright 2016 Texas Instruments, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef TRACKER_OUTPUT_H #define TRACKER_OUTPUT_H #ifdef __cplusplus extern "C" { #endif /** @brief Output packet length is a multiple of this value, must be power of 2*/ #define TRACKERDEMO_OUTPUT_MSG_SEGMENT_LEN 32 /*! * @brief * Message header for reporting detection information from data path. * * @details * The structure defines the message header. */ typedef struct TrackerDemo_output_message_header_t { /*! @brief Output buffer magic word (sync word). It is initialized to {0x0102,0x0304,0x0506,0x0708} */ uint16_t magicWord[4]; /*! @brief SW Version: : MajorNum * 2^24 + MinorNum * 2^16 + BugfixNum * 2^8 + BuildNum */ uint32_t version; /*! @brief HW platform type */ uint32_t platform; /*! @brief Time in CPU cycles when the message was created, R4F CPU cycles */ uint32_t timeStamp; /*! @brief Total packet length including header in Bytes */ uint32_t totalPacketLen; /*! @brief Frame number */ uint32_t frameNumber; /*! @brief For Advanced Frame config, this is the sub-frame number in the range * 0 to (number of subframes - 1). For frame config (not advanced), this is always * set to 0. */ uint32_t subFrameNumber; /*! @brief Detection Layer Margins */ uint32_t chirpProcessingMargin; uint32_t frameProcessingMargin; /*! @brief Localization Layer Timing */ uint32_t trackingProcessingTime; uint32_t uartSendingTime; /*! @brief Number of TLVs in this message*/ uint16_t numTLVs; /*! @brief Header checksum */ uint16_t checksum; } TrackerDemo_output_message_header; #ifdef __cplusplus } #endif #endif /* MMW_OUTPUT_H */