ramp.c

Go to the documentation of this file.
00001 #include "scicos_block.h"
00002 #include <math.h>
00003 
00004 void ramp(scicos_block *block,int flag)
00005 {double dt;
00006   if (flag==1){
00007     dt=get_scicos_time()-block->rpar[1];
00008     if (get_phase_simulation()==1) {
00009       if(dt>0) {
00010         block->outptr[0][0]=block->rpar[2]+block->rpar[0]*dt;
00011       }else{
00012         block->outptr[0][0]=block->rpar[2];
00013       }
00014     }else{
00015       if(block->mode[0]==1) {
00016         block->outptr[0][0]=block->rpar[2]+block->rpar[0]*dt;
00017       }else {
00018         block->outptr[0][0]=block->rpar[2];
00019       }
00020     }
00021   } else if (flag==9){
00022     block->g[0]=get_scicos_time()-(block->rpar[1]);
00023     if (get_phase_simulation()==1) {
00024       if (block->g[0]>=0){
00025         block->mode[0]=1;
00026       }else{
00027         block->mode[0]=2;
00028       }
00029     }
00030   }
00031 }
00032 

Generated on Sun Mar 4 15:03:59 2007 for Scilab [trunk] by  doxygen 1.5.1