Add here a paragraph of the function description.
/* pompecharge Scicos Charge Pump block * Type 4 simulation function ver 1.0 - scilab-3.0 * 9 octobre 2003 - IRCOM GROUP - Author : A.Layec * 10 janvier 2005 : passage type 4 * rajout du bruit sur le courant de fuite */ /* REVISION HISTORY : * $Log$ */ #include "machine.h" #include "scicos_block.h" #include <math.h> #include <stdio.h> #include <stdlib.h> /*pour RAND_MAX*/ /* Cette fonction de simulation réalise l'opération d'une pompe de charge * * entrées régulières : u[0..nu-1] : Vecteur des Signaux discrets Up(t) * u[nu..2nu-1] : Vecteur des signaux discrets Down(t) * sortie régulière : y[0..nu] : Vecteur des signaux discrets Icp(t) * * entrées d'événements : nev=0 à la rigueur (Ref(t) union Div(t)) * sinon néant (héritage) * * sorties d'évènement : néant * paramètres entiers : outsz[0] : taille des vecteurs (nu) * ipar[0] : 0=pas de bruit sur le courant de fuite * 1=fuite constante * 2=bruit normal sur le courant de fuite * paramètres réels : rpar[0..nu-1] : courant max de la pompe de charge * rpar[nu..2nu-1] : courant de fuite moyen de la pompe de charge * rpar[2*nu..3*nu-1] : deviation du courant de fuite (si ipar[0]=1) */ /*prototype*/ void pompecharge(scicos_block *block,int flag) { /*déclaration*/ double *y; double *up,*down; int nu; int typ_leak; double *Io,*Ileak_d,*Ileak_m; /*fprintf(stderr,"flag=%d\n",flag);*/ /*Récupération de l'adresse des ports d'entrée et de sortie*/ y=(double *)block->outptr[0]; up=(double *)block->inptr[0]; down=(double *)block->inptr[1]; /*Stock taille de la sortie dans nu*/ nu=block->outsz[0]; /*Récupération des paramètres*/ typ_leak=block->ipar[0]; Io=&block->rpar[0]; Ileak_m=&block->rpar[nu]; Ileak_d=&block->rpar[2*nu]; /*Appel chargepump_c*/ chargepump_c(&nu,&up[0],&down[0],&Io[0],&typ_leak,&Ileak_m[0],&Ileak_d[0],&y[0]); }