Index: firmware/App/Controllers/Voltages.c =================================================================== diff -u -r25ede6f944eb53b68c8073404663c99d3ce158b0 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision 25ede6f944eb53b68c8073404663c99d3ce158b0) +++ firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -16,6 +16,7 @@ ***************************************************************************/ #include "AlarmMgmt.h" +#include "CPLD.h" #include "FPGA.h" #include "InternalADC.h" #include "PersistentAlarm.h" @@ -35,7 +36,6 @@ #define VOLTAGES_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the voltages data is published on the CAN bus. #define VOLTAGES_ALARM_PERSISTENCE_MS ( 1 * MS_PER_SECOND ) ///< Alarm persistence period for voltage monitor alarms in milliseconds. #define POWER_LOSS_VOLTAGE_PERSISTENCE_MS 150 ///< Power supply voltage out of range persistence in milliseconds. -#define POWER_LOSS_VOLTAGE_THRESHOLD_V 5.0F ///< Power loss voltage threshold #define DATA_PUBLISH_COUNTER_START_COUNT 14 ///< Data publish counter start count. /// Defined states for the voltage monitor state machine. @@ -116,7 +116,7 @@ } initPersistentAlarm( ALARM_ID_HD_VOLTAGE_OUT_OF_RANGE, VOLTAGES_ALARM_PERSISTENCE_MS, VOLTAGES_ALARM_PERSISTENCE_MS ); - initPersistentAlarm( ALARM_ID_HD_AC_POWER_LOST, POWER_LOSS_VOLTAGE_PERSISTENCE_MS, POWER_LOSS_VOLTAGE_PERSISTENCE_MS ); + initPersistentAlarm( ALARM_ID_HD_AC_POWER_LOST, POWER_LOSS_VOLTAGE_PERSISTENCE_MS, 0 ); } /*********************************************************************//** @@ -127,7 +127,7 @@ * @return none *************************************************************************/ void execVoltagesMonitor( void ) -{ +{ // State machine switch ( voltagesState ) { @@ -205,17 +205,8 @@ static void checkVoltageRanges( void ) { U32 i; - BOOL hasPowerBeenLost = FALSE; + BOOL hasPowerBeenLost = getCPLDACPowerLossDetected(); - // Have we lost AC power? TODO - replace with CPLD status check - if ( getMonitoredLineLevel( MONITORED_LINE_24V ) < POWER_LOSS_VOLTAGE_THRESHOLD_V ) - { - if ( ( getCurrentOperationMode() != MODE_INIT ) && ( FALSE == isSafetyShutdownActivated() ) ) - { - hasPowerBeenLost = TRUE; - } - } - // Check range for ( i = 0; i < NUM_OF_MONITORED_LINES; i++ ) { @@ -247,10 +238,13 @@ } } - if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_AC_POWER_LOST, hasPowerBeenLost ) ) + // manage AC power loss alarm detection/clearing + if ( TRUE == hasPowerBeenLost ) { HD_OP_MODE_T opMode = getCurrentOperationMode(); + isPersistentAlarmTriggered( ALARM_ID_HD_AC_POWER_LOST, hasPowerBeenLost ); + // Pre-Treatment, Treatment, or Post-Treatment mode if ( ( MODE_PRET == opMode ) || ( MODE_TREA == opMode ) || ( MODE_POST == opMode ) ) { @@ -261,6 +255,14 @@ SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_AC_POWER_LOST, getMonitoredLineLevel( MONITORED_LINE_24V ), getMonitoredLineLevel( MONITORED_LINE_24V_REGEN ) ); } } + else + { + if ( TRUE == isPersistentAlarmConditionCleared( ALARM_ID_HD_AC_POWER_LOST, hasPowerBeenLost ) ) + { + clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST ); + clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT ); + } + } } /*********************************************************************//** Index: firmware/App/Drivers/Battery.c =================================================================== diff -u -raa8b9687b9396b4878cf0d5327d72a5d67477761 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/App/Drivers/Battery.c (.../Battery.c) (revision aa8b9687b9396b4878cf0d5327d72a5d67477761) +++ firmware/App/Drivers/Battery.c (.../Battery.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -706,26 +706,8 @@ case BATTERY_CHARGER_STATUS4: case BATTERY_CHARGER_STATUS5: if ( TRUE == getBatteryData( BATTERY_CHARGER_SLAVE_ADDRESS, BATTERY_CHARGER_STATUS_CMD, &BatteryStatusData.BatteryChargerStatus ) ) - { // If A/C not present, trigger A/C lost alarm + { batteryChargerStatus.data = BatteryStatusData.BatteryChargerStatus; - if ( 0 == ( getBatteryChargerStatus() & BATTERY_CHARGER_STATUS_AC_PRESENT_MASK ) ) - { - // Pre-Treatment, Treatment, or Post-Treatment mode - if ( opMode == MODE_PRET || opMode == MODE_TREA || opMode == MODE_POST ) - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT, getBatteryChargerStatus() ); - } - // Standby, Service, or Treatment Parameters mode - else - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_AC_POWER_LOST, getBatteryChargerStatus() ); - } - } - else - { - clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST ); - clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT ); - } } // Publish battery status data after reading battery charger status (last status read) publishBatteryStatusData(); Index: firmware/App/Drivers/CPLD.c =================================================================== diff -u -r0a4dcd288d4347b85baaa0b07da568b6add5eac7 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/App/Drivers/CPLD.c (.../CPLD.c) (revision 0a4dcd288d4347b85baaa0b07da568b6add5eac7) +++ firmware/App/Drivers/CPLD.c (.../CPLD.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -43,11 +43,13 @@ #define GREEN_SPI5_PORT_MASK 0x00000200 ///< (CLK - re-purposed as output GPIO) for green alarm lamp signal. #define BLUE_SPI5_PORT_MASK 0x00000400 ///< (SIMO[0] - re-purposed as output GPIO) for blue alarm lamp signal. #define RED_SPI5_PORT_MASK 0x00000800 ///< (SOMI[0] - re-purposed as output GPIO) for red alarm lamp signal. +#define AC_PRESENT_SPI5_PORT_MASK 0x00000001 ///< (SOMI[0] - re-purposed as output GPIO) for red alarm lamp signal. // CPLD pin I/O macros #define GET_OFF() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, OFF_BUTTON_GIO_PORT_PIN)) ///< Macro to get off button signal state. #define GET_STOP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, STOP_BUTTON_GIO_PORT_PIN)) ///< Macro to get stop button signal state. -#define GET_WD_EXP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTB, WD_EXP_GIO_PORT_PIN)) ///< Macro to get watchdog expired signal state. +#define GET_WD_EXP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTB, WD_EXP_GIO_PORT_PIN)) ///< Macro to get watchdog expired signal state. +#define GET_AC_PRESENT() (PIN_SIGNAL_STATE_T)(mibspiREG5->PC2 & AC_PRESENT_SPI5_PORT_MASK) ///< Macro to get A/C power present signal state. #define TGL_WD_PET() gioToggleBit( gioPORTB, WD_PET_GIO_PORT_PIN ) ///< Macro to toggle watchdog pet signal state. #define TGL_OFF_REQ() gioToggleBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN) ///< Macro to toggle power off request signal state. @@ -110,6 +112,22 @@ PIN_SIGNAL_STATE_T level = GET_WD_EXP(); return level; +} + +/*********************************************************************//** + * @brief + * The getCPLDACPowerLossDetected function determines whether the CPLD is + * reporting A/C power has been lost. + * @details Inputs: Signal from CPLD on A/C presence pin. + * @details Outputs: none + * @return TRUE if A/C power loss is detected, FALSE if not + *************************************************************************/ +BOOL getCPLDACPowerLossDetected( void ) +{ + PIN_SIGNAL_STATE_T acLevel = GET_AC_PRESENT(); + BOOL acLost = ( PIN_SIGNAL_HIGH == acLevel ? FALSE : TRUE ); + + return acLost; } /*********************************************************************//** Index: firmware/App/Drivers/CPLD.h =================================================================== diff -u -r0a4dcd288d4347b85baaa0b07da568b6add5eac7 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision 0a4dcd288d4347b85baaa0b07da568b6add5eac7) +++ firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -42,7 +42,9 @@ void toggleCPLDOffRequest( void ); PIN_SIGNAL_STATE_T getCPLDOffButton( void ); -PIN_SIGNAL_STATE_T getCPLDStopButton( void ); +PIN_SIGNAL_STATE_T getCPLDStopButton( void ); + +BOOL getCPLDACPowerLossDetected( void ); /**@}*/ Index: firmware/HD.dil =================================================================== diff -u -r22e7af9d984aeb680b8ddb444757bf59c2e09c15 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/HD.dil (.../HD.dil) (revision 22e7af9d984aeb680b8ddb444757bf59c2e09c15) +++ firmware/HD.dil (.../HD.dil) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -1,4 +1,4 @@ -# RM46L852PGE 11/28/22 13:11:44 +# RM46L852PGE 04/03/23 16:06:59 # ARCH=RM46L852PGE # @@ -1820,7 +1820,7 @@ DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE0.VALUE=1000.000 DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGSRC.VALUE=TRG_DISABLED DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_FUN.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE2.VALUE=1000.000 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULL.VALUE=2 @@ -2552,7 +2552,7 @@ DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE1.VALUE=103 DRIVER.MIBSPI.VAR.MIBSPI3_BASE_RAM.VALUE=0xFF0C0000 DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DIR.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE2.VALUE=1000.000 DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL0.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DIR.VALUE=1 @@ -2623,7 +2623,7 @@ DRIVER.SPI.VAR.SPI1_C2EDELAY.VALUE=0 DRIVER.SPI.VAR.SPI5_PORT_BIT27_DIR.VALUE=0 DRIVER.SPI.VAR.SPI5_PORT_BIT19_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_DIR.VALUE=0 DRIVER.SPI.VAR.SPI3_PRESCALE2.VALUE=103 DRIVER.SPI.VAR.SPI1_MASTER.VALUE=1 DRIVER.SPI.VAR.SPI3_PRESCALE3.VALUE=103 @@ -2697,7 +2697,7 @@ DRIVER.SPI.VAR.SPI1_PHASE1.VALUE=0 DRIVER.SPI.VAR.SPI5_PORT_BIT27_FUN.VALUE=1 DRIVER.SPI.VAR.SPI5_PORT_BIT19_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_FUN.VALUE=0 DRIVER.SPI.VAR.SPI1_PHASE2.VALUE=0 DRIVER.SPI.VAR.SPI1_PHASE3.VALUE=0 DRIVER.SPI.VAR.SPI5_PORT_BIT25_PSL.VALUE=1 @@ -7305,7 +7305,7 @@ DRIVER.PINMUX.VAR.DMA_CHANNEL_12_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_10_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.PINMUX35.VALUE=0 -DRIVER.PINMUX.VAR.PINMUX27.VALUE=PINMUX_PIN_32_ETPWM4A +DRIVER.PINMUX.VAR.PINMUX27.VALUE=PINMUX_PIN_32_MIBSPI5NCS_0 DRIVER.PINMUX.VAR.PINMUX19.VALUE=PINMUX_PIN_127_HET1_30 DRIVER.PINMUX.VAR.MUX98_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX98_OPTION1.VALUE=0 @@ -8198,7 +8198,7 @@ DRIVER.PINMUX.VAR.MUX41_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX33_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX3_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.DMA_ADDMR_30.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_EIDXD_26.VALUE=0 @@ -8300,7 +8300,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_41_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_33_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_25_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=0 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_IET_COUNT_27.VALUE=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=250002.419 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=250000.000 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 @@ -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=25833 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=25999 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 @@ -9564,11 +9564,11 @@ DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_ACTUALPERIOD.VALUE=77.418 DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM4_TB_ACTUALFREQUENCY.VALUE=103.335 +DRIVER.ETPWM.VAR.ETPWM4_TB_ACTUALFREQUENCY.VALUE=104.000 DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_ACTUALPERIOD.VALUE=77.418 DRIVER.ETPWM.VAR.ETPWM6_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=38.709 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=38.462 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_DCAEVT1.VALUE=0x0000 @@ -9583,7 +9583,7 @@ 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=25833 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=25999 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 @@ -9617,7 +9617,7 @@ DRIVER.ETPWM.VAR.ETPWM3_OSHT3.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME.VALUE=38.709 DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM4_OSHT_ACTUAL_WIDTH.VALUE=77.418 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_ACTUAL_WIDTH.VALUE=76.923 DRIVER.ETPWM.VAR.ETPWM3_OSHT4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH.VALUE=100 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY.VALUE=50 @@ -9789,7 +9789,7 @@ 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=250002.419 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=250000.000 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 @@ -9827,7 +9827,7 @@ DRIVER.ETPWM.VAR.ETPWM7_DCBEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_MODE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_ACTUALPERIOD.VALUE=77.418 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_ACTUALPERIOD.VALUE=76.923 DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_OUT.VALUE=1 DRIVER.ETPWM.VAR.ETPWM7_CBC1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY.VALUE=9.091 Index: firmware/include/etpwm.h =================================================================== diff -u -rbe6802eb077d77af6a2334508c428cc50a02ed39 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/include/etpwm.h (.../etpwm.h) (revision be6802eb077d77af6a2334508c428cc50a02ed39) +++ firmware/include/etpwm.h (.../etpwm.h) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -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 25833U +#define ETPWM4_TBPRD_CONFIGVALUE 25999U #define ETPWM4_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM4_CMPA_CONFIGVALUE 0U #define ETPWM4_CMPB_CONFIGVALUE 0U Index: firmware/include/mibspi.h =================================================================== diff -u -r172b320a1007769c7452fe3f1cc7ac85b016f89a -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/include/mibspi.h (.../mibspi.h) (revision 172b320a1007769c7452fe3f1cc7ac85b016f89a) +++ firmware/include/mibspi.h (.../mibspi.h) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -255,8 +255,8 @@ #define MIBSPI5_INT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) #define MIBSPI5_LVL_CONFIGVALUE ((uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) -#define MIBSPI5_PCFUN_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 18U) | (uint32)((uint32)1U << 19U) | (uint32)((uint32)1U << 25U) | (uint32)((uint32)1U << 26U) | (uint32)((uint32)1U << 27U)) -#define MIBSPI5_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 18U) | (uint32)((uint32)0U << 19U) | (uint32)((uint32)0U << 25U) | (uint32)((uint32)0U << 26U) | (uint32)((uint32)0U << 27U)) +#define MIBSPI5_PCFUN_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 18U) | (uint32)((uint32)1U << 19U) | (uint32)((uint32)1U << 25U) | (uint32)((uint32)1U << 26U) | (uint32)((uint32)1U << 27U)) +#define MIBSPI5_PCDIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 18U) | (uint32)((uint32)0U << 19U) | (uint32)((uint32)0U << 25U) | (uint32)((uint32)0U << 26U) | (uint32)((uint32)0U << 27U)) #define MIBSPI5_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 18U) | (uint32)((uint32)0U << 19U) | (uint32)((uint32)0U << 25U) | (uint32)((uint32)0U << 26U) | (uint32)((uint32)0U << 27U)) #define MIBSPI5_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 18U) | (uint32)((uint32)0U << 19U) | (uint32)((uint32)0U << 25U) | (uint32)((uint32)0U << 26U) | (uint32)((uint32)0U << 27U)) #define MIBSPI5_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 18U) | (uint32)((uint32)1U << 19U) | (uint32)((uint32)1U << 25U) | (uint32)((uint32)1U << 26U) | (uint32)((uint32)1U << 27U)) Index: firmware/source/etpwm.c =================================================================== diff -u -rbe6802eb077d77af6a2334508c428cc50a02ed39 -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/source/etpwm.c (.../etpwm.c) (revision be6802eb077d77af6a2334508c428cc50a02ed39) +++ firmware/source/etpwm.c (.../etpwm.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -368,7 +368,7 @@ etpwmREG4->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG4->TBPRD = 25833U; + etpwmREG4->TBPRD = 25999U; /** - Setup the duty cycle for PWMA */ etpwmREG4->CMPA = 0U; Index: firmware/source/mibspi.c =================================================================== diff -u -r172b320a1007769c7452fe3f1cc7ac85b016f89a -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/source/mibspi.c (.../mibspi.c) (revision 172b320a1007769c7452fe3f1cc7ac85b016f89a) +++ firmware/source/mibspi.c (.../mibspi.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -1432,7 +1432,7 @@ | (uint32)((uint32)0U << 27U); /* SOMI[3] */ /** - MIBSPI5 Port direction */ - mibspiREG5->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + mibspiREG5->PC1 = (uint32)((uint32)0U << 0U) /* SCS[0] */ | (uint32)((uint32)1U << 1U) /* SCS[1] */ | (uint32)((uint32)1U << 2U) /* SCS[2] */ | (uint32)((uint32)1U << 3U) /* SCS[3] */ @@ -1496,7 +1496,7 @@ | (uint32)((uint32)0U << 27U); /* SOMI[3] */ /* MIBSPI5 set all pins to functional */ - mibspiREG5->PC0 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + mibspiREG5->PC0 = (uint32)((uint32)0U << 0U) /* SCS[0] */ | (uint32)((uint32)0U << 1U) /* SCS[1] */ | (uint32)((uint32)0U << 2U) /* SCS[2] */ | (uint32)((uint32)0U << 3U) /* SCS[3] */ Index: firmware/source/pinmux.c =================================================================== diff -u -r569bc4e8119455be23c9d57353243e4479f4afcd -r7a34213f25ce25594311b77a3d003c1e65293a60 --- firmware/source/pinmux.c (.../pinmux.c) (revision 569bc4e8119455be23c9d57353243e4479f4afcd) +++ firmware/source/pinmux.c (.../pinmux.c) (revision 7a34213f25ce25594311b77a3d003c1e65293a60) @@ -224,7 +224,7 @@ /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ pinMuxReg->PINMMR26 = ((~(pinMuxReg->PINMMR0 >> 18U) & 0x00000001U ) << 0U) | ((~(pinMuxReg->PINMMR9 >> 10U) & 0x00000001U ) << 8U); - pinMuxReg->PINMMR27 = PINMUX_PIN_32_ETPWM4A; + pinMuxReg->PINMMR27 = PINMUX_PIN_32_MIBSPI5NCS_0; pinMuxReg->PINMMR29 = 0x01010101U;