/******************************************************************
 * @file  transmitter_struct.h
 * @brief:    [file description] 
 * @author: HUOHUO
 * @Date 2024年4月20日
 * COPYRIGHT NOTICE: ITTC
 * Change_date         Owner         Change_content
 * 2024年09月19日        HUOHUO       create file
*****************************************************************/
#ifndef TRANSMITTER_STRUCT_H
#define TRANSMITTER_STRUCT_H
#include "type_define.h"

//GENERATE with Generate_transmitter_struct_h.m
//DO NOT MODIFY
//=======================================================================
//各微码或查找表偏移及指针定义
typedef struct transmitter_table_param_s
{
    //MPU CONFIG OFFSET基地址
    uint32_t    ConfigCBSegment_CFG1_Offset;
    uint32_t    Config64BG1_CFG2_Offset;
    uint32_t    Config64BG2_CFG3_Offset;
    uint32_t    Config384Pre_CFG4_Offset;
    uint32_t    Config384BG1_CFG5_Offset;
    uint32_t    Config384BG2_CFG6_Offset;
    uint32_t    ConfigRMBitSelLDPC_CFG7_Offset;
    uint32_t    ConfigRMBitILLDPC_CFG8_Offset;
    uint32_t    ConfigModuQPSK_CFG9_Offset;
    uint32_t    ConfigModuQAM16_CFG10_Offset;
    uint32_t    ConfigModuQAM64_CFG11_Offset;
    uint32_t    ConfigModuQAM256_CFG12_Offset;
    uint32_t    TransformConfig_2_CFG1_Offset;
    uint32_t    TransformConfig_4_CFG2_Offset;
    uint32_t    TransformConfig_8_CFG3_Offset;
    uint32_t    ConfigByteCopy_CFG1_Offset;
    // 存储微码参数表的ddr基地址和长度
    uint32_t    transmitter_config0_ddr_ptr;//transmitter DM0微码配置文件ddr地址
    uint32_t    transmitter_config0_length;//transmitter DM0微码配置文件ddr长度    
    uint32_t    transmitter_config1_ddr_ptr;//transmitter DM1微码配置文件ddr地址
    uint32_t    transmitter_config1_length;//transmitter DM1微码配置文件ddr长度
    uint32_t    transmitter_config2_ddr_ptr;//transmitter DM2微码配置文件ddr地址
    uint32_t    transmitter_config2_length;//transmitter DM2微码配置文件ddr地址
    uint32_t    transmitter_config3_ddr_ptr;//transmitter DM3微码配置文件ddr地址
    uint32_t    transmitter_config3_length;//transmitter DM3微码配置文件ddr地址

    //SPU查找表在SM中的偏移地址
    uint32_t    CalBG1HMatrix_LUT1_Offset;
    uint32_t    CalBG2HMatrix_LUT2_Offset;
    uint32_t    Pilot_Data_Offset;
    // SPU LUT SM基地址和长度
    uint32_t    pucch_lut_sm_ptr; //PUCCH查找表在SM中的基地址
    uint32_t    pucch_lut_length; //PUCCH查找表总长度

} transmitter_table_param_t;

//=======================================================================
#endif
