/* * calc_tempers.c * * Created on: 4 δεκ. 2020 γ. * Author: star */ #include #include #include #include #include #include "CAN_Setup.h" #include "IQmathLib.h" int calc_max_temper_acdrive_bear(void); int calc_max_temper_acdrive_winding(void); int calc_max_temper_edrk_u(void); int calc_max_temper_edrk_water(void); int calc_max_temper_edrk_air(void); //////////////////////////////////////////////////////////////////// int calc_max_temper_acdrive_bear(void) { int i, max_t=0; for (i=0;imax_t) max_t = edrk.temper_acdrive.winding.filter_real_int_temper[i]; return max_t; } //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// int calc_max_temper_acdrive_winding(void) { int i, max_t=0; for (i=0;imax_t) max_t = edrk.temper_acdrive.winding.filter_real_int_temper[i]; return max_t; } //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// int calc_max_temper_edrk_u(void) { int i, max_t=0; for (i=0;i<7;i++) if (edrk.temper_edrk.real_int_temper_u[i]>max_t) max_t = edrk.temper_edrk.real_int_temper_u[i]; return max_t; } //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// int calc_max_temper_edrk_water(void) { int i, max_t=0; for (i=0;i<2;i++) if (edrk.temper_edrk.real_int_temper_water[i]>max_t) max_t = edrk.temper_edrk.real_int_temper_water[i]; return max_t; } //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// int calc_max_temper_edrk_air(void) { int i, max_t=0; for (i=0;i<4;i++) if (edrk.temper_edrk.real_int_temper_air[i]>max_t) max_t = edrk.temper_edrk.real_int_temper_air[i]; return max_t; } ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // ACP[V]/61.9[Om]/2.0*10000 #define koef_Temper_ENGINE_filter 1600000 #define INDEX_ACDRIVE_WINDING_CAN_UNITES 24 #define INDEX_ACDRIVE_BEAR_CAN_UNITES 30 void calc_temper_acdrive(void) { int i; _iq iqtain,iq_temp; // Winding for (i=0;i