Index: firmware/.launches/DG.launch =================================================================== diff -u -r388a6f1cf7661a973b0b08c2eeb4de30522c1e88 -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/.launches/DG.launch (.../DG.launch) (revision 388a6f1cf7661a973b0b08c2eeb4de30522c1e88) +++ firmware/.launches/DG.launch (.../DG.launch) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -1,18 +1,10 @@ -<<<<<<< HEAD -======= - - - - - ->>>>>>> d838fbaa8507b883fa112e69137e86fc9fb2cb6f Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r388a6f1cf7661a973b0b08c2eeb4de30522c1e88 -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 388a6f1cf7661a973b0b08c2eeb4de30522c1e88) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -16,10 +16,10 @@ #include "etpwm.h" -// TODO for testing only remove +#ifdef ENABLE_DIP_SWITCHES #include "mibspi.h" #include "FPGA.h" -// TODO for testing only remove +#endif #include "AlarmMgmt.h" #include "Common.h" @@ -314,8 +314,10 @@ // If the RO pump is not on, turn off the heaters if ( ! isReverseOsmosisPumpOn() ) { - stopPrimaryHeater(); +#ifndef EMC_TEST_BUILD + stopPrimaryHeater(); // TODO - this is so immediate - if other module requests RO pump on and start heater, this monitor may stop the heater request before RO pump has a chance to start stopTrimmerHeater(); +#endif } } @@ -618,6 +620,7 @@ // TODO remove this code #ifdef DEBUG_ENABLED #ifdef ENABLE_DIP_SWITCHES +#ifndef EMC_TEST_BUILD if ( !TOGGLEPRIMAYHEATER() ) { stopPrimaryHeater(); @@ -629,6 +632,7 @@ } #endif #endif +#endif // TODO Remove this code if ( ! isPrimaryHeaterOn ) @@ -656,6 +660,7 @@ // TODO for testing only. remove #ifdef DEBUG_ENABLED #ifdef ENABLE_DIP_SWITCHES +#ifndef EMC_TEST_BUILD if ( TOGGLEPRIMAYHEATER() ) { setTrimmerHeaterTargetTemperature ( 38 ); @@ -672,6 +677,7 @@ } #endif #endif +#endif // TODO remove this code for testing if ( hasStartTrimmerHeaterRequested ) @@ -717,6 +723,7 @@ // TODO remove this code #ifdef DEBUG_ENABLED #ifdef ENABLE_DIP_SWITCHES +#ifndef EMC_TEST_BUILD if ( !TOGGLEPRIMAYHEATER() ) { stopTrimmerHeater(); @@ -732,6 +739,7 @@ } #endif #endif +#endif // TODO Remove this code if ( ! isTrimmerHeaterOn ) Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r99011bfb443632a788f3afe395c9c63a797bde9d -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 99011bfb443632a788f3afe395c9c63a797bde9d) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -30,6 +30,12 @@ #include "TaskPriority.h" #include "Timers.h" #include "ROPump.h" +#ifdef EMC_TEST_BUILD +#include "Heaters.h" +#endif +#ifdef ENABLE_DIP_SWITCHES +#include "Valves.h" +#endif /** * @addtogroup ROPump @@ -272,7 +278,21 @@ // TODO - test code - remove later if ( GET_DIP_SW0_TEST() ) { + setValveState( VSP, VALVE_STATE_CLOSED ); + setValveState( VPI, VALVE_STATE_OPEN ); + setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); + setValveState( VRC, VALVE_STATE_RECIRC_C_TO_NC ); + setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setROPumpTargetPressure( 120, PUMP_CONTROL_MODE_CLOSED_LOOP ); +#ifdef EMC_TEST_BUILD + { + F32 fanPWM = 0.25; + etpwmSetCmpA( etpwmREG6, (U32)( (S32)( ( fanPWM * (F32)(etpwmREG6->TBPRD) ) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ) ); + etpwmSetCmpB( etpwmREG6, (U32)( (S32)( ( fanPWM * (F32)(etpwmREG6->TBPRD) ) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ) ); + setPrimaryHeaterTargetTemperature( 50.0 ); + startPrimaryHeater(); + } +#endif } #endif #endif @@ -330,6 +350,11 @@ { signalROPumpHardStop(); result = RO_PUMP_OFF_STATE; +#ifdef EMC_TEST_BUILD + etpwmSetCmpA( etpwmREG6, 0 ); + etpwmSetCmpB( etpwmREG6, 0 ); + stopPrimaryHeater(); +#endif } #endif #endif Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -rd838fbaa8507b883fa112e69137e86fc9fb2cb6f -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision d838fbaa8507b883fa112e69137e86fc9fb2cb6f) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -795,15 +795,14 @@ { if ( ++dataPublicationTimerCounter >= getPublishTemperatureSensorsDataInterval() ) { - U08 i; + U32 i; + for ( i = 0; i < NUM_OF_TEMPERATURE_SENSORS; i++ ) { tempValuesForPublication [ i ] = getTemperatureValue ( i ); } - - broadcastTemperatureSensorsData ( (U08*)&tempValuesForPublication, + broadcastTemperatureSensorsData ( (U08*)(&tempValuesForPublication), NUM_OF_TEMPERATURE_SENSORS * sizeof(F32) ); - dataPublicationTimerCounter = 0; } } Index: firmware/App/DGCommon.h =================================================================== diff -u -r1d44cf33cf4461b81b19a8ab0e402c609649786b -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 1d44cf33cf4461b81b19a8ab0e402c609649786b) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -33,8 +33,10 @@ // #define RM46_EVAL_BOARD_TARGET 1 // #define SIMULATE_UI 1 // #define CAN_TEST 1 +// #define BETA_V1_BUILD 1 // #define DISABLE_HEATERS_AND_TEMPS 1 -// #define ENABLE_DIP_SWITCHES 1 + #define ENABLE_DIP_SWITCHES 1 + #define EMC_TEST_BUILD 1 #define ALARMS_DEBUG 1 // #define HEATERS_DEBUG 1 // #define PRESSURES_DEBUG 1 Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rbbf1e3736be03a4f041ace57e0f95e23caf472dd -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision bbf1e3736be03a4f041ace57e0f95e23caf472dd) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -76,6 +76,7 @@ // set initial actuator states setValveState( VPI, VALVE_STATE_CLOSED ); + setValveState( VSP, VALVE_STATE_CLOSED ); setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -rbe027f8c9bee75f07267f7a9ab5635bbb02df86e -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision be027f8c9bee75f07267f7a9ab5635bbb02df86e) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -115,19 +115,33 @@ case RESERVOIR_1: activeReservoir.data = (U32)resID; result = TRUE; +#ifndef BETA_V1_BUILD + setValveState( VRF, VALVE_STATE_R2_C_TO_NO ); + setValveState( VRD, VALVE_STATE_R2_C_TO_NO ); + setValveState( VRO, VALVE_STATE_R1_C_TO_NO ); + setValveState( VRI, VALVE_STATE_R1_C_TO_NO ); +#else setValveState( VRF, VALVE_STATE_R1_C_TO_NC ); // TODO - valve states are reversed for the two reservoirs for now - revert back when load cells are fixed. setValveState( VRD, VALVE_STATE_R1_C_TO_NC ); setValveState( VRO, VALVE_STATE_R2_C_TO_NC ); setValveState( VRI, VALVE_STATE_R2_C_TO_NC ); +#endif break; case RESERVOIR_2: activeReservoir.data = (U32)resID; result = TRUE; +#ifndef BETA_V1_BUILD + setValveState( VRF, VALVE_STATE_R1_C_TO_NC ); // TODO - valve states are reversed for the two reservoirs for now - revert back when load cells are fixed. + setValveState( VRD, VALVE_STATE_R1_C_TO_NC ); + setValveState( VRO, VALVE_STATE_R2_C_TO_NC ); + setValveState( VRI, VALVE_STATE_R2_C_TO_NC ); +#else setValveState( VRF, VALVE_STATE_R2_C_TO_NO ); setValveState( VRD, VALVE_STATE_R2_C_TO_NO ); setValveState( VRO, VALVE_STATE_R1_C_TO_NO ); setValveState( VRI, VALVE_STATE_R1_C_TO_NO ); +#endif break; default: Index: firmware/DG.dil =================================================================== diff -u -ra504d6899e709d7432af9c055db1bd1fe340d032 -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/DG.dil (.../DG.dil) (revision a504d6899e709d7432af9c055db1bd1fe340d032) +++ firmware/DG.dil (.../DG.dil) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -1,4 +1,4 @@ -# RM46L852PGE 06/03/20 14:44:45 +# RM46L852PGE 06/12/20 13:22:22 # ARCH=RM46L852PGE # @@ -9387,10 +9387,10 @@ DRIVER.ETPWM.VAR.ETPWM1_OSHT4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD_REG.VALUE=10333 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD_REG.VALUE=6888 DRIVER.ETPWM.VAR.ETPWM1_OSHT6.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD.VALUE=100000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD.VALUE=66667 DRIVER.ETPWM.VAR.ETPWM2_CBC.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_CLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_PWMB_ENA.VALUE=1 @@ -9545,7 +9545,7 @@ DRIVER.ETPWM.VAR.ETPWM2_CBC4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_OST.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_ACTUALPERIOD.VALUE=77.418 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_ACTUALPERIOD.VALUE=100004.839 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_ACTUALPERIOD.VALUE=66666.667 DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM3_FDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CBC5.VALUE=0x0000 @@ -9701,7 +9701,7 @@ DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL DRIVER.ETPWM.VAR.ETPWM3_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD.VALUE=100000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD.VALUE=66667 DRIVER.ETPWM.VAR.ETPWM7_RDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM1_TB_FREQUENCY.VALUE=110.000 @@ -9710,7 +9710,7 @@ DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_CLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_ACTUALPERIOD.VALUE=100004.839 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_ACTUALPERIOD.VALUE=66666.667 DRIVER.ETPWM.VAR.ETPWM5_CBC1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM5_CBC2.VALUE=0x0000 @@ -9847,7 +9847,7 @@ DRIVER.ETPWM.VAR.ETPWM5_PWMA_COMPARE.VALUE=52 DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD_REG.VALUE=10333 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD_REG.VALUE=6888 DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM6_BASE.VALUE=0xFCF79100 Index: firmware/include/etpwm.h =================================================================== diff -u -r2496e9225fa1b2c627d625def02515a0f0dd5793 -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/include/etpwm.h (.../etpwm.h) (revision 2496e9225fa1b2c627d625def02515a0f0dd5793) +++ firmware/include/etpwm.h (.../etpwm.h) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -468,7 +468,7 @@ #define ETPWM1_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM1_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM1_TBPRD_CONFIGVALUE 10333U +#define ETPWM1_TBPRD_CONFIGVALUE 6888U #define ETPWM1_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM1_CMPA_CONFIGVALUE 0U #define ETPWM1_CMPB_CONFIGVALUE 0U Index: firmware/source/etpwm.c =================================================================== diff -u -r2496e9225fa1b2c627d625def02515a0f0dd5793 -re66245baae86e539e8470aa9739a99a2146d5f17 --- firmware/source/etpwm.c (.../etpwm.c) (revision 2496e9225fa1b2c627d625def02515a0f0dd5793) +++ firmware/source/etpwm.c (.../etpwm.c) (revision e66245baae86e539e8470aa9739a99a2146d5f17) @@ -82,7 +82,7 @@ etpwmREG1->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG1->TBPRD = 10333U; + etpwmREG1->TBPRD = 6888U; /** - Setup the duty cycle for PWMA */ etpwmREG1->CMPA = 0U;