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

3G开发

开发平台:

Visual C++

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