stepgen.cpp
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = stepgen.cpp
  3. //
  4. #include <stdlib.h>
  5. //#include <fstream>
  6. #include "stepgen.h"
  7. //#include "uni_rand.h"
  8. #include "parmfile.h"
  9. #include "model_graph.h"
  10. extern ParmFile *ParmInput;
  11. extern int PassNumber;
  12. //extern ActiveSystemGraph ActSystGraph;
  13. #ifdef _DEBUG
  14.   extern ofstream *DebugFile;
  15. #endif
  16. //======================================================
  17. StepGener::StepGener( char* instance_name,
  18.                     PracSimModel* outer_model,
  19.                     Signal<float>* out_sig )
  20.         :PracSimModel( instance_name,
  21.                         outer_model )
  22. {
  23.   MODEL_NAME(StepGener);
  24.   Out_Sig = out_sig;
  25.   MAKE_OUTPUT(Out_Sig);
  26. }
  27. //====================================================
  28. StepGener::~StepGener( void){};
  29. //====================================================
  30. void StepGener::Initialize(void)
  31. {
  32.   *DebugFile << "Now in StepGener::Initialize()" << endl;
  33.   Block_Size = Out_Sig->GetBlockSize();
  34.   //Samp_Rate = Out_Sig->GetSampRate();
  35. }
  36. //====================================================
  37. int StepGener::Execute()
  38. {
  39.    int is;
  40.    float *out_samps;
  41.    //--------------------------------
  42.    //  Get pointer for output buffer
  43.    out_samps = GET_OUTPUT_PTR(Out_Sig);
  44.    for (is=0; is<Block_Size; is++){
  45. //      if((PassNumber > 1) || ( (PassNumber==1) && (is>=10)))
  46.       if( (PassNumber==1) && (is==10)) {
  47.          *out_samps = 1.0;
  48.       }
  49.       else {
  50.          *out_samps = 0.0;
  51.       }
  52.       out_samps++;
  53.    }
  54.    Out_Sig->SetValidBlockSize(Block_Size);
  55.    return(_MES_AOK);
  56. }