#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#include "ADC.h"
#include "VREF.h"
#include "DAC.h"
#include "MCG.h"
#include "Display.h"


void main(void) 
{
	EnableInterrupts;
	vfnMCG_Init();
	vfnSCIInit();
	
	vfnADC_Init ();
	//vfnADConfigChannel(1);
	vfnADConfigChannel(0);
	
	/**Step1: Configure VREF for internal and external voltage reference */
	vfnVREF_Init(_IntExtUse);

	/**Step2: Configure sine wave */
	TPM1SC = 0x4A;
	vfnDACV1SetPointer(0,15); 
	vfnDACV1Initialization(gu8DACConfig1, gu8DACConfig2);
	vfnDACFillBuffer((UINT16 *)&au16WaveForm[0],(sizeof(au16WaveForm) >> 1));
	
	//ADC_CONVERT_CONTINUOUS_CHANNEL(1);
	ADC_CONVERT_CONTINUOUS_CHANNEL(0);

  for(;;) 
  {
	if (ADC_COCO)
	{
		ADC_COCO_CLEAR;
		vfnGraphicWords(&sADC.gu16LatestResult[0]);
	}
	
  __RESET_WATCHDOG();	
  } 
}

__interrupt VectorNumber_Vtpm1ovf void TPM1_ISR (void)
{
    (void)TPM1SC;
    TPM1SC_TOF = 0;
    DACV1_TRIGGER; 
}
