/******************************************************************************
*
* @file    chipTemperature.c
* @author  ECS, Joseph Zimmer
* @version V1.0.0
* @date    24-04-2019
* @brief       
*
******************************************************************************/

//	--- INCLUDES -----------------------------------------------------------------
#include <stdio.h>
#include "sysdata.h"
#include "shunt_temperature.h"
#include "adc.h"
//	--- EXTERNE VARIABLEN -------------------------------------------------------- 

//	--- LOKALE DEFINES - bitte hier dokumentieren --------------------------------

//	--- LOKALE TYPE DEFS - bitte hier dokumentieren-------------------------------

//	--- DEFINITIONEN GLOBALER VARIABLEN - Bitte in Header dokumentieren ----------

//	--- LOKALE VARIABLEN - bitte hier dokumentieren ------------------------------

//	--- LOKALE FUNKTIONS PROTOTYPEN ---------------------------------------------- 

//	--- LOKALE FUNKTIONEN - bitte hier dokumentieren -----------------------------

/*
* @brief
* @param	kein
* @retval	kein
*/

//	--- GLOBALE FUNKTIONEN - bitte in Header dokumentieren------------------------

void SHUNT_TEMPERATURE_Exec(int32_t adcval)
{
  int32_t temp;


  //Umrechnung Spannung in mV
  temp =  (adcval * 3300 ) / 65536; 

  //Umrechnung in °C mit PT 1000 Sensor
//  temp = temp - 747;
//  temp = temp * 70.406;

  //Umrechnung in °C mit LM61 Sensor
  temp = temp - 600;
  temp = temp * 100;

  //2Nackommastellen
  //milli grad in grad * 100 /festkomma
  sys_data.s.values.shuntTemperature = temp / 10;


  if(sys_data.s.values.shuntTemperature > sys_data.s.values.shuntTemperatureMax)
  {
    sys_data.s.values.shuntTemperatureMax = sys_data.s.values.shuntTemperature;
  }
  else if (sys_data.s.values.shuntTemperature < sys_data.s.values.shuntTemperatureMin)
  {
    sys_data.s.values.shuntTemperatureMin = sys_data.s.values.shuntTemperature;
  }

}

/*************************** End of file ****************************/