Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -rc12bff518c0b58065eede15469ad8a2a6f6e317b -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision c12bff518c0b58065eede15469ad8a2a6f6e317b) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -36,8 +36,7 @@ #define TRIMMER_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE 5110U ///< Trimmer heater external temperature sensors reference resistance #define TRIMMER_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE 100U ///< Trimmer heater external temperature sensors zero degree resistance -#define PRIMARY_HEATER_INTERNAL_TEMP_SENSOR_CONVERSION_COEFF 0.25 ///< Primary heater internal temperature sensor conversion coefficient -#define TRIMMER_HEATER_INTERNAL_TEMP_SENSOR_CONVERSION_COEFF 0.25 ///< Trimmer heater internal temperature sensor conversion coefficient +#define HEATERS_INTERNAL_ADC_TO_TEMP_CONVERSION_COEFF 0.0625 ///< Heaters internal temperature sensors ADC to temperature conversion coefficient #define TEMP_SENSORS_ADC_BITS 24U ///< External temperature sensors ADC bits #define TEMP_SENSORS_ADC_MAX_COUNT (pow(2,TEMP_SENSORS_ADC_BITS)) ///< Temperature sensors max ADC count @@ -56,13 +55,23 @@ #define ADC_READ_REF_RESISTANCE_INDEX 1U ///< ADC array reference resistances index #define ADC_READ_0_DEG_RESISTANCE_INDEX 2U ///< ADC array zero degree resistance index +#define READ_AND_ERROR_PREV_FPGA_COUNT_INDEX 0U +#define READ_AND_ERROR_INTERNAL_READ_COUNT_INDEX 1U +#define READ_AND_ERROR_INTERNAL_ERROR_COUNT_INDEX 2U +#define READ_AND_ERROR_PREV_FPGA_ERROR_INDEX 3U +#define NUM_OF_READ_AND_ERROR_ARRAY_COLUMNS 4U + #define MAX_ALLOWED_TEMP_DELTA_BETWEEN_SENSORS 2U ///< Maximum allowed temperature delta between sensors #define NUM_OF_RUNNING_SUM_AND_INDEX_ARRAY_COLUMNS 2U ///< Number of columns in running sum and index array #define NUM_OF_TEMP_SENSORS_CONSTANTS_ARRAY_COLUMNS 3U ///< Number of columns in temperature sensors constants -#define MAX_ALLOWED_UNCHANGED_READS 4U ///< Maximum number of times that the read of a sensor cannot change +#define MAX_ALLOWED_UNCHANGED_ADC_READS 4U ///< Maximum number of times that the read of a sensor cannot change +#define EXTERNAL_TEMP_SENSORS_ERROR_VALUE 0x80 +#define HEATERS_INTERNAL_TEMP_SENSOR_FAULT 0x01 +#define MASK_OFF_U32_MSB 0x00FFFFFF + /// Temperature sensor self test states typedef enum tempSensors_Self_Test_States { @@ -94,7 +103,7 @@ U08 primaryHeaterReadCount; ///< Primary heater internal temperature sensor read count U08 trimmerHeaterFlags; ///< Trimmer heater internal temperature sensor error flags U08 trimmerHeaterReadCount; ///< Trimmer heater internal temperature sensor read count -} FPGA_READ_AND_ERROR_COUNTS_T; +} FPGA_READ_AND_ERROR_COUNTS_T; // TODO REmove static SELF_TEST_STATUS_T tempSensorsSelfTestResult; ///< Self test result of the TemperatureSensors module static TEMPSENSORS_SELF_TEST_STATES_T tempSensorsSelfTestState; ///< TemperatureSensor self test state @@ -106,8 +115,9 @@ [ NUM_OF_RUNNING_SUM_AND_INDEX_ARRAY_COLUMNS ]; static U32 tempSensorsConstants [ NUM_OF_TEMPERATURE_SENSORS ] ///< Temperature sensors constants [ NUM_OF_TEMP_SENSORS_CONSTANTS_ARRAY_COLUMNS ]; -static F32 avgADCReads [ NUM_OF_TEMPERATURE_SENSORS ]; ///< Temperature sensors averaged ADC values -static FPGA_READ_AND_ERROR_COUNTS_T FPGAReadAndErrorCounts; +static F32 avgADCReads [ NUM_OF_TEMPERATURE_SENSORS ]; //TODO remove ///< Temperature sensors averaged ADC values +static F32 temperatureValues [ NUM_OF_TEMPERATURE_SENSORS ]; +static U32 readAndErrorCounts [ NUM_OF_TEMPERATURE_SENSORS ] [ NUM_OF_READ_AND_ERROR_ARRAY_COLUMNS ]; // Private functions prototypes @@ -119,7 +129,7 @@ static TEMPSENSORS_EXEC_STATES_T handleExecGetADCValues ( void ); static F32 getADC2TempConversion ( F32 avgADC, U32 gain, U32 refResistance, U32 zeroDegResistance ); -static void processADCRead ( U32 sensorIndex, U32 adc ); +static void processADCRead ( U32 sensorIndex, U32 adc, U32 fpgaError, U32 fpgaCount ); // Public functions @@ -267,60 +277,42 @@ { case TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ]; break; case TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ]; break; case TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR ]; break; case TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ]; break; case TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR ]; break; case TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR: - temperature = getADC2TempConversion ( avgADCReads [ TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR ], - tempSensorsConstants [ TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], - tempSensorsConstants [ TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], - tempSensorsConstants [ TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + temperature = temperatureValues [ TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR ]; break; case TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR: - temperature = avgADCReads [ TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR ] * PRIMARY_HEATER_INTERNAL_TEMP_SENSOR_CONVERSION_COEFF; + temperature = temperatureValues [ TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR ]; break; case TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR: - temperature = avgADCReads [ TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR ] * TRIMMER_HEATER_INTERNAL_TEMP_SENSOR_CONVERSION_COEFF; + temperature = temperatureValues [ TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR ]; break; default: @@ -347,8 +339,6 @@ { //R(RTD) = R(ref) * (adc – 2^N-1) / (G *2^N-1); F32 resistance = (refResistance * (avgADC - pow(2,(TEMP_SENSORS_ADC_BITS - 1)))) / (gain * pow(2,(TEMP_SENSORS_ADC_BITS - 1))); - // TODO For testing in a separate workspace, loop through and do the equation, disable Irq and dont disable Fiq and enable Irq and get the mstimer() - // comment you initiProcessor in main. //T=(-A+√(A^2-4B(1-R_T/R_0 )))/2B F32 secondSqrtPart = 4 * TEMP_EQUATION_COEFF_B * (1 - (resistance / zeroDegResistance)); F32 temperature = (-TEMP_EQUATION_COEFF_A + sqrt(pow(TEMP_EQUATION_COEFF_A, 2) - secondSqrtPart)) / (2 * TEMP_EQUATION_COEFF_B); @@ -366,32 +356,137 @@ * @param none * @return none *************************************************************************/ -static void processADCRead ( U32 sensorIndex, U32 adc ) +static void processADCRead (U32 sensorIndex, U32 adc, U32 fpgaError, U32 fpgaCount ) { - // Update the values in the folders - U32 index = runningSumAndIndex [ sensorIndex ] [ ADC_READ_NEXT_INDEX_INDEX ]; - U32 runningSum = runningSumAndIndex [ sensorIndex ] [ ADC_READ_RUNNING_SUM_INDEX ]; - U32 indexValue = rawADCReads [ sensorIndex ] [ index ]; - U32 nextIndex = INC_WRAP( index, ADC_READ_FIRST_READ_INDEX, MAX_NUM_OF_RAW_ADC_SAMPLES - 1 ); - runningSum = runningSum - indexValue + adc; + U32 error; + U32 heatersInternalTemperature; + BOOL isADCValid = FALSE; + F32 temperature; - rawADCReads [ sensorIndex ] [ index ] = adc; - runningSumAndIndex [ sensorIndex ] [ ADC_READ_NEXT_INDEX_INDEX ] = nextIndex; - runningSumAndIndex [ sensorIndex ] [ ADC_READ_RUNNING_SUM_INDEX ] = runningSum; - // If the buffer array is being filled for the first time, the number of samples - // are changing. When the array is filled up completely, max number of samples are used - if ( sampleCount < MAX_NUM_OF_RAW_ADC_SAMPLES ) + // TODO For testing only. REMOVE + /*temperature = getADC2TempConversion ( adc, + tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_GAIN_INDEX ], + tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_REF_RESISTANCE_INDEX ], + tempSensorsConstants [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] );*/ + // TODO for testing only. REMOVE + + /* + * check if the index is not the heaters + * Mask the values accordingly + * if error is 0x80 for the external sensors, increment + * if count has not changed, update the previous count, increment the internal error count + * if the internal error count is above the threshold, set alarm, set the bool avGCalc to false + * if count is greater than previous, update the previous and reset the internal count + * set the avgCalc to true + * if the avgCalc in true, calculate all the steps and immediately convert to temperature + */ + if ( sensorIndex != TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR || sensorIndex != TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR ) { - sampleCount++; + error = adc & MASK_OFF_U32_MSB; + /* + * what if the fpga channel error is not zero? + * what if the fpga channel error is zero but the individual is not? + */ + + if ( fpgaError != 0 ) + { + if ( error == EXTERNAL_TEMP_SENSORS_ERROR_VALUE ) + { + // TODO: alarm? + } + isADCValid = FALSE; + } + if ( error == EXTERNAL_TEMP_SENSORS_ERROR_VALUE ) + { + //tODO: FILL UP + isADCValid = FALSE; + } } else { - sampleCount = MAX_NUM_OF_RAW_ADC_SAMPLES; + // Fault state is the 17th bit + U32 fault = adc & MASK_OFF_LSW; + fault = fault & 0x0001; + + if ( fault == HEATERS_INTERNAL_TEMP_SENSOR_FAULT ) + { + // Fault alarm? or have a threshold? + // If the fault is 1, should we check the individuals? + } + + // Mask off the thermocouple section + heatersInternalTemperature = adc & MASK_OFF_MSW; + heatersInternalTemperature = heatersInternalTemperature & MASK_OFF_NIBBLE_LSB; } - // Calculate average - avgADCReads [ sensorIndex ] = runningSum / sampleCount; + + U32 previousReadCount = readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_PREV_FPGA_COUNT_INDEX ]; + if ( fpgaCount == previousReadCount ) + { + U32 internalErrorCount = readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_INTERNAL_ERROR_COUNT_INDEX ]; + if ( internalErrorCount > MAX_ALLOWED_UNCHANGED_ADC_READS ) + { + // TODO alarm + } + else + { + readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_PREV_FPGA_COUNT_INDEX ] = fpgaCount; + readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_INTERNAL_ERROR_COUNT_INDEX ] = internalErrorCount++; + } + isADCValid = FALSE; + } + else if ( fpgaCount > previousReadCount ) + { + readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_PREV_FPGA_COUNT_INDEX ] = fpgaCount; + readAndErrorCounts [ sensorIndex ] [ READ_AND_ERROR_INTERNAL_ERROR_COUNT_INDEX ] = 0; + isADCValid = TRUE; + } + + if ( isADCValid ) + { + // Update the values in the folders + U32 index = runningSumAndIndex [ sensorIndex ] [ ADC_READ_NEXT_INDEX_INDEX ]; + U32 runningSum = runningSumAndIndex [ sensorIndex ] [ ADC_READ_RUNNING_SUM_INDEX ]; + U32 indexValue = rawADCReads [ sensorIndex ] [ index ]; + U32 nextIndex = INC_WRAP( index, ADC_READ_FIRST_READ_INDEX, MAX_NUM_OF_RAW_ADC_SAMPLES - 1 ); + runningSum = runningSum - indexValue + adc; + + rawADCReads [ sensorIndex ] [ index ] = adc; + runningSumAndIndex [ sensorIndex ] [ ADC_READ_NEXT_INDEX_INDEX ] = nextIndex; + runningSumAndIndex [ sensorIndex ] [ ADC_READ_RUNNING_SUM_INDEX ] = runningSum; + + // If the buffer array is being filled for the first time, the number of samples + // are changing. When the array is filled up completely, max number of samples are used + if ( sampleCount < MAX_NUM_OF_RAW_ADC_SAMPLES ) + { + sampleCount++; + } + else + { + sampleCount = MAX_NUM_OF_RAW_ADC_SAMPLES; + } + // Calculate average + F32 avgADCReads = runningSum / sampleCount; + + // The external temperature sensors have gain and other parameters for temperature + // calculations. The heaters internal temperature sensors do not have any parameters + // this is used to decide whether to call the quadratic equation or not + if ( tempSensorsConstants [ sensorIndex ] [ ADC_READ_GAIN_INDEX ] != 0 ) + { + temperature = getADC2TempConversion ( avgADCReads, + tempSensorsConstants [ sensorIndex ] [ ADC_READ_GAIN_INDEX ], + tempSensorsConstants [ sensorIndex ] [ ADC_READ_REF_RESISTANCE_INDEX ], + tempSensorsConstants [ sensorIndex ] [ ADC_READ_0_DEG_RESISTANCE_INDEX ] ); + } + else + { + temperature = avgADCReads * HEATERS_INTERNAL_ADC_TO_TEMP_CONVERSION_COEFF; + } + + temperatureValues [ sensorIndex ] = temperature; + } } + /************************************************************************* * @brief handleSelfTestStart * The handleSelfTestStart function waits for the ADC read array to be @@ -515,14 +610,14 @@ // Look at the error counter and the specific error flag to make sure the error is a temp sensor // Add a byte array to have bits for each sensor to find out exactly what sensor failed - /*processADCRead( TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPiTemp() ); - processADCRead( TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPoTemp() ); - processADCRead( TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR, getFPGACD1Temp() ); - processADCRead( TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR, getFPGACD2Temp() ); - processADCRead( TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR, getFPGATHDoTemp() ); - processADCRead( TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR, getFPGATDiTemp() ); - processADCRead( TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR, getFPGAPrimaryHeaterTemp() ); - processADCRead( TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR, getFPGATrimmerHeaterTemp() );*/ + //processADCRead( TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPiTemp() ); + //processADCRead( TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPoTemp() ); + //processADCRead( TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR, getFPGACD1Temp() ); + //processADCRead( TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR, getFPGACD2Temp() ); + //processADCRead( TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR, getFPGATHDoTemp() ); + //processADCRead( TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR, getFPGATDiTemp() ); + //processADCRead( TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP_SENSOR, getFPGAPrimaryHeaterTemp() ); + //processADCRead( TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP_SESNOR, getFPGATrimmerHeaterTemp() ); // TODO REMOVE THIS CODE. FOR TESTING ONLY /*U32 i; @@ -540,7 +635,7 @@ adc = adc + 150; } U32 elapsedTime = calcTimeSince( testTimer ); - _enable_IRQ();*/ + _enable_IRQ(); U08 dara; @@ -558,7 +653,7 @@ for ( dara = 0; dara<20; dara++) { processADCRead(0, test2[dara]); - } + }*/ // TODO REMOVE THE ABOVE CODE return state; Index: firmware/App/DGCommon.h =================================================================== diff -u -r3982a398c9c14a8f7688656b60055d4010328456 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 3982a398c9c14a8f7688656b60055d4010328456) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -28,7 +28,7 @@ // ********** build switches ********** #ifndef _VECTORCAST_ - #define RM46_EVAL_BOARD_TARGET 1 +// #define RM46_EVAL_BOARD_TARGET 1 // #define SIMULATE_UI 1 #ifdef DEBUG_ENABLED Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r3982a398c9c14a8f7688656b60055d4010328456 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 3982a398c9c14a8f7688656b60055d4010328456) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -95,7 +95,7 @@ case POST_STATE_START: postState = POST_STATE_FPGA; // FOR TESTING REMOVE - postState = POST_STATE_TEMPERATURE_SENSORS; + //postState = POST_STATE_TEMPERATURE_SENSORS; break; case POST_STATE_FPGA: @@ -104,8 +104,8 @@ break; case POST_STATE_TEMPERATURE_SENSORS: - testStatus = execTemperatureSensorsSelfTest(); - postState = handlePOSTStatus( testStatus ); + //testStatus = execTemperatureSensorsSelfTest(); + //postState = handlePOSTStatus( testStatus ); break; case POST_STATE_WATCHDOG: Index: firmware/App/Services/FPGA.c =================================================================== diff -u -rc12bff518c0b58065eede15469ad8a2a6f6e317b -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision c12bff518c0b58065eede15469ad8a2a6f6e317b) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -144,12 +144,12 @@ U16 fpgaValveStates; U08 fpgaID; U08 fpgaRev; - U08 fpgaADC1Control; - U08 fpgaDiag; - U08 fpgaADC2Control; - U08 fpgaRTDControl; - U08 fpgaTHDoControl; - U08 fpgaTDiControl; + //U08 fpgaADC1Control; + //U08 fpgaDiag; + //U08 fpgaADC2Control; + //U08 fpgaRTDControl; + //U08 fpgaTHDoControl; + //U08 fpgaTDiControl; } FPGA_ACTUATORS_T; #pragma pack(pop) @@ -218,6 +218,7 @@ memset( &fpgaHeader, 0, sizeof(FPGA_HEADER_T) ); memset( &fpgaSensorReadings, 0, sizeof(DG_FPGA_SENSORS_T) ); memset( &fpgaActuatorSetPoints, 0, sizeof(FPGA_ACTUATORS_T) ); + fpgaActuatorSetPoints.fpgaValveStates = 0x015F; // TODO - temporary init per Blaine while testing - remove later. // initialize fpga comm buffers memset( &fpgaWriteCmdBuffer, 0, FPGA_WRITE_CMD_BUFFER_LEN ); @@ -1089,7 +1090,7 @@ *************************************************************************/ U32 getFPGATPiTemp( void ) { - return ( fpgaSensorReadings.fpgaTPiTemp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaTPiTemp; } /*********************************************************************//** @@ -1104,7 +1105,7 @@ *************************************************************************/ U32 getFPGATPoTemp( void ) { - return ( fpgaSensorReadings.fpgaTPoTemp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaTPoTemp; } /*********************************************************************//** @@ -1119,7 +1120,7 @@ *************************************************************************/ U32 getFPGACD1Temp( void ) { - return ( fpgaSensorReadings.fpgaCD1Temp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaCD1Temp; } /*********************************************************************//** @@ -1134,7 +1135,7 @@ *************************************************************************/ U32 getFPGACD2Temp( void ) { - return ( fpgaSensorReadings.fpgaCD2Temp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaCD2Temp; } /*********************************************************************//** @@ -1179,7 +1180,7 @@ *************************************************************************/ U32 getFPGATHDoTemp( void ) { - return ( fpgaSensorReadings.fpgaTHDoTemp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaTHDoTemp; } /*********************************************************************//** @@ -1223,7 +1224,7 @@ *************************************************************************/ U32 getFPGATDiTemp( void ) { - return ( fpgaSensorReadings.fpgaTDiTemp & MASK_OFF_U32_MSB ); + return fpgaSensorReadings.fpgaTDiTemp; } /*********************************************************************//** @@ -1296,7 +1297,7 @@ * @param none * @return Last primary heater internal temperature sensor read count *************************************************************************/ -U08 geetFPGAPrimaryHeaterReadCount( void ) +U08 getFPGAPrimaryHeaterReadCount( void ) { return fpgaSensorReadings.fpgaPrimaryHeaterReadCnt; } Index: firmware/App/Services/FPGA.h =================================================================== diff -u -rc12bff518c0b58065eede15469ad8a2a6f6e317b -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/App/Services/FPGA.h (.../FPGA.h) (revision c12bff518c0b58065eede15469ad8a2a6f6e317b) +++ firmware/App/Services/FPGA.h (.../FPGA.h) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -66,7 +66,7 @@ U16 getFPGAPrimaryHeaterTemp( void ); U08 getFPGAPrimaryHeaterFlags( void ); -U08 geetFPGAPrimaryHeaterReadCount( void ); +U08 getFPGAPrimaryHeaterReadCount( void ); U16 getFPGATrimmerHeaterTemp( void ); Index: firmware/DG.dil =================================================================== diff -u -r8638b207699a3a48e3657e838e24ae838369c867 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/DG.dil (.../DG.dil) (revision 8638b207699a3a48e3657e838e24ae838369c867) +++ firmware/DG.dil (.../DG.dil) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -1,4 +1,4 @@ -# RM46L852PGE 04/02/20 08:58:55 +# RM46L852PGE 04/16/20 12:41:08 # ARCH=RM46L852PGE # @@ -1769,8 +1769,8 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PHASE0.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGSRC.VALUE=TRG_DISABLED DRIVER.MIBSPI.VAR.MIBSPI1_PHASE1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_TG3_LENGTH.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DIR.VALUE=1 @@ -1820,7 +1820,7 @@ DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE0.VALUE=1003.252 DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGSRC.VALUE=TRG_DISABLED DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE1.VALUE=1003.252 -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=1003.252 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULL.VALUE=2 @@ -2089,7 +2089,7 @@ DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSNR.VALUE=CS_NONE DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DOUT.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN3.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_BASE_PORT.VALUE=0xFFF7F818 DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_MODE.VALUE=4 @@ -2264,7 +2264,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAYACTUAL.VALUE=0.000 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULL.VALUE=2 DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DIR.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_TG6_LENGTH.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_PARERRLVL.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTLVL.VALUE=0 @@ -2347,7 +2347,7 @@ DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULL.VALUE=2 DRIVER.MIBSPI.VAR.MIBSPI3_TXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DIR.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGEVT.VALUE=TRG_ALWAYS DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULDIS.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_TG5_USE_CS_ENCODE.VALUE=0 @@ -2472,8 +2472,8 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PSL.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI1_ENABLEHIGHZ.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGEVT.VALUE=TRG_ALWAYS DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY2.VALUE=0 @@ -2525,8 +2525,8 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PSL.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR2.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DIR.VALUE=0 @@ -7125,7 +7125,7 @@ DRIVER.PINMUX.VAR.MUX53_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX45_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX37_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION1.VALUE=1 DRIVER.PINMUX.VAR.MUX7_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.DMA_FIDXD_30.VALUE=0 DRIVER.PINMUX.VAR.DMA_FIDXD_22.VALUE=0 @@ -7141,7 +7141,7 @@ DRIVER.PINMUX.VAR.MUX42_CONFLICT.VALUE=0 DRIVER.PINMUX.VAR.MUX37_OPTION2.VALUE=0 DRIVER.PINMUX.VAR.MUX34_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.MUX29_OPTION2.VALUE=0 DRIVER.PINMUX.VAR.MUX26_CONFLICT.VALUE=0 DRIVER.PINMUX.VAR.MUX18_CONFLICT.VALUE=0 DRIVER.PINMUX.VAR.DMA_FIDXD_31.VALUE=0 @@ -7209,7 +7209,7 @@ DRIVER.PINMUX.VAR.DMA_INTLFSEN_12.VALUE=1 DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.MUX22_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.DMA_FIDXD_29.VALUE=0 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_25.VALUE=0 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_17.VALUE=0 @@ -7223,7 +7223,7 @@ DRIVER.PINMUX.VAR.DMA_INTBTCEN_10.VALUE=1 DRIVER.PINMUX.VAR.MUX30_OPTION2.VALUE=0 DRIVER.PINMUX.VAR.MUX22_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION2.VALUE=1 DRIVER.PINMUX.VAR.PIN_MUX_81_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_73_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_65_SELECT.VALUE=0 @@ -7544,7 +7544,7 @@ DRIVER.PINMUX.VAR.MUX79_CONFLICT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_40_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_32_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_24_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.PIN_MUX_24_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_16_SELECT.VALUE=3 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_27_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_ADDMW_24_VALUE.VALUE=0x0001 @@ -7746,7 +7746,7 @@ DRIVER.PINMUX.VAR.PIN_MUX_53_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_45_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_37_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_29_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.PIN_MUX_29_SELECT.VALUE=1 DRIVER.PINMUX.VAR.DMA_TTYPE_7_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.MUX20_OPTION3.VALUE=0 DRIVER.PINMUX.VAR.MUX12_OPTION3.VALUE=0 @@ -7757,7 +7757,7 @@ DRIVER.PINMUX.VAR.MUX100_CONFLICT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_30_SELECT.VALUE=0 DRIVER.PINMUX.VAR.PIN_MUX_22_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.PIN_MUX_14_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_14_SELECT.VALUE=2 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_31_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_23_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_ADDMW_20_VALUE.VALUE=0x0001 @@ -8185,7 +8185,7 @@ DRIVER.PINMUX.VAR.EMIF.VALUE=0 DRIVER.PINMUX.VAR.MUX41_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.MUX33_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX25_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX25_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX17_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX3_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_29.VALUE=0 @@ -8197,7 +8197,7 @@ DRIVER.PINMUX.VAR.ETPWM_TZ1.VALUE=ASYNC DRIVER.PINMUX.VAR.MUX41_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX33_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=1 DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=1 DRIVER.PINMUX.VAR.MUX3_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.DMA_ADDMR_30.VALUE=CONSTANT @@ -8299,7 +8299,7 @@ DRIVER.PINMUX.VAR.MUX10_OPTION2.VALUE=1 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_25_SELECT.VALUE=1 DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=1 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29_VALUE.VALUE=0x0001 @@ -8487,7 +8487,7 @@ DRIVER.PINMUX.VAR.DMA_TRIG_12.VALUE=HARDWARE_TRIGGER DRIVER.PINMUX.VAR.MUX40_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.MUX16_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX2_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.DMA_ADDMW_25.VALUE=CONSTANT @@ -8496,7 +8496,7 @@ DRIVER.PINMUX.VAR.DMA_TRIG_13.VALUE=HARDWARE_TRIGGER DRIVER.PINMUX.VAR.MUX40_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX32_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX24_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX16_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX2_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.DMA_ADDMW_26.VALUE=CONSTANT @@ -8856,7 +8856,7 @@ DRIVER.PINMUX.VAR.MUX99_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_21.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_13.VALUE=8BIT -DRIVER.PINMUX.VAR.PINMUX5.VALUE="PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_ETPWM3B" +DRIVER.PINMUX.VAR.PINMUX5.VALUE="PINMUX_PIN_25_ETPWM2B | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_ETPWM3B" DRIVER.PINMUX.VAR.MUX101_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_30.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_22.VALUE=8BIT @@ -8881,7 +8881,7 @@ DRIVER.PINMUX.VAR.DMA_EIDXS_12.VALUE=0 DRIVER.PINMUX.VAR.DMA_CHANNEL_2.VALUE=CHANNEL0 DRIVER.PINMUX.VAR.ALT_ADC_B.VALUE=0 -DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_PIN_39_SCITX | PINMUX_PIN_40_HET1_19 | PINMUX_PIN_41_HET1_15" +DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_MIBSPI1NCS_4" DRIVER.PINMUX.VAR.MUX101_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX84_OPTION0.VALUE=0 @@ -8892,7 +8892,7 @@ DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_EIDXS_13.VALUE=0 DRIVER.PINMUX.VAR.DMA_CHANNEL_3.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_PIN_54_HET1_31 | PINMUX_PIN_55_MIBSPI3NCS_0" +DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0" DRIVER.PINMUX.VAR.MUX92_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX84_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX76_OPTION1.VALUE=0 @@ -9440,7 +9440,7 @@ DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=250002.419 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=500004.839 DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_INVERT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 @@ -9509,7 +9509,7 @@ DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=250000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=500000 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME.VALUE=38.709 DRIVER.ETPWM.VAR.ETPWM5_OSHT_ACTUAL_WIDTH.VALUE=77.418 DRIVER.ETPWM.VAR.ETPWM4_DCBEVT1.VALUE=0x0000 @@ -9537,7 +9537,7 @@ DRIVER.ETPWM.VAR.ETPWM7_OSHT5.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM2_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=25833 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=51667 DRIVER.ETPWM.VAR.ETPWM2_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_OSHT6.VALUE=0x0000 @@ -9604,7 +9604,7 @@ DRIVER.ETPWM.VAR.ETPWM3_CBC5.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_CBC6.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=250002.419 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=500004.839 DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM2_BASE.VALUE=0xFCF78D00 DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY_NEW.VALUE=50.0 @@ -9636,7 +9636,7 @@ DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=25833 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=51667 DRIVER.ETPWM.VAR.ETPWM1_PWMB_COMPARE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM1_CLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD.VALUE=100.000 @@ -9752,7 +9752,7 @@ DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCB.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=250002.419 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=250000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=500000 DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_SOCB_PERIOD.VALUE=1 Index: firmware/include/etpwm.h =================================================================== diff -u -r8638b207699a3a48e3657e838e24ae838369c867 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/include/etpwm.h (.../etpwm.h) (revision 8638b207699a3a48e3657e838e24ae838369c867) +++ firmware/include/etpwm.h (.../etpwm.h) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -494,7 +494,7 @@ #define ETPWM2_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM2_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM2_TBPRD_CONFIGVALUE 25833U +#define ETPWM2_TBPRD_CONFIGVALUE 51667U #define ETPWM2_CMPCTL_CONFIGVALUE 0x00000000U #define ETPWM2_CMPA_CONFIGVALUE 0U #define ETPWM2_CMPB_CONFIGVALUE 0U Index: firmware/include/mibspi.h =================================================================== diff -u -ra90f03eb56aaa492908cd2e7417da79f405d67d4 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/include/mibspi.h (.../mibspi.h) (revision a90f03eb56aaa492908cd2e7417da79f405d67d4) +++ firmware/include/mibspi.h (.../mibspi.h) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -193,7 +193,7 @@ #define MIBSPI1_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 MIBSPI1_PCFUN_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 25U)) -#define MIBSPI1_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)1U << 5U) | (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)0U << 17U) | (uint32)((uint32)0U << 25U)) +#define MIBSPI1_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (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)0U << 17U) | (uint32)((uint32)0U << 25U)) #define MIBSPI1_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (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 << 25U)) #define MIBSPI1_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (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 << 25U)) #define MIBSPI1_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (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)1U << 17U) | (uint32)((uint32)1U << 25U)) @@ -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)0U << 17U) | (uint32)((uint32)0U << 18U) | (uint32)((uint32)0U << 19U) | (uint32)((uint32)0U << 25U) | (uint32)((uint32)0U << 26U) | (uint32)((uint32)0U << 27U)) +#define MIBSPI5_PCDIR_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)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)1U << 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 -r8638b207699a3a48e3657e838e24ae838369c867 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/source/etpwm.c (.../etpwm.c) (revision 8638b207699a3a48e3657e838e24ae838369c867) +++ firmware/source/etpwm.c (.../etpwm.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -177,7 +177,7 @@ etpwmREG2->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG2->TBPRD = 25833U; + etpwmREG2->TBPRD = 51667U; /** - Setup the duty cycle for PWMA */ etpwmREG2->CMPA = 0U; Index: firmware/source/mibspi.c =================================================================== diff -u -ra90f03eb56aaa492908cd2e7417da79f405d67d4 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/source/mibspi.c (.../mibspi.c) (revision a90f03eb56aaa492908cd2e7417da79f405d67d4) +++ firmware/source/mibspi.c (.../mibspi.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -475,9 +475,9 @@ /** - MIBSPI1 Port direction */ mibspiREG1->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ | (uint32)((uint32)1U << 5U) /* SCS[5] */ | (uint32)((uint32)0U << 8U) /* ENA */ | (uint32)((uint32)1U << 9U) /* CLK */ @@ -1436,7 +1436,7 @@ | (uint32)((uint32)1U << 1U) /* SCS[1] */ | (uint32)((uint32)1U << 2U) /* SCS[2] */ | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)0U << 8U) /* ENA */ | (uint32)((uint32)1U << 9U) /* CLK */ | (uint32)((uint32)1U << 10U) /* SIMO[0] */ | (uint32)((uint32)1U << 11U) /* SOMI[0] */ @@ -1496,20 +1496,20 @@ | (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] */ | (uint32)((uint32)0U << 8U) /* ENA */ | (uint32)((uint32)0U << 9U) /* CLK */ | (uint32)((uint32)0U << 10U) /* SIMO[0] */ | (uint32)((uint32)0U << 11U) /* SOMI[0] */ - | (uint32)((uint32)1U << 17U) /* SIMO[1] */ - | (uint32)((uint32)1U << 18U) /* SIMO[2] */ - | (uint32)((uint32)1U << 19U) /* SIMO[3] */ - | (uint32)((uint32)1U << 25U) /* SOMI[1] */ - | (uint32)((uint32)1U << 26U) /* SOMI[2] */ - | (uint32)((uint32)1U << 27U); /* SOMI[3] */ + | (uint32)((uint32)0U << 17U) /* SIMO[1] */ + | (uint32)((uint32)0U << 18U) /* SIMO[2] */ + | (uint32)((uint32)0U << 19U) /* SIMO[3] */ + | (uint32)((uint32)0U << 25U) /* SOMI[1] */ + | (uint32)((uint32)0U << 26U) /* SOMI[2] */ + | (uint32)((uint32)0U << 27U); /* SOMI[3] */ /** - Finally start MIBSPI5 */ mibspiREG5->GCR1 = (mibspiREG5->GCR1 & 0xFEFFFFFFU) | 0x01000000U; Index: firmware/source/pinmux.c =================================================================== diff -u -r6d2d8f0267c57135554e5a1acaca9aef37f27949 -re7f256098e5c23cc621af73b17160a247d40559c --- firmware/source/pinmux.c (.../pinmux.c) (revision 6d2d8f0267c57135554e5a1acaca9aef37f27949) +++ firmware/source/pinmux.c (.../pinmux.c) (revision e7f256098e5c23cc621af73b17160a247d40559c) @@ -178,15 +178,15 @@ pinMuxReg->PINMMR4 = PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03; - pinMuxReg->PINMMR5 = PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_ETPWM3B; + pinMuxReg->PINMMR5 = PINMUX_PIN_25_ETPWM2B | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_ETPWM3B; pinMuxReg->PINMMR6 = PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_ETPWM7A; pinMuxReg->PINMMR7 = PINMUX_PIN_37_MIBSPI3NCS_1 | PINMUX_PIN_38_SCIRX; - pinMuxReg->PINMMR8 = PINMUX_PIN_39_SCITX | PINMUX_PIN_40_HET1_19 | PINMUX_PIN_41_HET1_15; + pinMuxReg->PINMMR8 = PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_MIBSPI1NCS_4; - pinMuxReg->PINMMR9 = ((~(pinMuxReg->PINMMR9 >> 18U) & 0x00000001U ) << 18U) | PINMUX_PIN_54_HET1_31 | PINMUX_PIN_55_MIBSPI3NCS_0; + pinMuxReg->PINMMR9 = ((~(pinMuxReg->PINMMR9 >> 18U) & 0x00000001U ) << 18U) | PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0; pinMuxReg->PINMMR10 = PINMUX_PIN_86_AD1EVT;