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
1.5.1