/******************************************************************
 * @file  transmitter_func.h
 * @brief:    [file description] 
 * @author: HUOHUO
 * @Date 2024年4月20日
 * COPYRIGHT NOTICE: ITTC
 * Change_date         Owner         Change_content
 * 2024年4月20日        HUOHUO       create file
*****************************************************************/
#ifndef TRANSMITTER_FUNC_H
#define TRANSMITTER_FUNC_H
/****************************include*****************************/
#include "common.h"
#include "mem_def.h"
#include "phy_macro.h"
#include "transmitter_macro.h"
#include "transmitter_struct.h"
#include "ape_common.h"
#include "trace.h"
#include "log_interface.h"
#include "drv_ape.h"
#include "osp_ape.h"
//include mpu header files
#include "LDPCCBSegment.h"
#include "LDPCEncoding.h"
#include "RMLDPC.h"
#include "Modulation.h"
#include "Transform.h"
#include "ByteCopy.h"


//微码配置空间偏移结构体
extern transmitter_table_param_t  g_transmitter_table_param;
extern uint32_t *transmitter_config_dm0_ptr;
extern uint32_t *transmitter_config_dm1_ptr;
extern uint32_t *transmitter_config_dm2_ptr;
extern uint32_t *transmitter_config_dm3_ptr;

void Transmitter_Init();
void Transmitter_Task();
void Transmitter_Proc(
    uint32_t* param_ptr,
    int32_t* temp_dm0_ptr,
    int32_t* temp_dm1_ptr,
    int32_t* temp_dm2_ptr,
    int32_t* temp_dm3_ptr,
    uint32_t cur_slot, 
    uint32_t cur_sfn
);
void Transmitter_frame_combination();

#endif
