Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -ra74a984a7059f75d86ad87d6d9499bd8f94cc976 -rbe6802eb077d77af6a2334508c428cc50a02ed39 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision a74a984a7059f75d86ad87d6d9499bd8f94cc976) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision be6802eb077d77af6a2334508c428cc50a02ed39) @@ -530,7 +530,7 @@ *************************************************************************/ static void setDialOutPumpControlSignalPWM( F32 newPWM ) { - etpwmSetCmpA( etpwmREG3, (U16)( FLOAT_TO_INT_WITH_ROUND( newPWM * (F32)( etpwmREG3->TBPRD ) ) ) ); + etpwmSetCmpA( etpwmREG3, (U32)( (S32)( ( newPWM * (F32)(etpwmREG3->TBPRD) ) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ) ); } /************************************************************************* Index: firmware/HD.dil =================================================================== diff -u -ra74a984a7059f75d86ad87d6d9499bd8f94cc976 -rbe6802eb077d77af6a2334508c428cc50a02ed39 --- firmware/HD.dil (.../HD.dil) (revision a74a984a7059f75d86ad87d6d9499bd8f94cc976) +++ firmware/HD.dil (.../HD.dil) (revision be6802eb077d77af6a2334508c428cc50a02ed39) @@ -1,4 +1,4 @@ -# RM46L852PGE 01/24/20 19:18:23 +# RM46L852PGE 01/27/20 09:21:54 # ARCH=RM46L852PGE # @@ -9353,7 +9353,7 @@ DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD.VALUE=100.000 DRIVER.ETPWM.VAR.ETPWM3_PWMA_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_CLKDIV_REG.VALUE=0 @@ -9369,7 +9369,7 @@ DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM6_RDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY_NEW.VALUE=50.0 @@ -9398,7 +9398,7 @@ DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_MODE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCA.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_INVERT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCB.VALUE=0x0000 @@ -9435,7 +9435,7 @@ DRIVER.ETPWM.VAR.ETPWM5_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM5_DCBEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTY.VALUE=0 @@ -9469,7 +9469,7 @@ DRIVER.ETPWM.VAR.ETPWM3_SELECT_EVENT.VALUE=NO_EVENT DRIVER.ETPWM.VAR.ETPWM2_CLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_INPUT.VALUE=PWMA_RED_FED DRIVER.ETPWM.VAR.ETPWM5_CBC.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_CBC1.VALUE=0x0000 @@ -9481,7 +9481,7 @@ DRIVER.ETPWM.VAR.ETPWM1_CBC5.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_CBC6.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME_REG.VALUE=3 DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_MODE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD.VALUE=1000 @@ -9523,11 +9523,11 @@ DRIVER.ETPWM.VAR.ETPWM1_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM7_OSHT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM7_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM7_CBC.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM7_OSHT3.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM2_CBC1.VALUE=0x0000 @@ -9579,11 +9579,11 @@ DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCB.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM7_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM5_RDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTYTIME.VALUE=503.218 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD.VALUE=100.000 DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_SOCB_PERIOD.VALUE=1 @@ -9644,7 +9644,7 @@ DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCA.VALUE=DCAEVT1 DRIVER.ETPWM.VAR.ETPWM4_SELECT_EVENT.VALUE=NO_EVENT DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM2_DCAEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_INTERRUPT_PERIOD.VALUE=1 DRIVER.ETPWM.VAR.ETPWM2_DCAEVT2.VALUE=0x0000 @@ -9655,7 +9655,7 @@ DRIVER.ETPWM.VAR.ETPWM4_CBC3.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_MODE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM5_OST.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_CBC4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_CBC5.VALUE=0x0000 @@ -9679,12 +9679,12 @@ DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM2_DCBEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_PWMA_ACTUALPERIOD.VALUE=996.758 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM2_DCBEVT2.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_INVERT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM7_PWMB_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH_REG.VALUE=0 @@ -9751,7 +9751,7 @@ DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCA.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCB.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 @@ -9786,10 +9786,10 @@ DRIVER.ETPWM.VAR.ETPWM2_SOCB_PERIOD.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_CBC5.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD_REG.VALUE=102 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_MODE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=996.758 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCA.VALUE=DCAEVT1 DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM5_BASE.VALUE=0xFCF79000 @@ -9855,7 +9855,7 @@ DRIVER.ETPWM.VAR.ETPWM6_PWMB_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM5_OSHT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM5_OSHT2.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_INPUT.VALUE=PWMA_RED_FED DRIVER.ETPWM.VAR.ETPWM5_PWMB_ACTUALPERIOD.VALUE=996.758 Index: firmware/include/etpwm.h =================================================================== diff -u -ra74a984a7059f75d86ad87d6d9499bd8f94cc976 -rbe6802eb077d77af6a2334508c428cc50a02ed39 --- firmware/include/etpwm.h (.../etpwm.h) (revision a74a984a7059f75d86ad87d6d9499bd8f94cc976) +++ firmware/include/etpwm.h (.../etpwm.h) (revision be6802eb077d77af6a2334508c428cc50a02ed39) @@ -546,7 +546,7 @@ #define ETPWM4_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM4_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM4_TBPRD_CONFIGVALUE 102U +#define ETPWM4_TBPRD_CONFIGVALUE 25833U #define ETPWM4_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM4_CMPA_CONFIGVALUE 0U #define ETPWM4_CMPB_CONFIGVALUE 0U @@ -598,7 +598,7 @@ #define ETPWM6_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM6_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM6_TBPRD_CONFIGVALUE 102U +#define ETPWM6_TBPRD_CONFIGVALUE 25833U #define ETPWM6_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM6_CMPA_CONFIGVALUE 0U #define ETPWM6_CMPB_CONFIGVALUE 0U @@ -624,7 +624,7 @@ #define ETPWM7_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM7_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM7_TBPRD_CONFIGVALUE 102U +#define ETPWM7_TBPRD_CONFIGVALUE 25833U #define ETPWM7_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM7_CMPA_CONFIGVALUE 0U #define ETPWM7_CMPB_CONFIGVALUE 0U Index: firmware/source/etpwm.c =================================================================== diff -u -ra74a984a7059f75d86ad87d6d9499bd8f94cc976 -rbe6802eb077d77af6a2334508c428cc50a02ed39 --- firmware/source/etpwm.c (.../etpwm.c) (revision a74a984a7059f75d86ad87d6d9499bd8f94cc976) +++ firmware/source/etpwm.c (.../etpwm.c) (revision be6802eb077d77af6a2334508c428cc50a02ed39) @@ -368,7 +368,7 @@ etpwmREG4->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG4->TBPRD = 102U; + etpwmREG4->TBPRD = 25833U; /** - Setup the duty cycle for PWMA */ etpwmREG4->CMPA = 0U; @@ -463,7 +463,7 @@ etpwmREG6->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG6->TBPRD = 102U; + etpwmREG6->TBPRD = 25833U; /** - Setup the duty cycle for PWMA */ etpwmREG6->CMPA = 0U; @@ -561,7 +561,7 @@ etpwmREG7->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG7->TBPRD = 102U; + etpwmREG7->TBPRD = 25833U; /** - Setup the duty cycle for PWMA */ etpwmREG7->CMPA = 0U; Index: firmware/source/sys_main.c =================================================================== diff -u -ra74a984a7059f75d86ad87d6d9499bd8f94cc976 -rbe6802eb077d77af6a2334508c428cc50a02ed39 --- firmware/source/sys_main.c (.../sys_main.c) (revision a74a984a7059f75d86ad87d6d9499bd8f94cc976) +++ firmware/source/sys_main.c (.../sys_main.c) (revision be6802eb077d77af6a2334508c428cc50a02ed39) @@ -139,9 +139,9 @@ etpwmSetCmpA( etpwmREG1, 0 ); etpwmSetCmpA( etpwmREG2, 0 ); etpwmSetCmpA( etpwmREG3, 0 ); - etpwmSetCmpA( etpwmREG4, 0 ); - etpwmSetCmpA( etpwmREG6, 0 ); - etpwmSetCmpA( etpwmREG7, 0 ); + etpwmSetCmpA( etpwmREG4, etpwmREG4->TBPRD / 3 ); + etpwmSetCmpA( etpwmREG6, etpwmREG6->TBPRD / 3 ); + etpwmSetCmpA( etpwmREG7, etpwmREG7->TBPRD / 3 ); etpwmStartTBCLK(); canInit(); // CAN1 = CAN, re-purposing CAN2 and CAN3 Rx and Tx pins as GPIO //canEnableloopback( canREG1, External_Lbk ); // TODO - debug code