#ifndef __AVAC_UTIL_H__
#define __AVAC_UTIL_H__
//*****************************************************************************
// (C) Automotive Lighting Reutlingen GmbH
// Tuebinger Strasse 123, 72762 Reutlingen, Germany
//
// Automotive Lighting Reutlingen GmbH owns all the rights to this work.
// This work shall not be copied, reproduced, used, modified, transferred
// or its information shall not be disclosed without the prior written
// authorization of Automotive Lighting Reutlingen GmbH.
//*****************************************************************************
//-----------------------------------------------------------------------------
/// \file AvacUtil.h
///
/// \brief
///
/// \descr
///
/// Additional information can be found in the design description (Link:
/// MDDD)
///
/// \author Alf Traulsen (taf2rt)
/// mailTo:alf.traulsen@al-lighting.com
//-----------------------------------------------------------------------------
#include "Std_Types.h"
#include
// order 1 filter support
#define TAU_Abtast_Min 1
#define TAU_Abtast_1x 47
#define TAU_Abtast_2x 78
#define TAU_Abtast_3x 92
#define TAU_Abtast_4x 100
#define TAU_Abtast_5x 105
#define TAU_Abtast_6x 108
#define TAU_Abtast_8x 113
#define TAU_Abtast_10x 116
#define TAU_Abtast_12x 118
#define TAU_Abtast_15x 120
#define TAU_Abtast_20x 122
#define TAU_Abtast_25x 123
#define TAU_Abtast_30x 124
#define TAU_Abtast_40x 125
#define TAU_Abtast_60x 126
#define TAU_Abtast_130x 127
/// calculation of filter coefficient and call of _Order1Filter(), C164: 15us
sint16 AvacUtil_Order1FilterByRelTime (ORDER1_Filter* pFilter, uint16 unRelTime, sint16 nValue);
/// Das Eingangssignal Value wird auf LimitMin bis LimitMax begrenzt.
sint16 AvacUtil_SignalLimiter(sint16 LimitMax, sint16 LimitMin, sint16 Value);
/// Das Ausgangssignal (*pRateLimiter) wird dem Eingangssignal nachgeführt.
void AvacUtil_RateLimiter(sint16* pRateLimiter, sint16 RateUp, sint16 RateDown, sint16 Value);
#endif // __AVAC_UTIL_H__