matlab_23550/Inu/Src2/main/pwm_logs.c

477 lines
22 KiB
C

/*
* pwm_logs.c
*
* Created on: 19 àâã. 2024 ã.
* Author: user
*/
#include <adc_tools.h>
#include <alg_simple_scalar.h>
#include <alg_uf_const.h>
#include <break_regul.h>
#include <edrk_main.h>
#include <optical_bus.h>
#include <params.h>
#include <params_norma.h>
#include <params_pwm24.h>
#include <project.h>
#include <v_pwm24_v2.h>
#include <v_rotor.h>
#include <vector.h>
#include "global_time.h"
#include "IQmathLib.h"
#include "oscil_can.h"
#include "uf_alg_ing.h"
#include "MemoryFunctions.h"
#include "RS_Functions.h"
#include "v_rotor_22220.h"
#include "log_to_memory.h"
#include "log_params.h"
#include "logs_hmi.h"
#include "vector_control.h"
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
#pragma CODE_SECTION(prepare_data_to_logs,".fast_run");
unsigned int prepare_data_to_logs(void)
{
logsdata.logs[0] = (int16) global_time.total_seconds10full;// = 0;//(int16)(_IQtoIQ15(Izad));
logsdata.logs[1] = (int16) _IQtoIQ15(analog.iqIu_1);
logsdata.logs[2] = (int16) _IQtoIQ15(analog.iqIv_1);
logsdata.logs[3] = (int16) _IQtoIQ15(analog.iqIw_1);
logsdata.logs[4] = (int16) _IQtoIQ15(analog.iqIu_2);
logsdata.logs[5] = (int16) _IQtoIQ15(analog.iqIv_2);
logsdata.logs[6] = (int16) _IQtoIQ15(analog.iqIw_2);
logsdata.logs[7] = (int16) _IQtoIQ15(analog.iqUin_A1B1);// (int16) _IQtoIQ15(analog.iqUin_m1);
logsdata.logs[8] = (int16) _IQtoIQ15(analog.iqUin_A2B2);// (int16) _IQtoIQ15(analog.iqUin_m2);
logsdata.logs[9] = (int16) _IQtoIQ15(analog.iqU_1);
logsdata.logs[10] = (int16) _IQtoIQ15(analog.iqU_2);//11
logsdata.logs[11] = (int16) _IQtoIQ15(analog.iqIin_1);
logsdata.logs[12] = (int16) _IQtoIQ15(analog.iqIin_2);
logsdata.logs[13] = (int16) _IQtoIQ15(analog.iqIm_1);
logsdata.logs[14] = (int16) _IQtoIQ15(analog.iqIm_2);
logsdata.logs[15] = (int16) _IQtoIQ15(analog.iqIbreak_1);//(int16) _IQtoIQ15(filter.iqU_1_long);
logsdata.logs[16] = (int16) _IQtoIQ15(analog.iqIbreak_2);//(int16) _IQtoIQ15(filter.iqU_2_long);
logsdata.logs[17] = (int16)svgen_pwm24_1.Ta_0;
logsdata.logs[18] = (int16)svgen_pwm24_1.Ta_1;
logsdata.logs[19] = (int16)break_result_1;
logsdata.logs[20] = (int16)break_result_2;
// logpar.log21 = (int16)svgen_pwm24_1.Tb_1;
// logpar.log22 = (int16)svgen_pwm24_1.Tc_0;
// logpar.log23 = (int16)svgen_pwm24_1.Tc_1; //23
logsdata.logs[21] = (int16)(_IQtoIQ14(edrk.iq_power_kw_full_znak));// edrk.from_uom.iq_level_value_kwt
//(int16) _IQtoIQ15(rotor_22220.iqFdirty);
//
logsdata.logs[22] = (int16) _IQtoIQ15(WRotor.iqWRotorSumFilter2);
logsdata.logs[23] = (int16) _IQtoIQ15(WRotor.iqWRotorSumFilter);//WRotor.iqWRotorSumFilter WRotor.iqWRotorSum
logsdata.logs[24] = (int16) _IQtoIQ15(simple_scalar1.iq_decr_mzz_power);//WRotor.iqWRotorSumFilter2 WRotor.iqWRotorSumFilter3
logsdata.logs[25] = (int16) edrk.from_uom.level_value;// (int16) _IQtoIQ15(WRotor.iqWRotorSumFilter);
// logpar.log25 = (int16) _IQtoIQ15(WRotor.iqWRotorSumFilter);
// logsdata.logs[25] = (int16) _IQtoIQ15(WRotor.iqWRotorSum);
logsdata.logs[26] = (int16) edrk.power_limit.all;//_IQtoIQ15(pll1.vars.pll_Uq);
logsdata.logs[27] = (int16)(_IQtoIQ14(edrk.zadanie.iq_limit_power_zad));//(int16) _IQtoIQ15(pll1.vars.pll_Ud);//28
logsdata.logs[28] = (int16) _IQtoIQ12(edrk.master_theta);//29
logsdata.logs[29] = (int16) _IQtoIQ15(edrk.master_Uzad);//30
logsdata.logs[30] = (int16) _IQtoIQ14(edrk.f_stator);
logsdata.logs[31] = (int16) _IQtoIQ12(edrk.k_stator1);
logsdata.logs[32] = optical_read_data.data.cmd.all;
logsdata.logs[33] = optical_read_data.data.pzad_or_wzad;
logsdata.logs[34] = optical_read_data.data.angle_pwm;
logsdata.logs[35] = optical_read_data.data.iq_zad_i_zad;
logsdata.logs[36] = optical_write_data.data.cmd.all;
logsdata.logs[37] = optical_write_data.data.angle_pwm;
logsdata.logs[38] = optical_write_data.data.pzad_or_wzad;
logsdata.logs[39] = optical_write_data.data.iq_zad_i_zad;
/////////////
logsdata.logs[40] = (int16)(_IQtoIQ15(simple_scalar1.Izad));
logsdata.logs[41] = (int16)(_IQtoIQ15(simple_scalar1.mzz_zad_in2));//(int16)(_IQtoIQ15(Uze_t1));
logsdata.logs[42] = (int16)(_IQtoIQ15(simple_scalar1.pidF.OutMax));
logsdata.logs[43] = (int16)(_IQtoIQ15(simple_scalar1.mzz_zad_int));
logsdata.logs[44] = (int16)(_IQtoIQ15(simple_scalar1.Izad_from_master));
logsdata.logs[45] = (int16)(_IQtoIQ14(simple_scalar1.pidF.Fdb));
logsdata.logs[46] = (int16)(_IQtoIQ14(simple_scalar1.pidF.Ref));
logsdata.logs[47] = (int16)(_IQtoIQ14(simple_scalar1.pidF.Ui));
logsdata.logs[48] = (int16)(_IQtoIQ14(simple_scalar1.pidF.Up));
logsdata.logs[49] = (int16)(_IQtoIQ14(simple_scalar1.pidF.SatErr));
logsdata.logs[50] = (int16)(_IQtoIQ14(simple_scalar1.pidF.Out));
logsdata.logs[51] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.Fdb));
logsdata.logs[52] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.Ref));
logsdata.logs[53] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.Ui));
logsdata.logs[54] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.Up));
logsdata.logs[55] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.SatErr));
logsdata.logs[56] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.Out));
logsdata.logs[57] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.Fdb));
logsdata.logs[58] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.Ref));
logsdata.logs[59] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.Ui));
logsdata.logs[60] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.Up));
logsdata.logs[61] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.SatErr));
logsdata.logs[62] = (int16)(_IQtoIQ15(simple_scalar1.pidIm1.Out));
logsdata.logs[63] = (int16)(_IQtoIQ12(simple_scalar1.Uze_t1));
logsdata.logs[64] = (int16)(_IQtoIQ15(simple_scalar1.bpsi_curent));
logsdata.logs[65] = (int16)(_IQtoIQ14(simple_scalar1.iqKoefOgran));
logsdata.logs[66] = (int16)(_IQtoIQ14(simple_scalar1.Fz));
logsdata.logs[67] = (int16) (_IQtoIQ15(simple_scalar1.iq_decr_mzz_power_filter));//rotor_22220.direct_rotor
logsdata.logs[68] = (int16)(_IQtoIQ14(simple_scalar1.pidF.OutMin));//(int16)edrk.Status_Sbor;
logsdata.logs[69] = (int16)(_IQtoIQ14(simple_scalar1.pidPower.OutMax));//(int16)edrk.Stage_Sbor;
logsdata.logs[70] = (int16)(_IQtoIQ14(filter.iqUin_m1));//(int16)edrk.Sbor_Mode;
logsdata.logs[71] = (int16)edrk.from_shema.all;
logsdata.logs[72] = (int16)(_IQtoIQ15(simple_scalar1.iqKoefOgranIzad));//(int16)edrk.from_shema_filter.all;
//
logsdata.logs[73] = (int16)(_IQtoIQ14(filter.iqUin_m2));//simple_scalar1.direction;
logsdata.logs[74] = (int16)(_IQtoIQ14(edrk.iq_power_kw_full_filter_znak));//
logsdata.logs[75] = (int16)(_IQtoIQ15(edrk.iq_freq_50hz));//edrk.iq_freq_50hz
logsdata.logs[76] = (int16)(_IQtoIQ15(simple_scalar1.mzz_zad_in1));
// can regs
// logsdata.logs[77] = (int16)(((unsigned long)edrk.canes_reg >> 16) & 0x1ff);
// logsdata.logs[78] = (int16)((unsigned long)edrk.canes_reg & 0x3f);
//
// logsdata.logs[79] = (int16)(edrk.cantec_reg & 0xff);
// logsdata.logs[80] = (int16)(edrk.canrec_reg & 0xff);
logsdata.logs[77] = (int16)(_IQtoIQ14(uf_alg.Ud));
logsdata.logs[78] = (int16)(_IQtoIQ14(uf_alg.Uq));
logsdata.logs[79] = (int16)(_IQtoIQ14(edrk.all_limit_koeffs.uom_limit));//edrk.MasterSlave;
logsdata.logs[80] = (int16)(_IQtoIQ14(edrk.Kplus));
// logsdata.logs[65] = (int16)(_IQtoIQ14(edrk.all_limit_koeffs.temper_limit));
logsdata.logs[81] = (int16)(_IQtoIQ14(edrk.all_limit_koeffs.uin_freq_limit));
logsdata.logs[82] = (int16)(_IQtoIQ14(uf_alg.svgen_dq_Ta));
logsdata.logs[83] = (int16)(_IQtoIQ14(uf_alg.svgen_dq_Tb));
logsdata.logs[84] = (int16)(_IQtoIQ14(uf_alg.svgen_dq_Tc));
// uf_alg.tetta_bs
// logsdata.logs[64] = (int16)(_IQtoIQ15());
// logsdata.logs[64] = (int16)(_IQtoIQ15());
logsdata.logs[85] = edrk.from_uom.digital_line.all;
// logsdata.logs[75] = edrk.errors.e2.all;
// logsdata.logs[76] = edrk.errors.e3.all;
// logsdata.logs[77] = edrk.errors.e4.all;
// logsdata.logs[78] = edrk.errors.e5.all;
// logsdata.logs[79] = edrk.errors.e6.all;
// logsdata.logs[80] = edrk.errors.e7.all;
//
// logsdata.logs[67] = (int16) _IQtoIQ15(WRotor.iqWRotorCalcBeforeRegul1);
// logsdata.logs[68] = (int16) _IQtoIQ15(WRotor.iqWRotorCalcBeforeRegul2);
// logsdata.logs[69] = (int16) _IQtoIQ15(WRotor.iqWRotorCalc1);
// logsdata.logs[24] = (int16) _IQtoIQ15(WRotor.iqWRotorCalc2);
// logsdata.logs[70] = (int16) _IQtoIQ15(WRotor.iqWRotorSumRamp);
// logsdata.logs[72] = (int16) (WRotorPBus.RotorDirectionSlow);
// logsdata.logs[73] = (int16) (WRotorPBus.RotorDirectionSlow2);
// logsdata.logs[74] = (int16) (WRotorPBus.RotorDirectionInstant); //(int16) (WRotorPBus.);
// logsdata.logs[75] = (int16) (WRotor.iqTimeSensor1);
// logsdata.logs[76] = (int16) (WRotor.iqTimeSensor2);
//
// logsdata.logs[77] = (int16) _IQtoIQ15(WRotor.iqWRotorCalc1Ramp);
// logsdata.logs[78] = (int16) _IQtoIQ15(WRotor.iqWRotorCalc2Ramp);
//
// logsdata.logs[79] = (int16) _IQtoIQ15(WRotor.iqPrevWRotorCalc1);
// logsdata.logs[80] = (int16) _IQtoIQ15(WRotor.iqPrevWRotorCalc2);
// logsdata.logs[81] = (int16) modbus_table_can_in[124].all;//Îáîðîòû (çàäàííûå);
// logsdata.logs[82] = (int16) modbus_table_can_in[134].all;//çàïàñ ìîùíîñòè
// logsdata.logs[83] = (int16) modbus_table_can_in[125].all;//Ìîùíîñòü (çàäàííàÿ)
//
// logsdata.logs[84] = (int16) project.cds_in[0].read.pbus.data_in.all;
// logsdata.logs[85] = (int16) project.cds_in[1].read.pbus.data_in.all;
logsdata.logs[86] = (int16) _IQtoIQ15(vect_control.iqId1);
logsdata.logs[87] = (int16) _IQtoIQ15(vect_control.iqIq1);
logsdata.logs[88] = (int16) _IQtoIQ15(vect_control.iqId2);
logsdata.logs[89] = (int16) _IQtoIQ15(vect_control.iqIq2);
logsdata.logs[90] = 0;
return 90;
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
#define PAUSE_SLOW_LOG 20
void save_slow_logs(int run, int t_slow)
{
static int c_step=0;
// static int c_all = (FREQ_PWM>>2); // Ðàç â 0,125 ñ
static int c_all = (FREQ_PWM>>1); // Ðàç â 0,250 ñ
static int prev_run=0;
static unsigned int c_pause=0;
if (rs_a.RS_PrevCmd==CMD_RS232_UPLOAD)
return;
if (run==0 && c_pause>=PAUSE_SLOW_LOG)
return;
c_all = (FREQ_PWM>>(1+t_slow));
if (c_all<2)
c_all = 2;
if (c_step>=c_all)
{
test_mem_limit(SLOW_LOG, 1);
// prepare_data_to_logs();
getSlowLogs(1);
c_step = 0;
if (run==1)
c_pause = 0;
else
{
if (c_pause<PAUSE_SLOW_LOG)
c_pause++;
}
}
else
c_step++;
prev_run = run;
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
#pragma CODE_SECTION(run_write_logs,".fast_run");
void run_write_logs(void)
{
static unsigned int count_step_run = 0;
static int count_step=0, prevGo=0;
static int log_saved_to_const_mem = 1;
int i_log, local_enable_slow_log;
prepare_data_to_logs();
if(edrk.Go == 1)
{
if (edrk.Go != prevGo)
{
// clear_mem(FAST_LOG);
// count_start_impuls = 0;
count_step = 0;
// count_step_ram_off = COUNT_SAVE_LOG_OFF;
count_step_run = 0;
}
}
prevGo = edrk.Go;
#if(_ENABLE_PWM_LINES_FOR_TESTS_PWM)
PWM_LINES_TK_23_ON;
#endif
/*
// if (oscil_can.enable_rewrite && oscil_can.global_enable)
if (oscil_can.enable_rewrite)
{
if (edrk.Go)
oscil_can.status_pwm = 1;
else
oscil_can.status_pwm = 0;
if ( (edrk.Stop == 0) && (project.controller.read.errors.all==0) )
oscil_can.status_error = 0;
else
oscil_can.status_error = 1;
oscil_can.oscil_buffer[0][oscil_can.current_position] = global_time.pwm_tics;
// if (edrk.Mode_ScalarVectorUFConst == ALG_MODE_FOC_OBOROTS || edrk.Mode_ScalarVectorUFConst == ALG_MODE_FOC_POWER) {
oscil_can.oscil_buffer[1][oscil_can.current_position] = (int16) _IQtoIQ15(filter.iqU_1_long);//xpwm_time.Ta0_0; //(int16) _IQtoIQ15(turns.pidFvect.Ui);
oscil_can.oscil_buffer[2][oscil_can.current_position] = (int16) _IQtoIQ15(filter.iqU_2_long);//xpwm_time.Ta0_1; //(int16) _IQtoIQ15(turns.pidFvect.Up);
oscil_can.oscil_buffer[3][oscil_can.current_position] = (int16) _IQtoIQ15(turns.pidFvect.Out);
oscil_can.oscil_buffer[4][oscil_can.current_position] = (int16) _IQtoIQ15(turns.pidFvect.OutMax);
oscil_can.oscil_buffer[5][oscil_can.current_position] = (int16) _IQtoIQ15(power.pidP.Out);
oscil_can.oscil_buffer[6][oscil_can.current_position] = (int16) _IQtoIQ15(power.pidP.OutMax);
// } else {
// oscil_can.oscil_buffer[1][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidF.Ui); // count_updated_sbus;//xpwm_time.Ta0_0;
// oscil_can.oscil_buffer[2][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidF.Up);
// oscil_can.oscil_buffer[3][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidF.Out);//xpwm_time.Tb0_0;
// oscil_can.oscil_buffer[4][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidF.OutMax);//xpwm_time.Tb0_1;
// oscil_can.oscil_buffer[5][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidPower.Out);//xpwm_time.Tc0_0;
// oscil_can.oscil_buffer[6][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidPower.OutMax); //xpwm_time.Tc0_1;
// }
oscil_can.oscil_buffer[7][oscil_can.current_position] = (int16) _IQtoIQ15(edrk.master_Uzad) ;
oscil_can.oscil_buffer[8][oscil_can.current_position] = (int16) _IQtoIQ12(edrk.master_theta);//global_time.microseconds;
oscil_can.oscil_buffer[9][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIu_1);
oscil_can.oscil_buffer[10][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIv_1);
oscil_can.oscil_buffer[11][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIw_1);
oscil_can.oscil_buffer[12][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIu_2);
oscil_can.oscil_buffer[13][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIv_2);
oscil_can.oscil_buffer[14][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIw_2);
oscil_can.oscil_buffer[15][oscil_can.current_position] = (int16) _IQtoIQ15(turns.Fzad_rmp); //(int16) _IQtoIQ15(analog.iqU_1);
oscil_can.oscil_buffer[16][oscil_can.current_position] = (int16) _IQtoIQ15(WRotor.iqWRotorCalcBeforeRegul1);//(int16) _IQtoIQ15(analog.iqU_2);
// oscil_can.oscil_buffer[17][oscil_can.current_position] = 0;
oscil_can.oscil_buffer[18][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqIin_2);
oscil_can.oscil_buffer[19][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqUdCompensation);
oscil_can.oscil_buffer[20][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqUqCompensation);
oscil_can.oscil_buffer[21][oscil_can.current_position] = (int16) _IQtoIQ15(edrk.f_stator);
oscil_can.oscil_buffer[22][oscil_can.current_position] = (int16) _IQtoIQ12(edrk.k_stator1);
if (edrk.Mode_ScalarVectorUFConst == ALG_MODE_FOC_OBOROTS || edrk.Mode_ScalarVectorUFConst == ALG_MODE_FOC_POWER) {
oscil_can.oscil_buffer[17][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqPvsi1 + vect_control.iqPvsi2);
oscil_can.oscil_buffer[23][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqId1);//(int16) _IQtoIQ15(WRotorPBus.iqAngle1F);
oscil_can.oscil_buffer[24][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqIq1);//(int16) _IQtoIQ15(WRotorPBus.iqAngle2F);
oscil_can.oscil_buffer[25][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.iqFsl);
oscil_can.oscil_buffer[26][oscil_can.current_position] = (int16) _IQtoIQ15(turns.mzz_zad_int);
oscil_can.oscil_buffer[27][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.pidD1.Out);//(int16) _IQtoIQ15(WRotorPBus.iqWRotorCalcBeforeRegul1);
oscil_can.oscil_buffer[28][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.pidQ1.Out);
oscil_can.oscil_buffer[29][oscil_can.current_position] = (int16) _IQtoIQ15(vect_control.pidD1.Ref);
} else {
oscil_can.oscil_buffer[17][oscil_can.current_position] = (int16) _IQtoIQ15(analog.PowerScalar);
oscil_can.oscil_buffer[23][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidIm1.Ui); // count_updated_sbus;//xpwm_time.Ta0_0;
oscil_can.oscil_buffer[24][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidIm1.Up);
oscil_can.oscil_buffer[25][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.pidIm1.Out);
oscil_can.oscil_buffer[26][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.mzz_zad_int);//(int16) _IQtoIQ15(WRotor.iqWRotorCalcBeforeRegul1);
oscil_can.oscil_buffer[27][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.Im_regul);//(int16) _IQtoIQ15(WRotorPBus.iqWRotorCalcBeforeRegul1);
oscil_can.oscil_buffer[28][oscil_can.current_position] = (int16) _IQtoIQ15(edrk.Kplus);
oscil_can.oscil_buffer[29][oscil_can.current_position] = (int16) _IQtoIQ15(filter.iqIm);
}
// oscil_can.oscil_buffer[23][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.Izad);//(int16) _IQtoIQ15(WRotorPBus.iqAngle1F);
// oscil_can.oscil_buffer[24][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.Izad_from_master);//(int16) _IQtoIQ15(WRotorPBus.iqAngle2F);
// oscil_can.oscil_buffer[25][oscil_can.current_position] = (int16) _IQtoIQ15(simple_scalar1.mzz_zad);//(int16) _IQtoIQ15(WRotor.iqWRotorImpulses1);
oscil_can.oscil_buffer[30][oscil_can.current_position] = (int16) _IQtoIQ12(edrk.master_theta);//_IQtoIQ15(edrk.Uzad_to_slave);
oscil_can.oscil_buffer[31][oscil_can.current_position] = (int16) _IQtoIQ12(edrk.tetta_to_slave);
// oscil_can.oscil_buffer[26][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_m1);
// oscil_can.oscil_buffer[27][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_m2);
//
// oscil_can.oscil_buffer[28][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_A1B1);
// oscil_can.oscil_buffer[29][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_B1C1);
// oscil_can.oscil_buffer[30][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_A2B2);
// oscil_can.oscil_buffer[31][oscil_can.current_position] = (int16) _IQtoIQ15(analog.iqUin_B2C2);
oscil_can.set_next_position(&oscil_can);
}
*/
// if ((m.m2.bit.LatchCrashError == 0) && (edrk.stop_logs_rs232 == 0))// && (edrk.Go == 1))
if ( (edrk.stop_logs_rs232 == 0) && f.flag_record_log)// && (edrk.Go == 1))
{
test_mem_limit(FAST_LOG, !f.Ciclelog);
count_step++;
if (count_step >= 1)//1
{
count_step_run++;
// i_led1_on_off(1);
// write_to_mem(FAST_LOG, (int16)count_step_run);
getFastLogs(!f.Ciclelog);
// for (i_log=0;i_log<72;i_log++)
// write_to_mem(FAST_LOG, (int16) logsdata.logs[i_log]);
// write_to_mem(FAST_LOG, (int16) logpar.log85);
// if (logpar.start_write_fast_log) {
// get_log_params_count();
// logpar.start_write_fast_log = 0;
// }
count_step = 0;
}
}
else {
if (f.Stop && log_params.log_saved_to_const_mem == 0) {
log_params.copy_log_to_const_memory = 1;
log_params.log_saved_to_const_mem = 1;
f.flag_send_alarm_log_to_MPU = 1;
}
}
#if(_ENABLE_PWM_LINES_FOR_TESTS_PWM)
PWM_LINES_TK_23_OFF;
#endif
if (filter.iqU_1_long>edrk.iqMIN_U_ZPT || filter.iqU_2_long>edrk.iqMIN_U_ZPT)
local_enable_slow_log = 1;
else
local_enable_slow_log = 0;
if (edrk.stop_logs_rs232 == 0 && edrk.stop_slow_log ==0 && log_to_HMI.send_log == 0)
save_slow_logs(edrk.Go || (local_enable_slow_log && edrk.Status_Ready.bits.ready_final==0), edrk.t_slow_log);
}
//////////////////////////////////////////////////////////////////