#include<stdio.h>
#define TRUE 1
#define FALSE 0
typedef void * VOID_PTR;
typedef struct rrc2phy_cell_msg_tag{
int cell_id;
int freq_id;
}rrc2phy_cell_msg_t;
typedef struct phy_cell_msg_tag{
int pending_flag;
rrc2phy_cell_msg_t rrc2phy_cell_msg;
}phy_cell_msg_t;
phy_cell_msg_t gt_phy_cell_msg;
/*************************************/
void check_restart_cell_serach_flag();
void algo2phy_pss_result(void);
void rrc2phy_cell_search(rrc2phy_cell_msg_t *rrc2phy_cell_msg);
/*******************algo2phy*****************/
void algo2phy_pss_result(void){
printf("parse pss result msg!\n");
check_restart_cell_serach_flag();
}
void check_restart_cell_serach_flag(void){
if(gt_phy_cell_msg.pending_flag == TRUE){
printf("restart cell search!\n");
}
}
/*******************rrc2phy*****************/
void set_cell_search_pending_flag(void){
gt_phy_cell_msg.pending_flag = TRUE;
}
void reset_cell_search_pending_flag(void){
gt_phy_cell_msg.pending_flag = FALSE;
}
void rrc2phy_cell_search(rrc2phy_cell_msg_t *rrc2phy_msg){
rrc2phy_cell_msg_t *rrc2phy_cell_msg;
rrc2phy_cell_msg = &(gt_phy_cell_msg.rrc2phy_cell_msg);
rrc2phy_cell_msg->cell_id = rrc2phy_msg->cell_id;
rrc2phy_cell_msg->freq_id = rrc2phy_cell_msg->freq_id;
set_cell_search_pending_flag();
printf("get rrc2phy msg!\n");
}
void pss_corr_task(void){
reset_cell_search_pending_flag();
printf("pss corr task start!\n");
}
void cell_search_schd(void){
rrc2phy_cell_msg_t rrc2phy_cell_msg;
rrc2phy_cell_msg.cell_id = 100;
rrc2phy_cell_msg.freq_id = 500;
rrc2phy_cell_search(&rrc2phy_cell_msg);
pss_corr_task();
rrc2phy_cell_search(&rrc2phy_cell_msg);
algo2phy_pss_result();
}
int main(int argc,char **argv){
cell_search_schd();
}