#include "includes.h"

extern tsEDK 	EDK;
extern tsAppCB  appCB;


	
//*************************************************************************
// ad converter			(software int 14)
//*************************************************************************
void _ad_converter(void) __attribute__ ((interrupt));
void _ad_converter(void)
{
    ir_adic = 0;

#ifdef CORE_POW
   appCB.adc.buffer[1] = 0x03ff & ad0.word;   // conversion result of AN8 (TEPLOTA)
   appCB.adc.buffer[0] = 0x03ff & ad1.word;		// conversion result of AN9 (NAPETI)
   appCB.adc.buffer[2] = 0x03ff & ad2.word;		// conversion result of AN10 (PROUD)
#endif
}




/************************************************************************************/
// ConvertToVolts()
// pomocna funkce prevede dilky z ADC na napetovou hodnotu v mV
// konstanty ADC_VREF a ADC_RESOLUTION jsou x1000 pro presnost vypoctu
// !!Nepouzivat standartni matematicke operace, ( jako "*" "/" atd...)
// jinak jinak compiler linkuje celou 12kB math.h knihovnu (nelze tomu zabranit) !!
/************************************************************************************/
tUInt ConvertToVolts(tUInt inputValue )
{
#ifdef INTERFACE_RS
  tULong temp1, temp2;	

  temp1 = div32(ADC_VREF, ADC_RESOLUTION);
  temp2 = mul32 (temp1, inputValue);
  temp2 = div32(temp2, 1000);						// vysledek je v mV

  return ((tUInt)temp2);
#endif
}


