// +FHDR------------------------------------------------------------
//                 Copyright (c) 2022 SmartLogic.
//                       ALL RIGHTS RESERVED
// -----------------------------------------------------------------
// Filename      : main.c
// Author        : xianfeng.du
// Created On    : 2022-06-25
// Last Modified :
// -----------------------------------------------------------------
// Description:
//
//
// -FHDR------------------------------------------------------------

#include "ucp_printf.h"
#include "pet_rfm_spu1_top.h"
#include "msg_transfer_queue.h"
#include "log_client.h"
#include "ucp_utility.h"
#include "ucp_heartbeat.h"
#include "spu_shell.h"
#include "pet_rfm_spu1_oam.h"
#include "hwque.h"
#include "lib_debug_init.h"

int32_t main(int32_t argc, char* argv[])
{
    int32_t core_id = 0;
    int32_t ret = 0;

    UCP_PRINT_EMPTY("Hello world from PET RFM SPU1,coreId[0x%x]", get_core_id());

    core_id = get_core_id();
    debug_write(DBG_DDR_COMMON_IDX(core_id, 0), PLATFORM_BUILD_DATA);

    ret = spu_lib_debug_init(core_id);
    debug_write(DBG_DDR_COMMON_IDX(core_id, 1), ret);

    spu_log_client_init();

    pet_rfm_spu1_drv_init();

    pet_rfm_spu1_msg_transfer_init();

    spu_oam_init();

    while(1) {
        msg_transfer_queue_polling();
        msg_transfer_enqueue();
        //spu_shell_task();
        //msg_transfer_queue_recfg();
        //heart_beat_write();
        /* update heartbeat count */
        heart_beat_write();
    }

    return 0;
}

