
#include "start.h"
#include "TimeSliceOffset.h"
#include "Init.h"
#include "task.h"
#include "pDebug.h"
#include "parameter.h"
#include "FM_TIM.h"

void startInfo(void)
{
    log_info("constantVoltageV : %f \n", g_cfgParameter.constantVoltageV);
    log_info("floatI : %f \n", g_cfgParameter.floatI);
    log_info("startSolarOpenCircuitV : %f \n", g_cfgParameter.startSolarOpenCircuitV);
    log_info("stopSolarOpenCircuitV : %f \n", g_cfgParameter.stopSolarOpenCircuitV);
    log_info("constantVoltageChargeV : %f \n", g_cfgParameter.constantVoltageChargeV);
    log_info("FloatV : %f \n", g_cfgParameter.FloatV);
    log_info("loopImpedance : %f \n", g_cfgParameter.loopImpedance);
    log_info("HighSideMosTemperature_stop : %f \n", g_cfgParameter.HighSideMosTemperature_stop);
    log_info("HighSideMosTemperature_end : %f \n", g_cfgParameter.HighSideMosTemperature_end);
    log_info("HighSideMosTemperature_start : %f \n", g_cfgParameter.HighSideMosTemperature_start);
    log_info("outputAgainFlagTime : %d \n", g_cfgParameter.outputAgainFlagTime);
    log_info("excessiveLoadFlagTime : %d \n", g_cfgParameter.excessiveLoadFlagTime);
    log_info("collectOpenCircuitVoltageTime : %d \n", g_cfgParameter.collectOpenCircuitVoltageTime);
    log_info("Access_Node_Type : %d \n", g_cfgParameter.Access_Node_Type);
    log_info("Communication_Methods : %d \n", g_cfgParameter.Communication_Methods);
    log_info("Registration_Status : %d \n", g_cfgParameter.Registration_Status);
    log_info("address : 0x%x%x%x%x%x%x%x \n", g_cfgParameter.address[0]
                                            , g_cfgParameter.address[1]
                                            , g_cfgParameter.address[2]
                                            , g_cfgParameter.address[3]
                                            , g_cfgParameter.address[4]
                                            , g_cfgParameter.address[5]
                                            , g_cfgParameter.address[6]);
    log_info("startFlagSL : 0x%x%x \n", g_cfgParameter.startFlagSL[0], g_cfgParameter.startFlagSL[1]);
    log_info("endFlagSL : 0x%x \n", g_cfgParameter.endFlagSL);
    log_info("hardwareID : 0x%x%x%x%x%x%x \n", g_cfgParameter.hardwareID[0]
                                                , g_cfgParameter.hardwareID[1]
                                                , g_cfgParameter.hardwareID[2]
                                                , g_cfgParameter.hardwareID[3]
                                                , g_cfgParameter.hardwareID[4]
                                                , g_cfgParameter.hardwareID[5]);
    log_info("communicationID : 0x%x%x%x%x \n", g_cfgParameter.communicationID[0]
                                                , g_cfgParameter.communicationID[1]
                                                , g_cfgParameter.communicationID[2]
                                                , g_cfgParameter.communicationID[3]);
    log_info("protocolType : 0x%x \n", g_cfgParameter.protocolType);
    log_info("startFlagHY : 0x%x \n", g_cfgParameter.startFlagHY);
    log_info("endFlagHY : 0x%x \n", g_cfgParameter.endFlagHY);
    log_info("onlyPower : 0x%x \n", g_cfgParameter.onlyPower);
    log_info("gw485_Baud : %d \n", g_cfgParameter.gw485_Baud);
    log_info("gw485_Baud : %d \n", g_cfgParameter.gw485_Baud);
}


void start(void)
{
    Init();
    task_Init();

    startInfo();

//    HAL_Delay(5000);
    
    TimeSliceOffset_Start();
}

