#include "IG_Layer/Ignition.h"
#include "Global_Variable.h"
#include "Safety_Layer/BMS/BMS_SOC.h"
#include "can.h"
#include "board.h"
#include "Motor_Status.h"


void Motor_Status(void)
{
	if(GV_VCU_BmsFlt == 0 && GV_VCU_BmsHvSt == 1)
	{
		GV_VCU_PwrEnable 	= 1;
		GV_VCU_ControlMode 	= 1;
		GV_VCU_TorqueContol	= 1;
	}

	GV_VCU_PosTrqLimit  = 80; //updated 0829
	GV_VCU_NegTrqLimit	= -50;

	GV_VCU_BmsFlt 	= GV_ACU_BMS_FltSta;
	GV_VCU_BmsHvSt	= GV_BMS_HVOn_STA;

	if(GV_VCU_GearSelStat == 0 && GV_VCU_Vx_Fbk == 0)	// P
	{
		GV_VCU_GearCmd	= 7;
		GV_VCU_MtrDir	= 0;

		GV_VCU_EPAM_Park_Request_to_EPC = 1;	// 1 = Lock
	}
	else if(GV_VCU_GearSelStat == 1)					// R
	{
		GV_VCU_GearCmd	= 2;
		GV_VCU_MtrDir	= 2;

		GV_VCU_EPAM_Park_Request_to_EPC = 2;	// 2 = Release
	}
	else if(GV_VCU_GearSelStat == 2 && GV_VCU_Vx_Fbk == 0) 					// N
	{
		GV_VCU_GearCmd	= 3;
		GV_VCU_MtrDir	= 0;

		GV_VCU_EPAM_Park_Request_to_EPC = 2;
	}
	else if(GV_VCU_GearSelStat == 3 && GV_VCU_Vx_Fbk == 0) 					// D
	{
		GV_VCU_GearCmd	= 4;
		GV_VCU_MtrDir	= 1;

		GV_VCU_EPAM_Park_Request_to_EPC = 2;
	}
}
