User`s guide

38
/* S-Function Block: <Root>/ADC (c28xadc) */
{
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1;// Sequencer reset
AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1;// Software start of conversion
asm(" nop" );
asm(" nop" );
asm(" nop" );
asm(" nop" );
while (AdcRegs.ADCST.bit.SEQ1_BSY==0x1) {
} //Wait for Sequencer Busy bit to clear
TwinDFTs_CCS_B.ADC[0] = (AdcRegs.ADCRESULT0) >> 4;
TwinDFTs_CCS_B.ADC[1] = (AdcRegs.ADCRESULT1) >> 4;
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1;// Sequencer reset
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;// Clear INT SEQ1 bit
}
/* Gain: '<Root>/Gain' */
rtb_Gain_c[0] = TwinDFTs_CCS_P.Gain_Gain * TwinDFTs_CCS_B.ADC[0];
rtb_Gain_c[1] = TwinDFTs_CCS_P.Gain_Gain * TwinDFTs_CCS_B.ADC[1];
/* Product: '<S1>/Product' */
TwinDFTs_CCS_B.Product = rtb_TrigonometricFunction * rtb_Gain_c[0];
/* DiscreteFilter: '<S1>/Mean of 20 samples' */
rtb_ComplextoMagnitudeAngle1_o2 = TwinDFTs_CCS_P.Meanof20samples_D*
TwinDFTs_CCS_B.Product;
{
int_T nx = 19;
const real_T *x = &TwinDFTs_CCS_DWork.Meanof20samples_DSTATE[0];
const real_T *Cmtx = &TwinDFTs_CCS_P.Meanof20samples_C[0];
while (nx--) {
rtb_ComplextoMagnitudeAngle1_o2 += (*Cmtx) * (*x++);
Cmtx += 1;
}
}
/* Trigonometry: '<S7>/Trigonometric Function1' */
rtb_RelayDFT2 = cos(rtb_UnitDelay);
/* Product: '<S1>/Product1' */
TwinDFTs_CCS_B.Product1 = rtb_Gain_c[0] * rtb_RelayDFT2;
/* DiscreteFilter: '<S1>/Mean of 20 samples1' */
rtb_PhaseRelay = TwinDFTs_CCS_P.Meanof20samples1_D*TwinDFTs_CCS_B.Product1;
{
int_T nx = 19;
const real_T *x = &TwinDFTs_CCS_DWork.Meanof20samples1_DSTATE[0];
const real_T *Cmtx = &TwinDFTs_CCS_P.Meanof20samples1_C[0];
while (nx--) {
rtb_PhaseRelay += (*Cmtx) * (*x++);
Cmtx += 1;
}
}
/* Gain: '<S1>/Gain' incorporates:
* RealImagToComplex: '<S1>/Real-Imag to Complex'