Index: firmware/App/Common.h =================================================================== diff -u -rd71d1e6c2be627158cac9a8bc56adac7cdefd1c8 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Common.h (.../Common.h) (revision d71d1e6c2be627158cac9a8bc56adac7cdefd1c8) +++ firmware/App/Common.h (.../Common.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -86,12 +86,16 @@ #define SHIFT_16_BITS_FOR_WORD_SHIFT 16 #define FLOAT_TO_INT_ROUNDUP_OFFSET 0.5 #define ML_PER_LITER 1000 +#define MS_PER_SECOND 1000 +#define SEC_PER_MIN 60 // **** Common Macros **** +#define FLOAT_TO_INT_WITH_ROUND(f) ((f) < 0.0 ? (S32)((f) - FLOAT_TO_INT_ROUNDUP_OFFSET) : (S32)((f) + FLOAT_TO_INT_ROUNDUP_OFFSET)) #define CAP(v, u) ((v) > (u) ? (u) : (v)) #define RANGE(v, l, u) ((v) > (u) ? (u) : ((v) < (l) ? (l) : (v))) #define INC_WRAP(v, l, u) ((v) == (u) ? (l) : ((v) + 1)) +#define INC_CAP(v, u) ((v) == (u) ? (u) : ((v) + 1)) #define MAX(a, b) ((a) < (b) ? (b) : (a)) #define MIN(a, b) ((a) > (b) ? (b) : (a)) #define GET_LSB_OF_WORD(w) ((U08)((w) & MASK_OFF_MSB)) Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rd71d1e6c2be627158cac9a8bc56adac7cdefd1c8 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision d71d1e6c2be627158cac9a8bc56adac7cdefd1c8) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -33,15 +33,16 @@ // ********** private definitions ********** -#define BLOOD_FLOW_DATA_PUB_INTERVAL (1000 / TASK_PRIORITY_INTERVAL) // interval (ms/task time) at which the blood flow data is published on the CAN bus +#define BLOOD_FLOW_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) // interval (ms/task time) at which the blood flow data is published on the CAN bus -#define MAX_BLOOD_FLOW_RATE 600 // mL/min +#define MAX_BLOOD_FLOW_RATE 500 // mL/min +#define MIN_BLOOD_FLOW_RATE 100 // mL/min #define MAX_BLOOD_PUMP_PWM_STEP_CHANGE 0.02 // duty cycle TODO - fixed or parameterized or set in motor controller? #define MAX_BLOOD_PUMP_PWM_DUTY_CYCLE 0.88 // controller will error if PWM duty cycle > 90%, so set max to 88% #define MIN_BLOOD_PUMP_PWM_DUTY_CYCLE 0.12 // controller will error if PWM duty cycle < 10%, so set min to 12% -#define BP_CONTROL_INTERVAL (500 / TASK_GENERAL_INTERVAL) // interval (ms/task time) at which the blood pump is controlled +#define BP_CONTROL_INTERVAL ( 500 / TASK_GENERAL_INTERVAL ) // interval (ms/task time) at which the blood pump is controlled #define BP_P_COEFFICIENT 0.0002 // P term for blood pump control #define BP_I_COEFFICIENT 0.00002 // I term for blood pump control #define BP_MAX_ERROR_SUM 10.0 // for anti-wind-up in I term @@ -57,17 +58,20 @@ #define BP_SPEED_ADC_TO_RPM_FACTOR 1.375 // conversion factor from ADC counts to RPM for blood pump motor #define BP_CURRENT_ADC_TO_MA_FACTOR 2.65 // conversion factor from ADC counts to mA for blood pump motor -#define BP_ML_PER_MIN_TO_PUMP_RPM_FACTOR (124.0 / ML_PER_LITER)// 124 pump revolutions = 1 liter or 1,000 mL +#define BP_REV_PER_LITER 124.0 // rotor revolutions per liter +#define BP_ML_PER_MIN_TO_PUMP_RPM_FACTOR ( BP_REV_PER_LITER / ML_PER_LITER ) #define BP_GEAR_RATIO 32.0 // blood pump motor to blood pump gear ratio -#define BP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.0003125 // ~32 BP motor RPM = 1% PWM duty cycle +#define BP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.0003717 // ~27 BP motor RPM = 1% PWM duty cycle #define BP_PWM_ZERO_OFFSET 0.1 // 10% PWM duty cycle = zero speed -#define BP_PWM_FROM_ML_PER_MIN(rate) ((rate) * BP_ML_PER_MIN_TO_PUMP_RPM_FACTOR * BP_GEAR_RATIO * BP_MOTOR_RPM_TO_PWM_DC_FACTOR + BP_PWM_ZERO_OFFSET) +#define BP_PWM_FROM_ML_PER_MIN(rate) ( (rate) * BP_ML_PER_MIN_TO_PUMP_RPM_FACTOR * BP_GEAR_RATIO * BP_MOTOR_RPM_TO_PWM_DC_FACTOR + BP_PWM_ZERO_OFFSET ) #define BLOODPUMP_ADC_FULL_SCALE_V 3.0 // BP analog signals are 0-3V (while int. ADC ref V is 3.3V) -#define BLOODPUMP_ADC_MID_PT_BITS ((F32)(INT_ADC_FULL_SCALE_BITS >> 1) * (BLOODPUMP_ADC_FULL_SCALE_V / INT_ADC_REF_V)) -#define SIGN_FROM_12_BIT_VALUE(v) ((S16)(v) - (S16)BLOODPUMP_ADC_MID_PT_BITS) +#define BLOODPUMP_ADC_MID_PT_BITS ( (F32)( INT_ADC_FULL_SCALE_BITS >> 1 ) * ( BLOODPUMP_ADC_FULL_SCALE_V / INT_ADC_REF_V ) ) +#define SIGN_FROM_12_BIT_VALUE(v) ( (S16)(v) - (S16)BLOODPUMP_ADC_MID_PT_BITS ) -#define SIZE_OF_ROLLING_AVG 100 // flow samples in rolling average calculations +#define BLOOD_FLOW_SAMPLE_FREQ ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) +#define SIZE_OF_ROLLING_AVG (U32)( (F32)BLOOD_FLOW_SAMPLE_FREQ * 0.8 ) // measured blood flow is filtered w/ moving average +#define MAX_FLOW_FILTER_INTERVAL 5 // slowest sample interval for filter is every 5th sample typedef enum BloodPump_States { @@ -120,6 +124,8 @@ static F32 flowReadings[ SIZE_OF_ROLLING_AVG ]; // holds flow samples for a rolling average static U32 flowReadingsIdx = 0; // index for next sample in rolling average array static F32 flowReadingsTotal = 0.0; // rolling total - used to calc average +static U32 flowReadingsCount = 0; // # of samples in flow rolling average buffer +static U32 flowReadingsTmrCtr = 0; // determines when to add samples to filter static U32 bpCurrErrorDurationCtr = 0; // used for tracking persistence of bp current errors @@ -136,6 +142,8 @@ static void releaseBloodPumpStop( void ); static void setBloodPumpDirection( MOTOR_DIR_T dir ); static void publishBloodFlowData( void ); +static void resetBloodFlowMovingAverage( void ); +static void filterBloodFlowReadings( F32 flow ); static void checkBloodPumpDirection( void ); static void checkBloodPumpMCCurrent( void ); static DATA_GET_PROTOTYPE( U32, getPublishBloodFlowDataInterval ); @@ -151,16 +159,11 @@ *************************************************************************/ void initBloodFlow( void ) { - U32 i; - stopBloodPump(); setBloodPumpDirection( MOTOR_DIR_FORWARD ); // zero rolling flow average buffer - for ( i = 0; i < SIZE_OF_ROLLING_AVG; i++ ) - { - flowReadings[ i ] = 0.0; - } + resetBloodFlowMovingAverage(); } /************************************************************************* @@ -184,14 +187,14 @@ // verify flow rate if ( flowRate <= MAX_BLOOD_FLOW_RATE ) { + resetBloodFlowMovingAverage(); targetBloodFlowRate.data = ( dir == MOTOR_DIR_FORWARD ? (S32)flowRate : (S32)flowRate * -1 ); bloodPumpDirection = dir; // set PWM duty cycle target to an estimated initial target to ramp to based on target flow rate - then we'll control to flow when ramp completed bloodPumpPWMDutyCyclePct = BP_PWM_FROM_ML_PER_MIN((F32)flowRate); // ~ 8% per 100 mL/min with a 10% zero offset added in (e.g. 100 mL/min = 8+10 = 18%) // reset flow control stats bpFlowError = 0.0; bpFlowErrorSum = 0.0; - bpControlTimerCounter = 0; switch ( bloodPumpState ) { @@ -233,11 +236,31 @@ } /************************************************************************* + * @brief signalBloodPumpHardStop + * The signalBloodPumpHardStop function stops the blood pump immediately. + * @details + * Inputs : none + * Outputs : Blood pump stopped, set point reset, state changed to off + * @param none + * @return none + *************************************************************************/ +void signalBloodPumpHardStop( void ) +{ + targetBloodFlowRate.data = 0; + stopBloodPump(); + bloodPumpState = BLOOD_PUMP_OFF_STATE; + bloodPumpPWMDutyCyclePct = 0.0; + bpFlowError = 0.0; + bpFlowErrorSum = 0.0; + bpControlTimerCounter = 0; +} + +/************************************************************************* * @brief execBloodFlowMonitor * The execBloodFlowMonitor function executes the blood flow monitor. * @details * Inputs : none - * Outputs : none + * Outputs : measuredBloodFlowRate, adcBloodPumpMCSpeedRPM, adcBloodPumpMCCurrentmA * @param none * @return none *************************************************************************/ @@ -250,11 +273,7 @@ adcBloodPumpMCSpeedRPM.data = (F32)(SIGN_FROM_12_BIT_VALUE(bpRPM)) * BP_SPEED_ADC_TO_RPM_FACTOR; adcBloodPumpMCCurrentmA.data = (F32)(SIGN_FROM_12_BIT_VALUE(bpmA)) * BP_CURRENT_ADC_TO_MA_FACTOR; - flowReadingsTotal -= flowReadings[ flowReadingsIdx ]; - flowReadings[ flowReadingsIdx ] = bpFlow; - flowReadingsTotal += bpFlow; - flowReadingsIdx = INC_WRAP( flowReadingsIdx, 0, SIZE_OF_ROLLING_AVG-1 ); - measuredBloodFlowRate.data = flowReadingsTotal / (F32)SIZE_OF_ROLLING_AVG; + filterBloodFlowReadings( bpFlow ); // don't start enforcing checks until out of init/POST mode if ( getCurrentOperationMode() != MODE_INIT ) @@ -321,7 +340,7 @@ { // set initial PWM duty cycle bloodPumpPWMDutyCyclePctSet = MAX_BLOOD_PUMP_PWM_STEP_CHANGE; - etpwmSetCmpA( etpwmREG1, (U32)( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ); + etpwmSetCmpA( etpwmREG1, (U32)FLOAT_TO_INT_WITH_ROUND( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) ) ); // allow blood pump to run in requested direction setBloodPumpDirection( bloodPumpDirection ); releaseBloodPumpStop(); @@ -353,19 +372,20 @@ { // start ramp down to stop bloodPumpPWMDutyCyclePctSet -= MAX_BLOOD_PUMP_PWM_STEP_CHANGE; - etpwmSetCmpA( etpwmREG1, (U32)( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ); + etpwmSetCmpA( etpwmREG1, (U32)FLOAT_TO_INT_WITH_ROUND( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) ) ); result = BLOOD_PUMP_RAMPING_DOWN_STATE; } // have we reached end of ramp up? else if ( bloodPumpPWMDutyCyclePctSet >= bloodPumpPWMDutyCyclePct ) { + resetBloodFlowMovingAverage(); result = BLOOD_PUMP_CONTROL_TO_TARGET_STATE; } // continue ramp up else { bloodPumpPWMDutyCyclePctSet += MAX_BLOOD_PUMP_PWM_STEP_CHANGE; - etpwmSetCmpA( etpwmREG1, (U32)( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ); + etpwmSetCmpA( etpwmREG1, (U32)FLOAT_TO_INT_WITH_ROUND( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) ) ); } return result; @@ -394,13 +414,14 @@ // have we reached end of ramp down? else if ( bloodPumpPWMDutyCyclePctSet <= bloodPumpPWMDutyCyclePct ) { + resetBloodFlowMovingAverage(); result = BLOOD_PUMP_CONTROL_TO_TARGET_STATE; } // continue ramp down else { bloodPumpPWMDutyCyclePctSet -= MAX_BLOOD_PUMP_PWM_STEP_CHANGE; - etpwmSetCmpA( etpwmREG1, (U32)( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ); + etpwmSetCmpA( etpwmREG1, (U32)FLOAT_TO_INT_WITH_ROUND( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) ) ); } return result; @@ -446,7 +467,7 @@ newPWM = bloodPumpPWMDutyCyclePctSet + pTerm + iTerm; newPWM = RANGE( newPWM, MIN_BLOOD_PUMP_PWM_DUTY_CYCLE, MAX_BLOOD_PUMP_PWM_DUTY_CYCLE ); bloodPumpPWMDutyCyclePctSet = newPWM; - etpwmSetCmpA( etpwmREG1, (U32)( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) + FLOAT_TO_INT_ROUNDUP_OFFSET ) ); + etpwmSetCmpA( etpwmREG1, (U32)FLOAT_TO_INT_WITH_ROUND( bloodPumpPWMDutyCyclePctSet * (F32)(etpwmREG1->TBPRD) ) ); bpControlTimerCounter = 0; } @@ -636,6 +657,98 @@ } /************************************************************************* + * @brief resetBloodFlowMovingAverage + * The resetBloodFlowMovingAverage function re-sizes and re-initializes the \n + * blood flow moving average sample buffer. + * @details + * Inputs : none + * Outputs : flowReadingsTotal, flowReadingsIdx, flowReadingsCount all set to zero. + * @param initFlow : the new blood flow set pt. + * @param flowDir : the new set direction + * @return none + *************************************************************************/ +static void resetBloodFlowMovingAverage( void ) +{ + flowReadingsTotal = 0.0; + flowReadingsIdx = 0; + flowReadingsCount = 0; + bpControlTimerCounter = 0; +} + +/************************************************************************* + * @brief filterBloodFlowReadings + * The filterBloodFlowReadings function adds a new flow sample to the filter \n + * if decimation rate for current set point calls for it. + * @details + * Inputs : none + * Outputs : flowReadings[], flowReadingsIdx, flowReadingsCount + * @param flow : newest blood flow sample + * @return none + *************************************************************************/ +static void filterBloodFlowReadings( F32 flow ) +{ + BOOL addSampleToFilter = FALSE; + + if ( ( targetBloodFlowRate.data < MIN_BLOOD_FLOW_RATE ) || ( targetBloodFlowRate.data >= MAX_BLOOD_FLOW_RATE ) ) + { + addSampleToFilter = TRUE; + } + else + { + switch ( flowReadingsTmrCtr ) + { + case 0: + addSampleToFilter = TRUE; + break; + + case 1: + addSampleToFilter = FALSE; + break; + + case 2: + if ( targetBloodFlowRate.data >= 400 ) + { + addSampleToFilter = TRUE; + } + break; + + case 3: + if ( targetBloodFlowRate.data >= 200 ) + { + addSampleToFilter = TRUE; + } + break; + + case 4: + if ( targetBloodFlowRate.data >= 300 ) + { + addSampleToFilter = TRUE; + } + break; + + default: + // TODO - s/w fault? + break; + } + } + + if ( TRUE == addSampleToFilter ) + { + if ( flowReadingsCount >= SIZE_OF_ROLLING_AVG ) + { + flowReadingsTotal -= flowReadings[ flowReadingsIdx ]; + } + flowReadings[ flowReadingsIdx ] = flow; + flowReadingsTotal += flow; + flowReadingsIdx = INC_WRAP( flowReadingsIdx, 0, SIZE_OF_ROLLING_AVG - 1 ); + flowReadingsCount = INC_CAP( flowReadingsCount, SIZE_OF_ROLLING_AVG ); + measuredBloodFlowRate.data = flowReadingsTotal / (F32)flowReadingsCount; + } + + flowReadingsTmrCtr = INC_WRAP( flowReadingsTmrCtr, 0, MAX_FLOW_FILTER_INTERVAL - 1 ); +} + +/************************************************************************* * @brief checkBloodPumpDirection * The checkBloodPumpDirection function checks the set direction vs. \n * the direction implied by the sign of the measured MC speed. Index: firmware/App/Controllers/BloodFlow.h =================================================================== diff -u -r16efeb7b3a19e02ae83a553a77f01a3550ff7850 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 16efeb7b3a19e02ae83a553a77f01a3550ff7850) +++ firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -29,6 +29,7 @@ void execBloodFlowController( void ); BOOL setBloodPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir ); +void signalBloodPumpHardStop( void ); SELF_TEST_STATUS_T execBloodFlowTest( void ); Index: firmware/App/Drivers/InternalADC.c =================================================================== diff -u -r1bbf9da32e622975efed00b1a7589387a9829440 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision 1bbf9da32e622975efed00b1a7589387a9829440) +++ firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -24,16 +24,16 @@ #define SIZE_OF_ROLLING_AVG 16 // samples in rolling average calculations #define ROLLING_AVG_SHIFT_DIVIDER 4 // rolling average shift divider -const INT_ADC_CHANNEL_T adcChannelNum2ChannelId[ MAX_ADC_CHANNELS + 1 ] = +const INT_ADC_CHANNEL_T adcChannelNum2ChannelId[ MAX_ADC_CHANNELS ] = { - INT_ADC_NOT_USED, // 0 (N/A - channels start at 1) + INT_ADC_DIAL_IN_PUMP_SPEED, // 0 INT_ADC_NOT_USED, // 1 INT_ADC_NOT_USED, // 2 INT_ADC_NOT_USED, // 3 INT_ADC_NOT_USED, // 4 INT_ADC_NOT_USED, // 5 INT_ADC_NOT_USED, // 6 - INT_ADC_NOT_USED, // 7 + INT_ADC_DIAL_IN_PUMP_MOTOR_CURRENT, // 7 INT_ADC_NOT_USED, // 8 INT_ADC_NOT_USED, // 9 INT_ADC_NOT_USED, // 10 @@ -44,13 +44,12 @@ INT_ADC_NOT_USED, // 15 INT_ADC_BLOOD_PUMP_SPEED, // 16 INT_ADC_BLOOD_PUMP_MOTOR_CURRENT, // 17 - INT_ADC_NOT_USED, // 18 - INT_ADC_NOT_USED, // 19 + INT_ADC_DIAL_OUT_PUMP_SPEED, // 18 + INT_ADC_DIAL_OUT_PUMP_MOTOR_CURRENT,// 19 INT_ADC_NOT_USED, // 20 INT_ADC_NOT_USED, // 21 INT_ADC_NOT_USED, // 22 - INT_ADC_NOT_USED, // 23 - INT_ADC_NOT_USED // 24 + INT_ADC_NOT_USED // 23 }; // ********** private data ********** Index: firmware/App/Drivers/InternalADC.h =================================================================== diff -u -r90f6438e80dbe0a32472a076a0d1bc54db65d15a -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision 90f6438e80dbe0a32472a076a0d1bc54db65d15a) +++ firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -30,6 +30,10 @@ INT_ADC_NOT_USED = 0, INT_ADC_BLOOD_PUMP_SPEED, INT_ADC_BLOOD_PUMP_MOTOR_CURRENT, + INT_ADC_DIAL_IN_PUMP_SPEED, + INT_ADC_DIAL_IN_PUMP_MOTOR_CURRENT, + INT_ADC_DIAL_OUT_PUMP_SPEED, + INT_ADC_DIAL_OUT_PUMP_MOTOR_CURRENT, NUM_OF_INT_ADC_CHANNELS } INT_ADC_CHANNEL_T; Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r197ee67d1cc0e0e3c80ccae58858dda09cad0834 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 197ee67d1cc0e0e3c80ccae58858dda09cad0834) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -221,7 +221,7 @@ // broadcast alarm and data if alarm not already active if ( FALSE == alarmIsActive[ alarm ].data ) { - broadcastAlarmTriggered( alarm, blankAlarmData, blankAlarmData ); + broadcastAlarmTriggered( (U16)alarm, blankAlarmData, blankAlarmData ); } activateAlarm( alarm ); } @@ -243,7 +243,7 @@ // broadcast alarm and data if alarm not already active if ( FALSE == alarmIsActive[ alarm ].data ) { - broadcastAlarmTriggered( alarm, alarmData, blankAlarmData ); + broadcastAlarmTriggered( (U16)alarm, alarmData, blankAlarmData ); } activateAlarm( alarm ); } @@ -266,7 +266,7 @@ // broadcast alarm and data if alarm not already active if ( FALSE == alarmIsActive[ alarm ].data ) { - broadcastAlarmTriggered( alarm, alarmData1, alarmData2 ); + broadcastAlarmTriggered( (U16)alarm, alarmData1, alarmData2 ); } activateAlarm( alarm ); } Index: firmware/App/Services/CommBuffers.c =================================================================== diff -u -r1bbf9da32e622975efed00b1a7589387a9829440 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Services/CommBuffers.c (.../CommBuffers.c) (revision 1bbf9da32e622975efed00b1a7589387a9829440) +++ firmware/App/Services/CommBuffers.c (.../CommBuffers.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -105,14 +105,14 @@ { U08 *buffPtr; // buffer destination for added data - // adjust buffer count per this data add (also reserves space to add data before releasing thread protection) - commBufferByteCount[ buffer ][ activeBuffer ] += len; - // release thread protection - _enable_IRQ(); // set destination pointer to end of active buffer data buffPtr = &commBuffers[ buffer ][ activeBuffer ][ currentActiveBufCount ]; // copy source data to destination buffer memcpy( buffPtr, data, len ); + // adjust buffer count per this data add (also reserves space to add data before releasing thread protection) + commBufferByteCount[ buffer ][ activeBuffer ] += len; + // release thread protection + _enable_IRQ(); // data successfully added to buffer result = TRUE; } Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rd71d1e6c2be627158cac9a8bc56adac7cdefd1c8 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision d71d1e6c2be627158cac9a8bc56adac7cdefd1c8) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -223,23 +223,13 @@ // if CAN transmitter is idle, start transmitting any pending packets if ( FALSE == isCAN1TransmitInProgress() ) { - U32 bytesXmitted = transmitNextCANPacket(); - - if ( bytesXmitted > 0 ) - { - signalCANXmitsInitiated(); - } + transmitNextCANPacket(); } // if UART transmitter is idle, start transmitting any pending packets if ( FALSE == isSCI1DMATransmitInProgress() ) { - U32 bytesXmitted = transmitNextUARTPacket(); - - if ( bytesXmitted > 0 ) - { - signalSCI1XmitsInitiated(); - } + transmitNextUARTPacket(); } } @@ -504,9 +494,18 @@ // if there's another CAN packet to send, send it if ( dataSize == CAN_MESSAGE_PAYLOAD_SIZE ) { - canTransmit( canREG1, mBox, data ); + signalCANXmitsInitiated(); + if ( canTransmit( canREG1, mBox, data ) == 0 ) + { + // TODO - shouldn't get here, but let's see if we do + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_SOFTWARE_FAULT, (U32)mBox ) + } result = CAN_MESSAGE_PAYLOAD_SIZE; } + else + { // TODO - shouldn't get here - just testing - set first data to new s/w fault enum later + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, (U32)buffer, (U32)dataSize ) + } } return result; @@ -535,6 +534,7 @@ // if there's another UART packet to send, send it if ( dataSize == PC_MESSAGE_PACKET_SIZE ) { + signalSCI1XmitsInitiated(); dmaSetCtrlPacket( DMA_CH3, pcDMAXmitControlRecord ); dmaSetChEnable( DMA_CH3, DMA_HW ); setSCI1DMATransmitInterrupt(); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rd71d1e6c2be627158cac9a8bc56adac7cdefd1c8 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d71d1e6c2be627158cac9a8bc56adac7cdefd1c8) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -193,7 +193,7 @@ payload.alarmsFlags |= ( almStatus.noEndTreatment ? BIT_BY_POS(6) : 0 ); payload.alarmsFlags |= ( almStatus.bypassDialyzer ? BIT_BY_POS(7) : 0 ); - memcpy( payloadPtr, &almStatus, sizeof( ALARM_COMP_STATUS_PAYLOAD_T ) ); + memcpy( payloadPtr, &payload, sizeof( ALARM_COMP_STATUS_PAYLOAD_T ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) msgSize = serializeMessage( msg, data ); @@ -216,7 +216,7 @@ * @param almData2 : 2nd data associated with alarm * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastAlarmTriggered( ALARM_ID_T alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ) +BOOL broadcastAlarmTriggered( U16 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ) { BOOL result; MESSAGE_T msg; @@ -227,10 +227,10 @@ // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_ALARM_TRIGGERED; - msg.hdr.payloadLen = sizeof( ALARM_ID_T ) + sizeof( ALARM_DATA_T ) + sizeof( ALARM_DATA_T ); + msg.hdr.payloadLen = sizeof( U16 ) + sizeof( ALARM_DATA_T ) + sizeof( ALARM_DATA_T ); - memcpy( payloadPtr, &alarm, sizeof( ALARM_ID_T ) ); - payloadPtr += sizeof( ALARM_ID_T ); + memcpy( payloadPtr, &alarm, sizeof( U16 ) ); + payloadPtr += sizeof( U16 ); memcpy( payloadPtr, &almData1, sizeof( ALARM_DATA_T ) ); payloadPtr += sizeof( ALARM_DATA_T ); memcpy( payloadPtr, &almData2, sizeof( ALARM_DATA_T ) ); @@ -254,7 +254,7 @@ * @param alarm : ID of alarm cleared * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastAlarmCleared( ALARM_ID_T alarm ) +BOOL broadcastAlarmCleared( U16 alarm ) { BOOL result; MESSAGE_T msg; @@ -265,9 +265,9 @@ // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_ALARM_CLEARED; - msg.hdr.payloadLen = sizeof( ALARM_ID_T ); + msg.hdr.payloadLen = sizeof( U16 ); - memcpy( payloadPtr, &alarm, sizeof( ALARM_ID_T ) ); + memcpy( payloadPtr, &alarm, sizeof( U16 ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) msgSize = serializeMessage( msg, data ); Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rd71d1e6c2be627158cac9a8bc56adac7cdefd1c8 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision d71d1e6c2be627158cac9a8bc56adac7cdefd1c8) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -64,9 +64,9 @@ // MSG_ID_ALARM_STATUS BOOL broadcastAlarmStatus( COMP_ALARM_STATUS_T almStatus ); // MSG_ID_ALARM_TRIGGERED -BOOL broadcastAlarmTriggered( ALARM_ID_T alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); +BOOL broadcastAlarmTriggered( U16 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); // MSG_ID_ALARM_CLEARED -BOOL broadcastAlarmCleared( ALARM_ID_T alarm ); +BOOL broadcastAlarmCleared( U16 alarm ); // MSG_ID_BLOOD_FLOW_DATA BOOL broadcastBloodFlowData( U32 flowStPt, F32 measFlow, F32 measRotorSpd, F32 measSpd, F32 measMCSpd, F32 measMCCurr ); Index: firmware/HD.dil =================================================================== diff -u -r31f710004436c030e787c895980457e08577702d -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/HD.dil (.../HD.dil) (revision 31f710004436c030e787c895980457e08577702d) +++ firmware/HD.dil (.../HD.dil) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -1,4 +1,4 @@ -# RM46L852PGE 12/11/19 17:53:30 +# RM46L852PGE 12/16/19 16:40:38 # ARCH=RM46L852PGE # @@ -1527,8 +1527,8 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT2_POL.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT6_ENA.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT2_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_DIR.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DOUT.VALUE=1 DRIVER.GIO.VAR.GIO_PORT0_BIT3_LVL.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT4_PDR.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT3_POL.VALUE=0 @@ -1554,7 +1554,7 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT7_PDR.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT6_POL.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT0_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PSL.VALUE=1 DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULL.VALUE=2 DRIVER.GIO.VAR.GIO_PORT0_BIT4_DOUT.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT7_LVL.VALUE=0 @@ -1621,7 +1621,7 @@ DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULL.VALUE=2 DRIVER.GIO.VAR.GIO_PORT0_BIT1_DIR.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT5_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT7_ENA.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULDIS.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT3_PSL.VALUE=0 @@ -1630,9 +1630,9 @@ DRIVER.GIO.VAR.GIO_PORT0_BIT2_ENA.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT5_PDR.VALUE=0 DRIVER.GIO.VAR.GIO_PORT1_BIT4_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=1 DRIVER.GIO.VAR.GIO_PORT0_BIT0_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=1 DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=0 DRIVER.GIO.VAR.GIO_PORT0_BIT0_PDR.VALUE=0 DRIVER.GIO.VAR.GIO_PORTB_ENABLE.VALUE=1 @@ -2089,7 +2089,7 @@ DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSNR.VALUE=CS_2 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DOUT.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN3.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=1 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 @@ -2151,7 +2151,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSNR.VALUE=CS_3 DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGSRC.VALUE=TRG_DISABLED DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_FUN.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE2.VALUE=1000.000 DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULL.VALUE=2 @@ -2167,7 +2167,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA0.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAY.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULL.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI5_TG5_LENGTH.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA2.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRLVL.VALUE=0 @@ -2248,7 +2248,7 @@ DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULL.VALUE=2 DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_LOCK.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PSL.VALUE=0 DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSNR.VALUE=CS_6 DRIVER.MIBSPI.VAR.MIBSPI1_TG1_ONESHOT.VALUE=1 DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULL.VALUE=2 @@ -2590,7 +2590,7 @@ DRIVER.SPI.VAR.SPI4_POLARITY1.VALUE=0 DRIVER.SPI.VAR.SPI2_T2EDELAY.VALUE=0 DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_FUN.VALUE=0 DRIVER.SPI.VAR.SPI4_POLARITY2.VALUE=0 DRIVER.SPI.VAR.SPI2_BITERRLVL.VALUE=0 DRIVER.SPI.VAR.SPI1_SHIFTDIR0.VALUE=0 @@ -2751,7 +2751,7 @@ DRIVER.SPI.VAR.SPI3_PORT_BIT10_FUN.VALUE=1 DRIVER.SPI.VAR.SPI2_PORT_BIT0_DIR.VALUE=1 DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_DOUT.VALUE=1 DRIVER.SPI.VAR.SPI3_PORT_BIT5_PDR.VALUE=0 DRIVER.SPI.VAR.SPI3_C2EDELAYACTUAL.VALUE=0.000 DRIVER.SPI.VAR.SPI1_PRESCALE0.VALUE=102 @@ -5553,10 +5553,10 @@ DRIVER.ADC.VAR.ADC2_GROUP2_RAM_PARITY_ENA.VALUE=0 DRIVER.ADC.VAR.ADC1_GROUP1_PIN3_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=6 DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=6 DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=3.271 DRIVER.ADC.VAR.ADC2_PORT_BIT0_DIR.VALUE=0 @@ -5575,7 +5575,7 @@ DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=387.08 DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_PRESCALER.VALUE=2 DRIVER.ADC.VAR.ADC2_GROUP2_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN18_ENABLE.VALUE=0x00040000 DRIVER.ADC.VAR.ADC2_GROUP0_PIN8_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN11_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_BND.VALUE=2 @@ -5642,7 +5642,7 @@ DRIVER.ADC.VAR.ADC2_RAMBASE.VALUE=0xFF3A0000 DRIVER.ADC.VAR.ADC2_GROUP0_BND.VALUE=8 DRIVER.ADC.VAR.ADC1_PORT_BIT0_DOUT.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=48.386 +DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=241.932 DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16 DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000 @@ -5682,7 +5682,7 @@ DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP2_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=387.08 -DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=62 +DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=58 DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 @@ -5701,9 +5701,9 @@ DRIVER.ADC.VAR.ADC1_GROUP2_PIN5_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN23_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=3 DRIVER.ADC.VAR.ADC2_GROUP2_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00080000 DRIVER.ADC.VAR.ADC2_PORT_BIT0_DOUT.VALUE=0 DRIVER.ADC.VAR.ADC2_CYCLE_TIME.VALUE=100.00 DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT @@ -5739,7 +5739,7 @@ DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_SCAN_TIME.VALUE=0.000 DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=7.596826 +DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=22.887252 DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=503.22 DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP1_PIN14_ENABLE.VALUE=0x00000000 @@ -5765,14 +5765,14 @@ DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=250 DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_PRESCALER.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP2_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000080 DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000001 DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC1_GROUP2_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=6 DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_ALT_TRIG_COMP.VALUE=1 DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 @@ -5896,7 +5896,7 @@ DRIVER.HET.VAR.HET2_EDGE5_LVL.VALUE=0x00000000 DRIVER.HET.VAR.HET2_PWM5_PERIOD_PRESCALER.VALUE=103296 DRIVER.HET.VAR.HET2_PWM0_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT0_PULL.VALUE=2 DRIVER.HET.VAR.HET2_INT_X0.VALUE=0x00000000 DRIVER.HET.VAR.HET1_EDGE4_BOTH.VALUE=0 DRIVER.HET.VAR.HET1_BIT1_DIR.VALUE=0x00000000 @@ -6379,7 +6379,7 @@ DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000 DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=0 DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00400000 DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00000000 DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000 DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0 @@ -6455,7 +6455,7 @@ DRIVER.HET.VAR.HET1_BIT21_PDR.VALUE=0x00000000 DRIVER.HET.VAR.HET1_BIT13_PDR.VALUE=0x00000000 DRIVER.HET.VAR.HET2_PWM2_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_DIR.VALUE=0x00000001 DRIVER.HET.VAR.HET1_PWM3_DUTY_PRESCALER.VALUE=51968 DRIVER.HET.VAR.HET2_CAP3_POLARITY.VALUE=0 DRIVER.HET.VAR.HET2_BIT0_PULDIS.VALUE=0x00000000 @@ -6547,7 +6547,7 @@ DRIVER.HET.VAR.HET2_BIT0_PDR.VALUE=0x00000000 DRIVER.HET.VAR.HET1_PWM4_PERIOD.VALUE=1000.000 DRIVER.HET.VAR.HET1_BIT30_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PSL.VALUE=0x00400000 DRIVER.HET.VAR.HET1_BIT14_PSL.VALUE=0x00000000 DRIVER.HET.VAR.HET2_EDGE1_LVL.VALUE=0x00000000 DRIVER.HET.VAR.HET2_PWM7_PERIOD_LVL.VALUE=0x00000000 @@ -6596,7 +6596,7 @@ DRIVER.HET.VAR.HET1_PWM4_DUTY_LVL.VALUE=0x00000000 DRIVER.HET.VAR.HET1_BIT30_PULL.VALUE=1 DRIVER.HET.VAR.HET1_BIT27_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT22_PULL.VALUE=2 DRIVER.HET.VAR.HET1_BIT19_DIR.VALUE=0x00000000 DRIVER.HET.VAR.HET1_BIT14_PULL.VALUE=1 DRIVER.HET.VAR.HET2_EDGE2_INTENA.VALUE=0x00000000 @@ -6613,7 +6613,7 @@ DRIVER.HET.VAR.HET2_BIT14_ANDSHARE.VALUE=0x00000000 DRIVER.HET.VAR.HET1_BIT2_PULDIS.VALUE=0x00000000 DRIVER.HET.VAR.HET2_PWM5_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT0_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_PSL.VALUE=0x00000001 DRIVER.HET.VAR.HET1_PWM5_PIN_SELECT.VALUE=17 DRIVER.HET.VAR.HET1_BIT25_PDR.VALUE=0x00000000 DRIVER.HET.VAR.HET1_BIT17_PDR.VALUE=0x00000000 @@ -7216,7 +7216,7 @@ DRIVER.PINMUX.VAR.DMA_INTLFSEN_13.VALUE=1 DRIVER.PINMUX.VAR.MUX30_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.MUX22_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX14_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION1.VALUE=1 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_26.VALUE=0 DRIVER.PINMUX.VAR.DMA_IFT_COUNT_18.VALUE=0 DRIVER.PINMUX.VAR.DMA_INTLFSEN_14.VALUE=1 @@ -7651,7 +7651,7 @@ DRIVER.PINMUX.VAR.MUX74_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX66_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX58_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.DMA_ADDMW_3.VALUE=CONSTANT DRIVER.PINMUX.VAR.MUX58_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.MUX5_OPTION1.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=1 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 @@ -8276,14 +8276,14 @@ DRIVER.PINMUX.VAR.DMA_INTMP_12_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_CHPR_6_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_TRIG_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.GIOA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA.VALUE=1 DRIVER.PINMUX.VAR.DMA_ADDMR_28.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_IET_COUNT_24.VALUE=0 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_20.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_IET_COUNT_16.VALUE=0 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_12.VALUE=8BIT DRIVER.PINMUX.VAR.GIOB.VALUE=0 -DRIVER.PINMUX.VAR.MUX10_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.DMA_ADDMR_29.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_IET_COUNT_25.VALUE=0 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_21.VALUE=8BIT @@ -8358,7 +8358,7 @@ DRIVER.PINMUX.VAR.DMA_TRIG_7_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.MIBSPI5.VALUE=0 DRIVER.PINMUX.VAR.DMM.VALUE=0 -DRIVER.PINMUX.VAR.W2FC.VALUE=0 +DRIVER.PINMUX.VAR.W2FC.VALUE=1 DRIVER.PINMUX.VAR.OHCI1.VALUE=0 DRIVER.PINMUX.VAR.MUX103_OPTION3.VALUE=0 DRIVER.PINMUX.VAR.MUX103_OPTION4.VALUE=0 @@ -8384,7 +8384,7 @@ DRIVER.PINMUX.VAR.MUX9_OPTION1.VALUE=0 DRIVER.PINMUX.VAR.DMA_EIDXD_0.VALUE=0 DRIVER.PINMUX.VAR.DMA_CHPR_10.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX9_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION2.VALUE=1 DRIVER.PINMUX.VAR.PIN_MUX_101_SELECT.VALUE=0 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12_VALUE.VALUE=0x0001 @@ -8449,7 +8449,7 @@ DRIVER.PINMUX.VAR.MUX55_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX47_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX39_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX2_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.DMA_ADDMW_21.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_ADDMW_13.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_EIDXD_7.VALUE=0 @@ -8466,7 +8466,7 @@ DRIVER.PINMUX.VAR.DMA_IET_COUNT_4.VALUE=0 DRIVER.PINMUX.VAR.DMA_TRIG_10.VALUE=HARDWARE_TRIGGER DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=2 DRIVER.PINMUX.VAR.DMA_ADDMW_31.VALUE=CONSTANT DRIVER.PINMUX.VAR.DMA_CHANNEL_31_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_ADDMR_29_VALUE.VALUE=0x0001 @@ -8813,7 +8813,7 @@ DRIVER.PINMUX.VAR.DMA_FIDXD_8.VALUE=0 DRIVER.PINMUX.VAR.DMA_CHAS_14.VALUE=0 DRIVER.PINMUX.VAR.DMA_INTLFSEN_4.VALUE=1 -DRIVER.PINMUX.VAR.SPI4.VALUE=0 +DRIVER.PINMUX.VAR.SPI4.VALUE=1 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_30_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_CHANNEL_24_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_22_VALUE.VALUE=0x0001 @@ -8846,7 +8846,7 @@ DRIVER.PINMUX.VAR.DMA_INTLFSEN_9.VALUE=1 DRIVER.PINMUX.VAR.DMA_INTMP_5_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_ACC_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.PINMUX3.VALUE="PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6" +DRIVER.PINMUX.VAR.PINMUX3.VALUE="PINMUX_PIN_15_W2FC_SE0O | PINMUX_PIN_16_GIOA_6" DRIVER.PINMUX.VAR.MUX99_OPTION3.VALUE=0 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12.VALUE=8BIT @@ -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_HET1_05" +DRIVER.PINMUX.VAR.PINMUX5.VALUE="PINMUX_PIN_25_SPI4CLK | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_HET1_05" 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 @@ -8936,7 +8936,7 @@ DRIVER.PINMUX.VAR.MUX84_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX76_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.MUX68_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION0.VALUE=1 DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29.VALUE=8BIT DRIVER.PINMUX.VAR.DMA_EIDXS_25.VALUE=0 DRIVER.PINMUX.VAR.DMA_EIDXS_17.VALUE=0 @@ -9348,11 +9348,11 @@ DRIVER.PMM.VAR.PMM_PWR_DOMAIN4_ENABLE.VALUE=0 DRIVER.PMM.VAR.PMM_PWR_DOMAIN2_ENABLE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD_REG.VALUE=25833 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_COMPARE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTY.VALUE=50 +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.000 DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV.VALUE=0 @@ -9418,12 +9418,12 @@ DRIVER.ETPWM.VAR.ETPWM6_OSHT3.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTYTIME.VALUE=500.000 DRIVER.ETPWM.VAR.ETPWM3_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM2_TB_ACTUALFREQUENCY.VALUE=103.335 DRIVER.ETPWM.VAR.ETPWM1_FDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_OSHT4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_INVERT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_COMPARE.VALUE=12917 DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_OSHT6.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_INPUT.VALUE=PWMA_RED_FED @@ -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=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=250002.419 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 @@ -9459,7 +9459,7 @@ DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL DRIVER.ETPWM.VAR.ETPWM6_FDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_PWMA_COMPARE.VALUE=50 DRIVER.ETPWM.VAR.ETPWM5_PWMB_ENA.VALUE=1 @@ -9500,16 +9500,16 @@ DRIVER.ETPWM.VAR.ETPWM2_OSHT4.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME_REG.VALUE=3 DRIVER.ETPWM.VAR.ETPWM4_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_COMPARE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_OSHT5.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM3_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_ACTUALPERIOD.VALUE=250002.419 DRIVER.ETPWM.VAR.ETPWM2_OSHT6.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM6_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=125001.209 DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME.VALUE=50.000 DRIVER.ETPWM.VAR.ETPWM5_OSHT_ACTUAL_WIDTH.VALUE=100 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=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM2_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_OSHT6.VALUE=0x0000 @@ -9554,18 +9554,18 @@ DRIVER.ETPWM.VAR.ETPWM7_PWMB_COMPARE.VALUE=50 DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_INPUT.VALUE=PWMA_RED_FED DRIVER.ETPWM.VAR.ETPWM6_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_ACTUALPERIOD.VALUE=77.418 DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCA.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM1_BASE.VALUE=0xFCF78C00 DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCB.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM1_PWMB_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD.VALUE=1000.000 +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=80.000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_ACTUALPERIOD.VALUE=100.000 DRIVER.ETPWM.VAR.ETPWM6_SOCB_PERIOD.VALUE=1 DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=50.000 @@ -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=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=250002.419 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 @@ -9615,7 +9615,7 @@ DRIVER.ETPWM.VAR.ETPWM7_TB_FREQUENCY.VALUE=110.000 DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCA.VALUE=DCAEVT1 DRIVER.ETPWM.VAR.ETPWM3_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME.VALUE=50.000 +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=100 DRIVER.ETPWM.VAR.ETPWM3_OSHT4.VALUE=0x0000 @@ -9636,7 +9636,7 @@ DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTYTIME.VALUE=500.000 DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=25833 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 @@ -9664,13 +9664,13 @@ DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY_NEW.VALUE=50.0 DRIVER.ETPWM.VAR.ETPWM4_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_FDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_BASE.VALUE=0xFCF78E00 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME.VALUE=38.709 DRIVER.ETPWM.VAR.ETPWM2_RDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY.VALUE=9.091 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_PWMA_COMPARE.VALUE=50 @@ -9687,7 +9687,7 @@ DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=1000.000 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=1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 DRIVER.ETPWM.VAR.ETPWM7_SOCA_PERIOD.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_OST.VALUE=0x0000 @@ -9727,11 +9727,11 @@ DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTYTIME.VALUE=0.000 DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_INVERT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_ACTUAL_WIDTH.VALUE=77.418 DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTY.VALUE=50 DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD.VALUE=1000.000 DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_OUT.VALUE=1 DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM4_BASE.VALUE=0xFCF78F00 DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 @@ -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=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_SOCB_PERIOD.VALUE=1 @@ -9769,7 +9769,7 @@ DRIVER.ETPWM.VAR.ETPWM1_DCBEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD.VALUE=100.000 DRIVER.ETPWM.VAR.ETPWM1_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM3_TB_ACTUALFREQUENCY.VALUE=103.335 DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCA.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCB.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV.VALUE=0 @@ -9799,7 +9799,7 @@ DRIVER.ETPWM.VAR.ETPWM1_CLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY.VALUE=50 DRIVER.ETPWM.VAR.ETPWM6_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD_REG.VALUE=25833 DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_FDELAY_SOURCE.VALUE=0 DRIVER.ETPWM.VAR.ETPWM4_RDELAY_SOURCE.VALUE=0 @@ -9810,7 +9810,7 @@ DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV.VALUE=0 DRIVER.ETPWM.VAR.ETPWM5_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_COMPARE.VALUE=12917 DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL DRIVER.ETPWM.VAR.ETPWM1_INTERRUPT_PERIOD.VALUE=1 DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCA.VALUE=DCAEVT1 @@ -9822,13 +9822,13 @@ DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY.VALUE=9.091 DRIVER.ETPWM.VAR.ETPWM6_PWMA_ENA.VALUE=1 DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_ACTUALPERIOD.VALUE=77.418 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_ACTUAL_WIDTH.VALUE=77.418 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=100.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_OUT.VALUE=0 +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 DRIVER.ETPWM.VAR.ETPWM5_TB_FREQUENCY.VALUE=110.000 @@ -9851,7 +9851,7 @@ 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 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTYTIME.VALUE=125001.209 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 @@ -9870,7 +9870,7 @@ DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_OUT.VALUE=0 DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV_REG.VALUE=0 DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD.VALUE=250000 DRIVER.ETPWM.VAR.ETPWM2_TB_FREQUENCY.VALUE=110.000 DRIVER.ETPWM.VAR.ETPWM6_DCAEVT1.VALUE=0x0000 DRIVER.ETPWM.VAR.ETPWM3_PWMA_POLARITY.VALUE=0 Index: firmware/include/adc.h =================================================================== diff -u -rcb5c7321fae3036d7a3641ae49097b4b361270f5 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/include/adc.h (.../adc.h) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) +++ firmware/include/adc.h (.../adc.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -240,7 +240,7 @@ #define ADC1_G1SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) #define ADC1_G2SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) -#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)0U << 16U)|(0U + 1U)) +#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)0U << 16U)|(0U + 3U)) #define ADC1_BNDEND_CONFIGVALUE (2U) #define ADC1_G0SAMP_CONFIGVALUE (0U) Index: firmware/include/etpwm.h =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/include/etpwm.h (.../etpwm.h) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/include/etpwm.h (.../etpwm.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -494,13 +494,13 @@ #define ETPWM2_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM2_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM2_TBPRD_CONFIGVALUE 1000U +#define ETPWM2_TBPRD_CONFIGVALUE 25833U #define ETPWM2_CMPCTL_CONFIGVALUE 0x00000000U -#define ETPWM2_CMPA_CONFIGVALUE 50U -#define ETPWM2_CMPB_CONFIGVALUE 50U +#define ETPWM2_CMPA_CONFIGVALUE 0U +#define ETPWM2_CMPB_CONFIGVALUE 12917U #define ETPWM2_AQCTLA_CONFIGVALUE ((uint16)((uint16)ActionQual_Set << 0U) | (uint16)((uint16)ActionQual_Clear << 4U)) #define ETPWM2_AQCTLB_CONFIGVALUE ((uint16)((uint16)ActionQual_Set << 0U) | (uint16)((uint16)ActionQual_Clear << 8U)) -#define ETPWM2_DBCTL_CONFIGVALUE ((uint16)((uint16)0U << 5U) | (uint16)((uint16)0u << 4U) | (uint16)((uint16)0U << 3U) | (uint16)((uint16)0U << 2U) | (uint16)((uint16)0U << 1U) | (uint16)((uint16)0U << 0U)) +#define ETPWM2_DBCTL_CONFIGVALUE ((uint16)((uint16)0U << 5U) | (uint16)((uint16)0u << 4U) | (uint16)((uint16)0U << 3U) | (uint16)((uint16)0U << 2U) | (uint16)((uint16)1U << 1U) | (uint16)((uint16)0U << 0U)) #define ETPWM2_DBRED_CONFIGVALUE 1U #define ETPWM2_DBFED_CONFIGVALUE 1U #define ETPWM2_TZSEL_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) @@ -509,7 +509,7 @@ #define ETPWM2_TZEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U| 0x0000U) #define ETPWM2_ETSEL_CONFIGVALUE ((uint16)(((uint16)NO_EVENT == 0U)? 0x0000U : 0x0008U) | (uint16)NO_EVENT | (uint16)0x0000U | (uint16)0x0000U | (uint16)((uint16)DCAEVT1 << 8U) | (uint16)((uint16)DCBEVT1 << 12U)) #define ETPWM2_ETPS_CONFIGVALUE ((uint16)1U | (uint16)((uint16)1U << 8U) | (uint16)((uint16)1U << 12U)) -#define ETPWM2_PCCTL_CONFIGVALUE ((uint16)((uint16)0U << 0U) | (uint16)((uint16)1U << 1U) | (uint16)((uint16)3U << 8U) | (uint16)((uint16)0U << 5U)) +#define ETPWM2_PCCTL_CONFIGVALUE ((uint16)((uint16)0U << 0U) | (uint16)((uint16)0U << 1U) | (uint16)((uint16)3U << 8U) | (uint16)((uint16)0U << 5U)) #define ETPWM2_DCTRIPSEL_CONFIGVALUE 0x00000000U #define ETPWM2_DCACTL_CONFIGVALUE 0x00000000U #define ETPWM2_DCBCTL_CONFIGVALUE 0x00000000U @@ -520,13 +520,13 @@ #define ETPWM3_TBCTL_CONFIGVALUE ((uint16)((uint16)0U << 7U) | (uint16)((uint16)0U << 10U)) #define ETPWM3_TBPHS_CONFIGVALUE 0x00000000U -#define ETPWM3_TBPRD_CONFIGVALUE 1000U +#define ETPWM3_TBPRD_CONFIGVALUE 25833U #define ETPWM3_CMPCTL_CONFIGVALUE 0x00000000U -#define ETPWM3_CMPA_CONFIGVALUE 50U -#define ETPWM3_CMPB_CONFIGVALUE 50U +#define ETPWM3_CMPA_CONFIGVALUE 0U +#define ETPWM3_CMPB_CONFIGVALUE 12917U #define ETPWM3_AQCTLA_CONFIGVALUE ((uint16)((uint16)ActionQual_Set << 0U) | (uint16)((uint16)ActionQual_Clear << 4U)) #define ETPWM3_AQCTLB_CONFIGVALUE ((uint16)((uint16)ActionQual_Set << 0U) | (uint16)((uint16)ActionQual_Clear << 8U)) -#define ETPWM3_DBCTL_CONFIGVALUE ((uint16)((uint16)0U << 5U) | (uint16)((uint16)0u << 4U) | (uint16)((uint16)0U << 3U) | (uint16)((uint16)0U << 2U) | (uint16)((uint16)0U << 1U) | (uint16)((uint16)0U << 0U)) +#define ETPWM3_DBCTL_CONFIGVALUE ((uint16)((uint16)0U << 5U) | (uint16)((uint16)0u << 4U) | (uint16)((uint16)0U << 3U) | (uint16)((uint16)0U << 2U) | (uint16)((uint16)1U << 1U) | (uint16)((uint16)0U << 0U)) #define ETPWM3_DBRED_CONFIGVALUE 1U #define ETPWM3_DBFED_CONFIGVALUE 1U #define ETPWM3_TZSEL_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) @@ -535,7 +535,7 @@ #define ETPWM3_TZEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U| 0x0000U) #define ETPWM3_ETSEL_CONFIGVALUE ((uint16)(((uint16)NO_EVENT == 0U)? 0x0000U : 0x0008U) | (uint16)NO_EVENT | (uint16)0x0000U | (uint16)0x0000U | (uint16)((uint16)DCAEVT1 << 8U) | (uint16)((uint16)DCBEVT1 << 12U)) #define ETPWM3_ETPS_CONFIGVALUE ((uint16)1U | (uint16)((uint16)1U << 8U) | (uint16)((uint16)1U << 12U)) -#define ETPWM3_PCCTL_CONFIGVALUE ((uint16)((uint16)0U << 0U) | (uint16)((uint16)1U << 1U) | (uint16)((uint16)3U << 8U) | (uint16)((uint16)0U << 5U)) +#define ETPWM3_PCCTL_CONFIGVALUE ((uint16)((uint16)0U << 0U) | (uint16)((uint16)0U << 1U) | (uint16)((uint16)3U << 8U) | (uint16)((uint16)0U << 5U)) #define ETPWM3_DCTRIPSEL_CONFIGVALUE 0x00000000U #define ETPWM3_DCACTL_CONFIGVALUE 0x00000000U #define ETPWM3_DCBCTL_CONFIGVALUE 0x00000000U Index: firmware/include/gio.h =================================================================== diff -u -reff7b1575f008f81b29ef906f6346fac6012d3ab -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/include/gio.h (.../gio.h) (revision eff7b1575f008f81b29ef906f6346fac6012d3ab) +++ firmware/include/gio.h (.../gio.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -123,10 +123,10 @@ | (uint32)((uint32)0U << 14U)\ | (uint32)((uint32)0U << 15U)) -#define GIO_PORTADIR_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 << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTADIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)1U << 6U) | (uint32)((uint32)0U << 7U)) #define GIO_PORTAPDR_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 << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTAPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTAPULDIS_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 << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTAPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)1U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTAPULDIS_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 << 6U) | (uint32)((uint32)0U << 7U)) #define GIO_PORTBDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) #define GIO_PORTBPDR_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 << 6U) | (uint32)((uint32)0U << 7U)) Index: firmware/include/mibspi.h =================================================================== diff -u -reff7b1575f008f81b29ef906f6346fac6012d3ab -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/include/mibspi.h (.../mibspi.h) (revision eff7b1575f008f81b29ef906f6346fac6012d3ab) +++ firmware/include/mibspi.h (.../mibspi.h) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -195,11 +195,11 @@ #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)1U << 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)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_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_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)) +#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)) #define MIBSPI5_DELAY_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 0U)) Index: firmware/source/adc.c =================================================================== diff -u -rcb5c7321fae3036d7a3641ae49097b4b361270f5 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/source/adc.c (.../adc.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) +++ firmware/source/adc.c (.../adc.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -86,7 +86,7 @@ adcREG1->CLOCKCR = 25U; /** - Setup memory boundaries */ - adcREG1->BNDCR = (uint32)((uint32)0U << 16U) | (0U + 1U); + adcREG1->BNDCR = (uint32)((uint32)0U << 16U) | (0U + 3U); adcREG1->BNDEND = (adcREG1->BNDEND & 0xFFFF0000U) | (2U); /** - Setup event group conversion mode @@ -232,12 +232,14 @@ 0x00000000U | 0x00000000U | 0x00000000U, + 0x00000001U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | + 0x00000080U | 0x00000000U | 0x00000000U | 0x00000000U | @@ -246,15 +248,13 @@ 0x00000000U | 0x00000000U | 0x00000000U | - 0x00000000U | - 0x00000000U | 0x00010000U | 0x00020000U | + 0x00040000U | + 0x00080000U | 0x00000000U | 0x00000000U | 0x00000000U | - 0x00000000U | - 0x00000000U | 0x00000000U, 0x00000000U | 0x00000000U | @@ -334,7 +334,7 @@ static const uint32 s_adcFiFoSize[2U][3U] = { {0U, - 2U, + 6U, 32U}, {16U, 16U, Index: firmware/source/etpwm.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/source/etpwm.c (.../etpwm.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/source/etpwm.c (.../etpwm.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -177,13 +177,13 @@ etpwmREG2->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG2->TBPRD = 1000U; + etpwmREG2->TBPRD = 25833U; /** - Setup the duty cycle for PWMA */ - etpwmREG2->CMPA = 50U; + etpwmREG2->CMPA = 0U; /** - Setup the duty cycle for PWMB */ - etpwmREG2->CMPB = 50U; + etpwmREG2->CMPB = 12917U; /** - Force EPWMxA output high when counter reaches zero and low when counter reaches Compare A value */ etpwmREG2->AQCTLA = ((uint16)((uint16)ActionQual_Set << 0U) @@ -202,7 +202,7 @@ | (uint16)((uint16)0U << 4U) /* Source for Rising edge delay(0-PWMA, 1-PWMB) */ | (uint16)((uint16)0U << 3U) /* Enable/Disable EPWMxB invert */ | (uint16)((uint16)0U << 2U) /* Enable/Disable EPWMxA invert */ - | (uint16)((uint16)0U << 1U) /* Enable/Disable Rising Edge Delay */ + | (uint16)((uint16)1U << 1U) /* Enable/Disable Rising Edge Delay */ | (uint16)((uint16)0U << 0U)); /* Enable/Disable Falling Edge Delay */ /** - Set the rising edge delay */ @@ -217,7 +217,7 @@ * -Sets the period for the subsequent pulse train */ etpwmREG2->PCCTL = ((uint16)((uint16)0U << 0U) /* Enable/Disable chopper module */ - | (uint16)((uint16)1U << 1U) /* One-shot Pulse Width */ + | (uint16)((uint16)0U << 1U) /* One-shot Pulse Width */ | (uint16)((uint16)3U << 8U) /* Chopping Clock Duty Cycle */ | (uint16)((uint16)0U << 5U)); /* Chopping Clock Frequency */ @@ -272,13 +272,13 @@ etpwmREG3->TBCTL |= (uint16)((uint16)0U << 10U); /** - Sets time period or frequency for ETPWM block both PWMA and PWMB*/ - etpwmREG3->TBPRD = 1000U; + etpwmREG3->TBPRD = 25833U; /** - Setup the duty cycle for PWMA */ - etpwmREG3->CMPA = 50U; + etpwmREG3->CMPA = 0U; /** - Setup the duty cycle for PWMB */ - etpwmREG3->CMPB = 50U; + etpwmREG3->CMPB = 12917U; /** - Force EPWMxA output high when counter reaches zero and low when counter reaches Compare A value */ etpwmREG3->AQCTLA = ((uint16)((uint16)ActionQual_Set << 0U) @@ -297,7 +297,7 @@ | (uint16)((uint16)0U << 4U) /* Source for Rising edge delay(0-PWMA, 1-PWMB) */ | (uint16)((uint16)0U << 3U) /* Enable/Disable EPWMxB invert */ | (uint16)((uint16)0U << 2U) /* Enable/Disable EPWMxA invert */ - | (uint16)((uint16)0U << 1U) /* Enable/Disable Rising Edge Delay */ + | (uint16)((uint16)1U << 1U) /* Enable/Disable Rising Edge Delay */ | (uint16)((uint16)0U << 0U)); /* Enable/Disable Falling Edge Delay */ /** - Set the rising edge delay */ @@ -312,7 +312,7 @@ * -Sets the period for the subsequent pulse train */ etpwmREG3->PCCTL = ((uint16)((uint16)0U << 0U) /* Enable/Disable chopper module */ - | (uint16)((uint16)1U << 1U) /* One-shot Pulse Width */ + | (uint16)((uint16)0U << 1U) /* One-shot Pulse Width */ | (uint16)((uint16)3U << 8U) /* Chopping Clock Duty Cycle */ | (uint16)((uint16)0U << 5U)); /* Chopping Clock Frequency */ Index: firmware/source/gio.c =================================================================== diff -u -reff7b1575f008f81b29ef906f6346fac6012d3ab -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/source/gio.c (.../gio.c) (revision eff7b1575f008f81b29ef906f6346fac6012d3ab) +++ firmware/source/gio.c (.../gio.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -73,7 +73,7 @@ /** - Port A output values */ gioPORTA->DOUT = (uint32)((uint32)0U << 0U) /* Bit 0 */ | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)1U << 2U) /* Bit 2 */ | (uint32)((uint32)0U << 3U) /* Bit 3 */ | (uint32)((uint32)0U << 4U) /* Bit 4 */ | (uint32)((uint32)0U << 5U) /* Bit 5 */ @@ -83,11 +83,11 @@ /** - Port A direction */ gioPORTA->DIR = (uint32)((uint32)0U << 0U) /* Bit 0 */ | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)1U << 2U) /* Bit 2 */ | (uint32)((uint32)0U << 3U) /* Bit 3 */ | (uint32)((uint32)0U << 4U) /* Bit 4 */ | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)1U << 6U) /* Bit 6 */ | (uint32)((uint32)0U << 7U); /* Bit 7 */ /** - Port A open drain enable */ @@ -107,7 +107,7 @@ | (uint32)((uint32)0U << 3U) /* Bit 3 */ | (uint32)((uint32)0U << 4U) /* Bit 4 */ | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)1U << 6U) /* Bit 6 */ | (uint32)((uint32)0U << 7U); /* Bit 7 */ /** - Port A pullup / pulldown enable*/ @@ -117,7 +117,7 @@ | (uint32)((uint32)0U << 3U) /* Bit 3 */ | (uint32)((uint32)0U << 4U) /* Bit 4 */ | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)1U << 6U) /* Bit 6 */ | (uint32)((uint32)0U << 7U); /* Bit 7 */ /** @b initialize @b Port @b B */ Index: firmware/source/mibspi.c =================================================================== diff -u -reff7b1575f008f81b29ef906f6346fac6012d3ab -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/source/mibspi.c (.../mibspi.c) (revision eff7b1575f008f81b29ef906f6346fac6012d3ab) +++ firmware/source/mibspi.c (.../mibspi.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -481,7 +481,7 @@ | (uint32)((uint32)1U << 1U) /* SCS[1] */ | (uint32)((uint32)1U << 2U) /* SCS[2] */ | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)1U << 8U) /* ENA */ | (uint32)((uint32)1U << 9U) /* CLK */ | (uint32)((uint32)1U << 10U) /* SIMO[0] */ | (uint32)((uint32)1U << 11U) /* SOMI[0] */ @@ -513,7 +513,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] */ @@ -545,7 +545,7 @@ | (uint32)((uint32)0U << 1U) /* SCS[1] */ | (uint32)((uint32)0U << 2U) /* SCS[2] */ | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)0U << 8U) /* ENA */ | (uint32)((uint32)0U << 9U) /* CLK */ | (uint32)((uint32)0U << 10U) /* SIMO[0] */ | (uint32)((uint32)0U << 11U) /* SOMI[0] */ Index: firmware/source/pinmux.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -ref0b3f0ec00fadc50f95e0db1a6477fb4b076ea1 --- firmware/source/pinmux.c (.../pinmux.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/source/pinmux.c (.../pinmux.c) (revision ef0b3f0ec00fadc50f95e0db1a6477fb4b076ea1) @@ -174,11 +174,11 @@ pinMuxReg->PINMMR2 = PINMUX_PIN_9_GIOA_2 | PINMUX_PIN_14_ETPWM1A; - pinMuxReg->PINMMR3 = PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6; + pinMuxReg->PINMMR3 = PINMUX_PIN_15_W2FC_SE0O | PINMUX_PIN_16_GIOA_6; pinMuxReg->PINMMR4 = PINMUX_PIN_22_ETPWM2A | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03; - pinMuxReg->PINMMR5 = PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_HET1_05; + pinMuxReg->PINMMR5 = PINMUX_PIN_25_SPI4CLK | PINMUX_PIN_30_ETPWM3A | PINMUX_PIN_31_HET1_05; pinMuxReg->PINMMR6 = PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_ETPWM7A;