// // 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, NULL ); 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, NULL ); 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, NULL ); 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, NULL ); env->pwmFrontReservedIo = vPwmGetIo(&env->pwmFrontReserved); // TPU_CH14: PortD 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, NULL ); 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, NULL ); env->pwmRearReservedIo = vPwmGetIo(&env->pwmRearReserved); // TPU_CH21: PortC 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, NULL ); env->pwmRearReservedCaptureIO = vPwmCaptureGetIo(&env->pwmRearReservedCapture); //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- //конец--------------------------PwmRearReserve------------------------------------------------- LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization PWM - OK") }