From 05542beb04dcc66f202c01da7a31a1a88c23fa5c Mon Sep 17 00:00:00 2001 From: seklyuts Date: Tue, 9 Jul 2024 11:35:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=BE=D0=BA=D0=B0=20=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=BE=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Peripherals/sdfm.c | 37 ++++++++++++++----- .../src/Peripherals/sdfm.h | 3 ++ .../epwm_test_biss_c_cpu2/src/init_perif.c | 3 +- Projects/epwm_test_biss_c_cpu2/src/vector.c | 1 + 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.c b/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.c index 9036bcc..98c87d9 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.c +++ b/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.c @@ -11,7 +11,7 @@ #include "gpio_init.h" #include "sdfm.h" #include "vector.h" -#include"frm_uart.h" +#include "frm_uart.h" // // Defines // @@ -110,13 +110,6 @@ volatile float CurrentFactorMotor = FACTOR_CURRENT_MOTOR*32767.0; -int16_t SdfmGetChannel(int16_t N) -{ - return sdfmAdc[N]; -} - - - void SdfmGpioInit(void) { @@ -369,7 +362,7 @@ void sdfm_check_all_current_measurements_was_done(void) { if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS) { - sdfmIndex = 0; + sdfmIndex &= ~SDFM_ALL_CURRENTS; if(AllInitDone) { vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC],sdfmAdc[SDFM_U_DC]); @@ -377,6 +370,18 @@ void sdfm_check_all_current_measurements_was_done(void) } } +void sdfm_check_brake_measurements_was_done(void) +{ + if((sdfmIndex & SDFM_BIT_BRAKE) == SDFM_BIT_BRAKE) + { + sdfmIndex &= ~SDFM_BIT_BRAKE; + if(AllInitDone) + { + + } + } +} + __interrupt void Sdfm1_ISR(void) { @@ -409,6 +414,7 @@ uint32_t IntFlags; Sdfm_clearFlagRegister(SDFM2,IntFlags); sdfm_check_all_current_measurements_was_done(); + sdfm_check_brake_measurements_was_done(); PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; } @@ -430,6 +436,19 @@ void sdfm_start_conversion_current(void) EDIS; } +void sdfm_start_conversion_brake(void) +{ + sdfmIndex = 0; + + EALLOW; + Sdfm1Regs.SDIFLGCLR.all = 0xFFFFFFFF; + Sdfm2Regs.SDIFLGCLR.all = 0xFFFFFFFF; + SDCPARM_Reg_arr[SDFM_BRAKE]->bit.MFIE = 1; + SDDFPARM_Reg_arr[SDFM_BRAKE]->bit.AE = 1; + + EDIS; +} + int16_t sdfm_get(int16_t N) { return sdfmAdc[N]; diff --git a/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.h b/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.h index 3fb19d4..fff4587 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.h +++ b/Projects/epwm_test_biss_c_cpu2/src/Peripherals/sdfm.h @@ -24,6 +24,8 @@ #define SDFM_BIT_IB (1<