// // Created by Cfif on 14.12.23. // #include #include "fc7xxx_driver_port.h" #include "Pwms.h" #define LOG_SIGN "INIT" #define LOGGER logger tPwms PWMS; //начало--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmFront------------------------------------------------- void Bsp_Tpu_PwmFrontCallback(void) { Get_Set_Tpu_PwmCallback(&PWMS.pwmFront); } void Bsp_Tpu_PwmFrontOverflowCallBack(void) { asm("nop"); } void Bsp_Tpu_PwmFrontCaptureCallback(void) { Get_Set_Tpu_PwmCaptureCallback(&PWMS.pwmFrontCapture); } void Bsp_Tpu_PwmFrontCapture_OverflowCallBack(void) { asm("nop"); } //конец--------------------------PwmFront------------------------------------------------- //конец--------------------------PwmFront------------------------------------------------- //конец--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- void Bsp_Tpu_PwmRearCallback(void) { Get_Set_Tpu_PwmCallback(&PWMS.pwmRear); } void Bsp_Tpu_PwmRearOverflowCallBack(void) { asm("nop"); } void Bsp_Tpu_PwmRearCaptureCallback(void) { Get_Set_Tpu_PwmCaptureCallback(&PWMS.pwmRearCapture); } void Bsp_Tpu_PwmRearCapture_OverflowCallBack(void) { asm("nop"); } //конец--------------------------PwmRear------------------------------------------------- //конец--------------------------PwmRear------------------------------------------------- //конец--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- void Bsp_Tpu_PwmFrontReserveCallback(void) { Get_Set_Tpu_PwmCallback(&PWMS.pwmFrontReserved); } void Bsp_Tpu_PwmFrontReserveOverflowCallBack(void) { asm("nop"); } void Bsp_Tpu_PwmFrontReserveCaptureCallback(void) { Get_Set_Tpu_PwmCaptureCallback(&PWMS.pwmFrontReservedCapture); } void Bsp_Tpu_PwmFrontReserveCapture_OverflowCallBack(void) { asm("nop"); } //конец--------------------------PwmFrontReserve------------------------------------------------- //конец--------------------------PwmFrontReserve------------------------------------------------- //конец--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- void Bsp_Tpu_PwmRearReserveCallback(void) { Get_Set_Tpu_PwmCallback(&PWMS.pwmRearReserved); } void Bsp_Tpu_PwmRearReserveOverflowCallBack(void) { asm("nop"); } void Bsp_Tpu_PwmRearReserveCaptureCallback(void) { Get_Set_Tpu_PwmCaptureCallback(&PWMS.pwmRearReservedCapture); } void Bsp_Tpu_PwmRearReserveCapture_OverflowCallBack(void) { asm("nop"); } //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- void Pwms_Init(tLoggerInterface *logger) { tPwms *env = &PWMS; PORT_InitType tInitStruct = {0}; //начало--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmFront------------------------------------------------- // TPU_CH4: PortD 4: ALT7 tInitStruct.u32PortPins = PORT_PIN_4; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT7_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Initial( &env->pwmFront, true, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 4U, 0xFF, Bsp_Tpu_PwmFrontCallback, Bsp_Tpu_PwmFrontOverflowCallBack ); env->pwmFrontIo = vPwmGetIo(&env->pwmFront); // TPU_CH3: PortD 3: ALT7 tInitStruct.u32PortPins = PORT_PIN_3; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT7_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Capture_Initial( &env->pwmFrontCapture, false, 3U, 0xFF, Bsp_Tpu_PwmFrontCaptureCallback, Bsp_Tpu_PwmFrontCapture_OverflowCallBack ); env->pwmFrontCaptureIO = vPwmCaptureGetIo(&env->pwmFrontCapture); //конец--------------------------PwmFront------------------------------------------------- //конец--------------------------PwmFront------------------------------------------------- //конец--------------------------PwmFront------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmRear------------------------------------------------- // TPU_CH27: PortD 23: ALT5 tInitStruct.u32PortPins = PORT_PIN_23; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT5_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Initial( &env->pwmRear, false, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 27U, 0xFF, Bsp_Tpu_PwmRearCallback, Bsp_Tpu_PwmRearOverflowCallBack ); env->pwmRearIo = vPwmGetIo(&env->pwmRear); // TPU_CH17: PortD 21: ALT4 tInitStruct.u32PortPins = PORT_PIN_21; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT4_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Capture_Initial( &env->pwmRearCapture, false, 17U, 0xFF, Bsp_Tpu_PwmRearCaptureCallback, Bsp_Tpu_PwmRearCapture_OverflowCallBack ); env->pwmRearCaptureIO = vPwmCaptureGetIo(&env->pwmRearCapture); //конец--------------------------PwmRear------------------------------------------------- //конец--------------------------PwmRear------------------------------------------------- //конец--------------------------PwmRear------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmFrontReserve------------------------------------------------- // TPU_CH15: PortD 30: ALT6 tInitStruct.u32PortPins = PORT_PIN_30; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT6_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Initial( &env->pwmFrontReserved, false, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 15U, 0xFF, Bsp_Tpu_PwmFrontReserveCallback, Bsp_Tpu_PwmFrontReserveOverflowCallBack ); env->pwmFrontReservedIo = vPwmGetIo(&env->pwmFrontReserved); // TPU_CH16: PortC 29: ALT6 tInitStruct.u32PortPins = PORT_PIN_29; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT6_FUNC_MODE; PORT_InitPins(PORT_D, &tInitStruct); PWM_Capture_Initial( &env->pwmFrontReservedCapture, false, 14U, 0xFF, Bsp_Tpu_PwmFrontReserveCaptureCallback, Bsp_Tpu_PwmFrontReserveCapture_OverflowCallBack ); env->pwmFrontReservedCaptureIO = vPwmCaptureGetIo(&env->pwmFrontReservedCapture); //конец--------------------------PwmFrontReserve------------------------------------------------- //конец--------------------------PwmFrontReserve------------------------------------------------- //конец--------------------------PwmFrontReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- //начало--------------------------PwmRearReserve------------------------------------------------- // TPU_CH23: PortC 31: ALT6 tInitStruct.u32PortPins = PORT_PIN_31; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT6_FUNC_MODE; PORT_InitPins(PORT_C, &tInitStruct); PWM_Initial( &env->pwmRearReserved, false, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 23U, 0xFF, Bsp_Tpu_PwmRearReserveCallback, Bsp_Tpu_PwmRearReserveOverflowCallBack ); env->pwmRearReservedIo = vPwmGetIo(&env->pwmRearReserved); // TPU_CH21: PortD 29: ALT6 tInitStruct.u32PortPins = PORT_PIN_29; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT6_FUNC_MODE; PORT_InitPins(PORT_C, &tInitStruct); PWM_Capture_Initial( &env->pwmRearReservedCapture, false, 21U, 0xFF, Bsp_Tpu_PwmRearReserveCaptureCallback, Bsp_Tpu_PwmRearReserveCapture_OverflowCallBack ); env->pwmRearReservedCaptureIO = vPwmCaptureGetIo(&env->pwmRearReservedCapture); //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- /* // TPU_CH0: PortB 8: ALT5 tInitStruct.u32PortPins = PORT_PIN_8; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT5_FUNC_MODE; PORT_InitPins(PORT_B, &tInitStruct); PWM_Initial( &env->pwm, true, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 0U, 0xFF, Bsp_Tpu_PwmCallback, Bsp_Tpu_OverflowCallBack ); env->pwmIo = vPwmGetIo(&env->pwm); // TPU_CH1: PortA 0: ALT5 tInitStruct.u32PortPins = PORT_PIN_0; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT5_FUNC_MODE; PORT_InitPins(PORT_A, &tInitStruct); PWM_Capture_Initial( &env->pwmCapture, false, 1U, 0xFF, Bsp_Tpu_PwmCaptureCallback, Bsp_Tpu_Capture_OverflowCallBack ); */ LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization PWM - OK") }