Changeset 639 in Sophya for trunk/Poubelle


Ignore:
Timestamp:
Nov 25, 1999, 2:07:25 PM (26 years ago)
Author:
ansari
Message:

archediab 25

Location:
trunk/Poubelle/archediab.old
Files:
3 added
3 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Poubelle/archediab.old/archediab.sources/c/acqui_util.c

    r637 r639  
    2929if(parametr.n_max_mes_per!=nb_max_mes_per) {erreur("erreur nb_max_mes_per\n");return;}
    3030if(parametr.nb_bolo!=nb_bolo_util) {erreur("erreur nb_bolo_util\n");return;}
     31
     32gg->reglage=reglage_standard[0];
    3133
    3234for(j=0;j<nb_max_bolo;j++)
     
    227229        if((b!=gg->reglage.horloge.nb_mesures) ou clavier(touche_alt) )  emission_tc_reduite(tc2_horloge,tc3_nb_mesures,b);
    228230        if((tm!=gg->reglage.horloge.temp_mort) ou clavier(touche_alt) )  emission_tc_reduite(tc2_horloge,tc3_temp_mort,tm);
    229         if((flag!=gg->reglage.horloge.flag) ou clavier(touche_alt) )    emission_tc_reduite(tc2_horloge,tc3_flag,flag);
     231        if(flag ou (flag!=gg->reglage.horloge.flag) ou clavier(touche_alt) ) emission_tc_reduite(tc2_horloge,tc3_flag,flag);
    230232        }
    231233
  • trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c

    r637 r639  
    190190{
    191191blk_sync2 = *blk;
    192 }
    193 /*
    194 int i,j;       
    195 
    196 for (i=0;i<nb_per_block*2;i++)  for(j=0;j<nb_sync;j++)                 
    197                 gg->don.sync[j]=blk->synchro[j][i];
    198192// ne fait rien: le block synchro precede toujours le block bolo
    199193}
    200 */
     194
    201195
    202196
     
    210204#define blk2  ((block_type_bolo*)(&bktm))       // pointeur sur la memoire locale
    211205// maintenant, decomprime  blk  pour le reecrire dans blk2
    212 printf("comprime: ds1= %x  , %x  ds2= %x  , %x   ",
     206/*printf("comprime: ds1= %x  , %x  ds2= %x  , %x   ",
    213207        ( (blk->data_bolo[0][0] & 0xffff0000)>>11 ) & 0x001fffe0,
    214208        ( (blk->data_bolo[0][0] & 0x0000ffff)<<5 )  & 0x001fffe0,
    215209        ( (blk->data_bolo[1][0] & 0xffff0000)>>11 ) & 0x001fffe0,
    216210        ( (blk->data_bolo[1][0] & 0x0000ffff)<<5 )  & 0x001fffe0);
    217 
     211*/
    218212for(j=0;j<nb_bolo_util;j++)     
    219213                {
    220                 decompress_7_2(blk->data_bolo[j],blk2->data_bolo[j],nb_per_block*2);
    221                 }
    222 
    223 printf("ds1= %x  , %x  ds2= %x  , %x   \n",
     214                decompress_7_2((long *)blk->data_bolo[j],blk2->data_bolo[j],nb_per_block*2);
     215                }
     216
     217/*printf("ds1= %x  , %x  ds2= %x  , %x   \n",
    224218                                        blk2->data_bolo[0][0],
    225219                                        blk2->data_bolo[0][1],
    226220                                        blk2->data_bolo[1][0],
    227221                                        blk2->data_bolo[1][1]);
    228 
     222*/
    229223valide_block(&bktm,block_bolo,numero_block(blk));       // pour recopier le numero de block
    230224traite_block_bolo(blk2);
     
    277271
    278272#define  val_DS(j,i)  (blk->data_bolo[j][i]&0x1fffff)
    279 #define  synchro_DS(j,i)        (blk->data_bolo[j][i]>>20)
     273//#define  synchro_DS(j,i)      ((blk->data_bolo[j][i]>>20)&1)
    280274
    281275for (i=0;i<nb_per_block*2;i++)
     
    291285                }
    292286
    293         for(j=0;j<nb_sync;j++)  gg->don.sync[j]=synchro_DS(j,i);       
     287        for(j=0;j<nb_sync;j++) 
     288                {
     289                gg->don.sync[j]=blk_sync2.synchro[i][j];
     290                }
     291       
     292       
     293//      gg->don.sync[j]=synchro_DS(j,i);       
    294294
    295295        gg->temps_cntl=num_block_local*nb_per_block*2+i;        // temps controlleur en demi-periodes           
  • trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_general.c

    r637 r639  
    165165                                break;
    166166
     167        case e_helium   :       {
     168                                long ll=(long)(&(gg->reglage.dilu.helium))-(long)(&(gg->reglage.dilu));
     169                                int a=(int) valeur;     
     170                                emission_tc_reduite(tc2_auto_dilu,ll,a);
     171                                }
     172                                break;
     173
    167174        case e_chauf    :       {
    168175                                long ll=(long)(&(gg->reglage.dilu.chauffage))-(long)(&(gg->reglage.dilu));
     
    170177                                emission_tc_reduite(tc2_auto_dilu,ll,a);
    171178                                }
     179                                break;
     180
     181        case e_cmd      :       emission_tc_reduite(tc2_horloge,tc3_commande,(int) valeur);
     182                                ecritD(fen,e_cmd,0);
    172183                                break;
    173184
  • trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c

    r637 r639  
    3838                                graph->graduations=0;
    3939                                graph->sans_image=1;                                   
    40                                 graph->avec_icones=0;                                           
     40                                graph->avec_icones=0; 
     41                                graph->aspect=0;                                       
    4142                                graph->xtitre[0]=0;                                     
    4243                                graph->ytitre[0]=0;   
  • trunk/Poubelle/archediab.old/archediab.sources/c/courbeVI.c

    r637 r639  
    1919int i,j;double I,V,A,nep;int c;double x[50];
    2020double y[nb_max_bolo+1];
    21 
     21def_gains
    2222switch(item)
    2323        {
     
    9797                               
    9898                                if(litD(fen,cvi_precis,0L)) posi++;     else posi+=2;
     99                                printf(" posi=%d \n",posi);
     100                                if(posi>=25) {son(133);posi=0;tachedefond(fen,-1);}                                             
     101
    99102                                if(!fenetre(fenetre_automatismes))
    100103                                        ouvreD(fenetre_automatismes,automatismes_id,"automatismes",exec_automatismes);
     
    126129                                for(j=0;j<nb_max_bolo;j++)     
    127130                                        {
    128                                         y[j]=calcV(j+1)*1e-3;   //  mV
     131                                        y[j]=(calcV(j+1)-xbolbrut(j))*1e-3;
     132                                        //  corrigée du déséquilibre  en  µV puis transformé en mV 
    129133                                        }
    130134                                montracen(fen,nb_max_bolo,I,y);
  • trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c

    r637 r639  
    4343//flag=alerte(3,"   Archeops ou Planck  \r\r acquisition avec carte PCI ??"); // vaut 1 pour acquisition PCI
    4444//flag=2;       // en mode simulation
    45 if(!clavier(touche_alt) ) flag=2; else flag=1;          // en mode acquisition
     45if(clavier(touche_alt) ) flag=2; else flag=1;           // en mode acquisition
    4646#endif
    4747
     
    116116*/
    117117
     118
    118119if(flag==1)                                     //  mets en route les interruptions
    119120        {
  • trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c

    r637 r639  
    2424#define  ecrit_switch(val,ii,bit) {if(val) ii=ii | bit ;else ii=ii& (0xffffffff^bit) ;}
    2525#define  calib(j)               litD(fenetre_dilution_calibration,j,0L)
     26
     27
     28
     29//   fonction ecrit un bit des switch dilution
     30//  c'est une telecommande normale 64 bit  a supprimer
     31// la telecommande passe a travers le transputer sans etre traitee par lui
     32//  elle arrive directement sur l'EPLD
     33
    2634void  ecrit_bit_dilution(int valeur,int bit);
    2735
     
    4755mot_tc[5]=(i>>16)&0xff;
    4856mot_tc[6]=(i>>24)&0xff;
     57mot_tc[7]=0;   
     58emission_telecommande(tc_dir_transputer,mot_tc);
     59}
     60
     61//   fonction ecrit un  des dac dilution
     62//  c'est une telecommande normale 64 bit  a supprimer
     63// la telecommande passe a travers le transputer sans etre traitee par lui
     64//  elle arrive directement sur l'EPLD
     65
     66void  ecrit_dac_dilution(void);
     67
     68void  ecrit_dac_dilution(void)
     69{
     70char mot_tc[10];
     71int k;
     72unsigned long i,j;
     73i=litD(fenetre_dilution,dil_dac_1,0); // les 2 bits adresse du dac
     74i=i<<14; i+=litD(fenetre_dilution,dil_dac_2,0); // les 12 bits valeur du dac
     75// ranger les bits a l'envers;
     76j=0; for(k=0;k<16;k++)  {j=(j<<1) | (i&1);i=i>>1;}
     77mot_tc[0]=tc_dac_dil;
     78mot_tc[1]=(j)&0xff;
     79mot_tc[2]=(j>>8)&0xff;
     80mot_tc[3]=0;
     81mot_tc[4]=0;
     82mot_tc[5]=0;
     83mot_tc[6]=0;
    4984mot_tc[7]=0;   
    5085emission_telecommande(tc_dir_transputer,mot_tc);
     
    101136    case dil_ch6 :              ecrit_bit_dilution((int)valeur,chauffage6);     break;
    102137    case dil_ch7 :              ecrit_bit_dilution((int)valeur,chauffage7);     break;
     138   
     139//    case dil_dac_1 :
     140//   case dil_dac_2 :
     141    case dil_envoi_dac :        ecrit_dac_dilution();   break;
    103142
    104143    default  :   break;
     
    142181ecritD(fenetre_dilution,dil_EVV_retour,((blk->switch_dil&vanne_EVV)?1:0));
    143182
     183
     184
     185// les temperatures sur les cartes modifiées
     186{
     187double I,V,R[4];
     188int j,k;
     189def_gains;
     190k=0;
     191for(j=0;(j<nb_max_bolo) && (k<4);j++)
     192        {
     193        if(parametr.bolo[j].bolo_code_util==bolo_thermo_simplifie)
     194                {
     195                I = 1e-3 * (double)dac_V(gg->reglage.bolo[j]) * 2441. / parametr.bolo[j].bolo_capa;     //      I en µA
     196                V=0.001*bol_micro_volt(blk->temperature[k],(double)parametr.bolo[j].bolo_gain*gain_ampli(gg->reglage.bolo[j]));
     197                if(I>0.0000001)         R[k]=V/I;       else    R[k]=0;                         //      R  en ‡
     198                k++;
     199                }
     200        }
     201
     202if(R[0]<90.)    ecritD(fenetre_dilution,dil_temp,"germ= %6.2f‡  4K=%5.1f‡   1.6K=%5.1f‡   10K=%5.1f‡",R[0],R[1],R[2],R[3]);
     203else    ecritD(fenetre_dilution,dil_temp,"germ= %6.3fk‡  4K=%5.1f‡   1.6K=%5.1f‡   10K=%5.1f‡",R[0]*0.001,R[1],R[2],R[3]);
     204if(litD(fenetre_dilution,dil_trace_tempe,0))// trace les sondes de niveau helium
     205        {
     206        int temps_cntl=numero_block(blk)*nb_per_block*2;
     207        double secondes,minutes;
     208        secondes=gg->periode_echantillonage*(double)temps_cntl;
     209        minutes=secondes/60.;
     210        if(!fenetre(fenetre_temperature_dil))
     211                        {
     212                        nouveauD(fenetre_temperature_dil,0,"temperature_dil",0);
     213                        selectgra(fenetre_temperature_dil);
     214                        strcpy(graph->xtitre,"minutes");
     215                        }
     216        tracen(fenetre_temperature_dil,4,minutes,R);
     217        }
     218}
     219
    144220// les pressions et debits metres des injections de la dilution
    145221ecritD(fenetre_dilution,dil_p_d_3He,"3He: %4.1fb -> %5.2fµm/s -> %4.1fb"
    146         ,40.    *       val_multiplex(p_R3)             //      200 bars pour 5V
     222        ,40.    *       val_multiplex(p_R3)  -1.6       //      200 bars pour 5V et 1.6 bar d'offset
    147223        ,2.     *       val_multiplex(d_3He)            //  10 MICRO MOLES  pour  5V
    148224        ,20.    *       val_multiplex(p_C3)             //      100 bars pour 5V
     
    151227        ,40.    *       val_multiplex(p_R4)             //      200 bars pour 5V
    152228        ,8.     *       val_multiplex(d_4He)            //  40 MICRO MOLES  pour  5V
     229//      ,4.     *       val_multiplex(d_4He)            //  20 MICRO MOLES  pour  5V
    153230        ,20.    *       val_multiplex(p_C4)             //      100 bars pour 5V
    154231        );
     
    227304// lecture des sondes de niveau helium
    228305
    229 //if(blk->switch_dil & switch_helium )
    230 if(1)
     306
    231307        {
    232308        double y[8];
     309        static int niveau_pre;
    233310        int niveau,fin;
     311//      printf("dilution :  numero de block = %d  \n",numero_block(blk));
    234312        changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,rouge,blanc,blanc),"");
    235313        y[0]=val_multiplex(j_he1)-calib(dil_j_he1);
     
    241319        y[6]=val_multiplex(j_he7)-calib(dil_j_he7);
    242320        y[7]=val_multiplex(j_he8)-calib(dil_j_he8);
    243         niveau=0;fin=0;
    244         for(i=0;i<8;i++)
     321        if(blk->switch_dil & switch_helium)
    245322                {
    246                 if(y[i]>0.1)    {
    247                                 niveau++;
    248                                 if(fin)         niveau=9;
    249                                 }
    250                 else            fin=1;
     323                changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,rouge,blanc,blanc),"");
     324                niveau=0;fin=0;
     325                for(i=0;i<8;i++)
     326                        {
     327                        if(y[i]>0.1)    {
     328                                        niveau++;
     329                                        if(fin)         niveau=9;
     330                                        }
     331                        else            fin=1;
     332                        }
     333//              if(niveau==9)   changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem
     334//                                      ,calrefcon(0,0,jaune,blanc,blanc),"");
     335                if(niveau<niveau_pre)   niveau_pre=0;
     336                else    {niveau_pre=niveau;     ecritD(fenetre_dilution,dil_niveau_helium,niveau);}
     337//              printf("niveau=%d \n",niveau);
    251338                }
    252         if(niveau==9)   changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem
    253                                 ,calrefcon(0,0,jaune,blanc,blanc),"");
    254         ecritD(fenetre_dilution,dil_niveau_helium,niveau);
    255 //      printf("niveau=%d \n",niveau);
     339        else    changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,vert,blanc,blanc),"");
    256340
    257341        if(litD(fenetre_dilution,dil_trace_helium,0))// trace les sondes de niveau helium
     
    270354                }
    271355        }
    272 else   
    273         {
    274         changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,vert,blanc,blanc),"");
    275         }
    276 
    277 
    278 }
    279 
    280 
     356
     357}
     358
     359
  • trunk/Poubelle/archediab.old/archediab.sources/c/menu.c

    r637 r639  
    2222void ferme_annexe(void);
    2323
    24 int ann;
     24int j,ann;
    2525
    2626void exec_menu_diabolo(int fen,int item,double valeur,...)
     
    3434                                                                sauve_reglage(2);*/
    3535                                                                break;
    36         case    d_trace_tout    :       ouvreD(0,trace_tout_id ,"trace tout" ,exec_trace_tout );
     36        case    d_trace_tout    :       for(j=0;j<8;j++) printf(" tracetout %d = %d \n",j,gg->trace_tout[j]);
     37                                                                ouvreD(0,trace_tout_id ,"trace tout" ,exec_trace_tout );
    3738                                                                break;
    3839//      case    d_trace_tout    :       if(fenetre(fenetre_trace_tout)) select(fenetre_trace_tout);
  • trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c

    r637 r639  
    22#include "reglage.h"
    33
     4#define uc(iii)   (((long)(iii))&0xff)
     5#define us(iii)   (((long)(iii))&0xffff)
    46
    57void    param_reglage(void)
     
    138140
    139141ecritT(fenetre_fichier_archeops_c,insert_f,"/*debut reglage %d */\n",num);
    140 ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},\n",gg->reglage.horloge.periode,gg->reglage.horloge.nb_mesures
    141                 ,gg->reglage.horloge.temp_mort,gg->reglage.horloge.flag);
    142 
     142
     143/***********   structure normale pour le mac   ****************/
     144ecritT(fenetre_fichier_archeops_c,insert_f,"#ifdef programme\n");
     145
     146/*  ecrit horloge    */
     147ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},\n",uc(gg->reglage.horloge.periode),uc(gg->reglage.horloge.nb_mesures)
     148                ,uc(gg->reglage.horloge.temp_mort),uc(gg->reglage.horloge.flag));
     149
     150/* ecrit vitesses  */
    143151for(i=0;i<nb_type_blocks;i++)
    144         {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",%d\n",gg->reglage.vitesse[i]); else  ecritT(fenetre_fichier_archeops_c,insert_f,"{%d\n",gg->reglage.vitesse[i]); }
    145 
    146 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
    147        
     152        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",%d\n",uc(gg->reglage.vitesse[i])); else  ecritT(fenetre_fichier_archeops_c,insert_f,"{%d\n",uc(gg->reglage.vitesse[i])); }
     153
     154ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
     155
     156/* ecrit        reglage_un_bolo  : 2 mots long */
    148157for(i=0;i<nb_max_bolo;i++)
    149158        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d}\n",gg->reglage.bolo[i].mot1,gg->reglage.bolo[i].mot2);
     
    152161
    153162ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
    154        
     163
     164/* ecrit auto_bolo  4 char */   
    155165for(i=0;i<nombre_de_voies;i++)
    156         {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d,%d,%d}\n",gg->reglage.autom[i].mode,gg->reglage.autom[i].gain,gg->reglage.autom[i].courant,gg->reglage.autom[i].delai);
    157                         else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d}\n",gg->reglage.autom[i].mode,gg->reglage.autom[i].gain,gg->reglage.autom[i].courant,gg->reglage.autom[i].delai);
    158         }
    159 
    160 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
    161        
     166        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d,%d,%d}\n",uc(gg->reglage.autom[i].mode),uc(gg->reglage.autom[i].gain),uc(gg->reglage.autom[i].courant),uc(gg->reglage.autom[i].delai));
     167                        else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d}\n",uc(gg->reglage.autom[i].mode),uc(gg->reglage.autom[i].gain),uc(gg->reglage.autom[i].courant),uc(gg->reglage.autom[i].delai));
     168        }
     169
     170ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
     171
     172/* ecrit  regul_bolo   */
    162173for(i=0;i<nombre_de_regul;i++)
    163174        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d,%d,%d,%d,%d,%d}\n"
    164                                 ,gg->reglage.regul[i].mode,gg->reglage.regul[i].num_bolo,gg->reglage.regul[i].voie_chauf,gg->reglage.regul[i].prop
    165                                 ,gg->reglage.regul[i].integ,gg->reglage.regul[i].deriv,gg->reglage.regul[i].chauffage);
     175                                ,uc(gg->reglage.regul[i].mode),uc(gg->reglage.regul[i].num_bolo),uc(gg->reglage.regul[i].voie_chauf),uc(gg->reglage.regul[i].prop)
     176                                ,uc(gg->reglage.regul[i].integ),uc(gg->reglage.regul[i].deriv),us(gg->reglage.regul[i].chauffage));
    166177        else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d,%d,%d,%d}\n"
    167                                 ,gg->reglage.regul[i].mode,gg->reglage.regul[i].num_bolo,gg->reglage.regul[i].voie_chauf,gg->reglage.regul[i].prop
    168                                 ,gg->reglage.regul[i].integ,gg->reglage.regul[i].deriv,gg->reglage.regul[i].chauffage);
    169         }
    170 
     178                                ,uc(gg->reglage.regul[i].mode),uc(gg->reglage.regul[i].num_bolo),uc(gg->reglage.regul[i].voie_chauf),uc(gg->reglage.regul[i].prop)
     179                                ,uc(gg->reglage.regul[i].integ),uc(gg->reglage.regul[i].deriv),us(gg->reglage.regul[i].chauffage));
     180        }
     181
     182/*  ecrit  auto_dilu   */
    171183ecritT(fenetre_fichier_archeops_c,insert_f,"},{%d,%d,%d,%d,%d,%d,%d,%d} \n"
    172                 ,gg->reglage.dilu.vanne,gg->reglage.dilu.helium,gg->reglage.dilu.chauffage,gg->reglage.dilu.piles
    173                 ,gg->reglage.dilu.transmission,gg->reglage.dilu.temps_max_vanne,gg->reglage.dilu.xx7,gg->reglage.dilu.xx8);
    174 
     184                ,uc(gg->reglage.dilu.vanne),uc(gg->reglage.dilu.helium),uc(gg->reglage.dilu.chauffage),uc(gg->reglage.dilu.piles)
     185                ,uc(gg->reglage.dilu.transmission),uc(gg->reglage.dilu.temps_max_vanne),uc(gg->reglage.dilu.xx7),uc(gg->reglage.dilu.xx8));
     186
     187
     188/***********  structure swappée pour le transputer   ****************/
     189ecritT(fenetre_fichier_archeops_c,insert_f,"#else\n");
     190
     191/*  ecrit horloge    */
     192ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},\n",uc(gg->reglage.horloge.flag),uc(gg->reglage.horloge.temp_mort)
     193                ,uc(gg->reglage.horloge.nb_mesures),uc(gg->reglage.horloge.periode));
     194
     195/* ecrit vitesses  */
     196for(i=0;i<nb_type_blocks;i++)
     197        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",%d\n",uc(gg->reglage.vitesse[i^3])); else  ecritT(fenetre_fichier_archeops_c,insert_f,"{%d\n",uc(gg->reglage.vitesse[i^3])); }
     198
     199ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
     200
     201/* ecrit        reglage_un_bolo  : 2 mots long */
     202for(i=0;i<nb_max_bolo;i++)
     203        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d}\n",gg->reglage.bolo[i].mot1,gg->reglage.bolo[i].mot2);
     204                        else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d}\n",gg->reglage.bolo[i].mot1,gg->reglage.bolo[i].mot2);
     205        }
     206
     207ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
     208
     209/* ecrit auto_bolo  4 char */   
     210for(i=0;i<nombre_de_voies;i++)
     211        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d,%d,%d}\n"
     212                                ,uc(gg->reglage.autom[i].delai),uc(gg->reglage.autom[i].courant),uc(gg->reglage.autom[i].gain),uc(gg->reglage.autom[i].mode));
     213                        else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d}\n"
     214                                ,uc(gg->reglage.autom[i].delai),uc(gg->reglage.autom[i].courant),uc(gg->reglage.autom[i].gain),uc(gg->reglage.autom[i].mode));
     215        }
     216
     217ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
     218
     219/* ecrit  regul_bolo   */
     220for(i=0;i<nombre_de_regul;i++)
     221        {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d,%d,%d,%d,%d,%d}\n"
     222                                ,uc(gg->reglage.regul[i].prop),uc(gg->reglage.regul[i].voie_chauf),uc(gg->reglage.regul[i].num_bolo),uc(gg->reglage.regul[i].mode)
     223                                ,us(gg->reglage.regul[i].chauffage),uc(gg->reglage.regul[i].deriv),uc(gg->reglage.regul[i].integ));
     224        else    ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d,%d,%d,%d}\n"
     225                                ,uc(gg->reglage.regul[i].prop),uc(gg->reglage.regul[i].voie_chauf),uc(gg->reglage.regul[i].num_bolo),uc(gg->reglage.regul[i].mode)
     226                                ,us(gg->reglage.regul[i].chauffage),uc(gg->reglage.regul[i].deriv),uc(gg->reglage.regul[i].integ));
     227        }
     228
     229/*  ecrit  auto_dilu   */
     230ecritT(fenetre_fichier_archeops_c,insert_f,"},{%d,%d,%d,%d,%d,%d,%d,%d} \n"
     231                ,uc(gg->reglage.dilu.piles),uc(gg->reglage.dilu.chauffage),uc(gg->reglage.dilu.helium),uc(gg->reglage.dilu.vanne)
     232                ,uc(gg->reglage.dilu.xx8),uc(gg->reglage.dilu.xx7),uc(gg->reglage.dilu.temps_max_vanne),uc(gg->reglage.dilu.transmission));
     233
     234
     235
     236
     237/***********   fin des structures swappées       ****************/
     238ecritT(fenetre_fichier_archeops_c,insert_f,"#endif\n");
    175239
    176240ecritT(fenetre_fichier_archeops_c,insert_f,"/*fin_reglage*/\n");
  • trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c

    r637 r639  
    22#include "senseur_stellaire.h"
    33
     4int diodes[12]={1,2,3,4,5,6,7,8,9,10,11,12};
    45
    56
     
    6061double secondes;
    6162int a,b,b0,b1,b2;
     63int prem_d;
    6264
    6365if(!fenetre(fenetre_senseur_stellaire)) return;
     
    9294         }
    9395
    94 
    9596//k=0;
     97prem_d=litD(fenetre_senseur_stellaire,sst_prem_diode,0L);
    9698for(k=0;k<72;k++)
    9799        {
     
    102104                if(i>3 ) q=i+8;
    103105                if(i>7 ) q=i+12;
     106                q=diodes[i];
     107                q=i+prem_d-1;
    104108               
    105109                a=place_paquet(q,0);
  • trunk/Poubelle/archediab.old/archediab.sources/c/synchro.c

    r637 r639  
    120120int i; 
    121121double x;
     122static long ancien_temps;
    122123if(select_synchro==7)   // selection  valeur fixe
    123124        {
    124         if(sy_per>=synchro_periode)
     125        if((gg->temps_cntl%(int)synchro_periode)==0)
     126//      if(sy_per>=synchro_periode)
    125127                {
    126128                if(gg->trace_ouvert&2)  exec_trace_1_per(fenetre_trace_1_per,ds_debut,0);
     
    130132        else
    131133                {
    132                 sy_per=sy_per+1;
     134                if(gg->temps_cntl!=ancien_temps+1)
     135                        {
     136                        sy_per+=gg->temps_cntl-ancien_temps;
     137                        printf("erreur synchro corrigée\n");
     138                        }
     139                else    sy_per=sy_per+1;
     140               
    133141                if(gg->trace_ouvert&2)  exec_trace_1_per(fenetre_trace_1_per,ds_suite,0);
    134142                if(gg->trace_ouvert&4)  exec_trace_DS(fenetre_trace_DS,ds_suite,0);
    135143                }
     144        ancien_temps=gg->temps_cntl;
    136145        }
    137146else
  • trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops.c

    r637 r639  
    1313//*****************************************************************************************
    1414//                                                                                      ***
    15 #ifdef _archeops                //---------   pour  Archeops    ----------------------- ***
     15#ifdef _archeopsXX              //---------   pour  Archeops    ----------------------- ***
    1616#ifndef _sans_transputer        //---------   pour  Archeops avec transputer    -------------   ***
    1717//                                                                                      ***
  • trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c

    r637 r639  
    1717//*****************************************************************************************
    1818//                                                                                      ***
    19 #ifdef _archeopsxx              //---------   pour  Archeops    ----------------------- ***
     19#ifdef _archeops                //---------   pour  Archeops    ----------------------- ***
    2020#ifndef _sans_transputer        //---------   pour  Archeops avec transputer    -------------   ***
    2121//                                                                                      ***
  • trunk/Poubelle/archediab.old/archediab.sources/c/trace-DS.c

    r637 r639  
    55#include "trace.h"
    66#include "menu.h"
    7 
     7#define max_couleur 10
     8
     9static int      ds_bolo_coul[2*nb_max_bolo];
    810
    911       
     
    1416static  int             raz_parasite=2;
    1517
     18void    montracen_ds(int fen,int n,double x,double *y);
    1619
    1720void    exec_trace_DS_suite(int u);
     
    2831static int u=-1;
    2932static flag_err=0;
     33int i;
    3034switch(item)
    3135    {
     
    4650    case ds_temps_mort  :       
    4751    case ds_temps_mort+1000 :
     52                                       
     53                                       
     54    case ds_bolo_couleur :
     55    case ds_bolo_couleur+1 :
     56    case ds_bolo_couleur+2 :
     57    case ds_bolo_couleur+3 :
     58    case ds_bolo_couleur+4 :
     59    case ds_bolo_couleur+5 :
     60    case ds_bolo_couleur+6 :
     61    case ds_bolo_couleur+7 :
     62    case ds_bolo_couleur+8 :
     63    case ds_bolo_couleur+9 :
     64   
     65                                for(i=0;i<max_couleur;i+=2)     
     66                                        {
     67                                        ds_bolo_coul[i]=litD(fen,ds_bolo_couleur+i,0L)-1; // 0=rien : 1=bolo0 // 2=bolo1
     68                                        if( (ds_bolo_coul[i]<1) ou (ds_bolo_coul[i]>nb_max_bolo) )   ds_bolo_coul[i]=0;
     69                                        if (ds_bolo_coul[i]<=24) ds_bolo_coul[i+1]=ds_bolo_coul[i]+24;
     70                                        printf(" i=%d bolo=%d    ",i,ds_bolo_coul[i]);
     71                                        }
     72                                printf("\n");                               
     73 
    4874                                calcul_table_DS(synchro_periode);
    4975                                break;
     
    99125void    exec_trace_DS_suite(int u)      // appellé quoiqu'il arrive avec u=0,1,2,.... , npt_DS-1
    100126{
    101 static double y[nb_max_bolo+1],y1[nb_max_bolo+1],y2[nb_max_bolo+1],bb[nb_max_bolo+1];
     127static double y[2*nb_max_bolo],y1[2*nb_max_bolo],y2[2*nb_max_bolo],bb[2*nb_max_bolo];
    102128int j;
    103129static double  phase_mesure[nb_max_bolo],confiance[nb_max_bolo],phase_memoire;
    104 
     130//printf("suite avec u=%d \n");
    105131switch(choix_DS)
    106132        {
     
    119145                                {
    120146                                phase_mesure[j]=atan2(y1[j],y2[j]);
    121                                 confiance[j]=log((y1[j]*y1[j]+y2[j]*y2[j])/(bb[j]*bb[j]));
    122                                 printf(" %d°(%2.1f)  ",degre(phase_mesure[j]),confiance[j]);
     147                                confiance[j]=bb[j]*bb[j];
     148                                if(confiance[j])        confiance[j]=log((y1[j]*y1[j]+y2[j]*y2[j])/(bb[j]*bb[j]));
    123149                                }
    124                         j=1;    // bolo pur mesurer la phase
    125                         phase_memoire=phase_mesure[j];
     150                        j=5;    // bolo pur mesurer la phase
     151                        phase_memoire=0.95*phase_memoire+0.05*phase_mesure[j];
    126152                        ecritD(fenetre_trace_DS,ds_phase,"%d°",degre(phase_memoire));
    127                         printf(": phase memoire=%g  \n",phase_memoire);
     153                        printf(" phase=%d°(%2.1f)  \n",degre(phase_mesure[j]),confiance[j]);
     154//                      printf(": phase memoire=%g  \n",phase_memoire);
     155//                      printf(" trace y1= %g , %g , %g , %g , %g \n",y1[0],y1[1],y1[2],y1[3],y1[4]);
     156                        for(j=0;j<nb_max_bolo;j++)
     157                                {
     158                                y1[j+nb_max_bolo]=y2[j];
     159                                }
     160
     161/*                             
    128162                        for(j=0;j<nb_max_bolo;j++)
    129163                                {
    130164                                y1[j]=sin(phase_memoire)*y1[j]+cos(phase_memoire)*y2[j];
    131165                                }
    132 //                      printf(" trace y1= %g , %g , %g , %g , %g \n",y1[0],y1[1],y1[2],y1[3],y1[4]);
     166                        printf(" trace y1= %g , %g , %g , %g , %g \n",y1[0],y1[1],y1[2],y1[3],y1[4]);
     167*/
    133168                        trace_DS(y1,0);
    134169                        for(j=0;j<nb_max_bolo;j++)
     
    208243
    209244// divise par la norme, trace y puis fait un RAZ
    210 void trace_DS(double *y,int enregistre)         //   y [nb_max_bolo +1 ]
     245void trace_DS(double *y,int enregistre)         //   y [2*nb_max_bolo]
    211246{
    212247double x;
    213 static double yraz[nb_max_bolo];
    214 static double yt[nb_max_bolo+1];
     248static double yraz[2*nb_max_bolo];
     249static double yt[2*nb_max_bolo];
    215250int j,k,moy;
    216 static double yfiltre[nb_max_bolo][10];
     251static double yfiltre[2*nb_max_bolo][10];
    217252static int uf=0;
     253static int scan_ds=0;
    218254x=gg->periode_echantillonage*(double)gg->temps_cntl-gg->temps_origine;
    219255
     
    231267
    232268
    233 for(j=0;j<nb_max_bolo;j++)      yt[j]=y[j];
    234 for(j=0;j<nb_max_bolo;j++)      y[j]=0;
     269for(j=0;j<2*nb_max_bolo;j++)    yt[j]=y[j];
     270for(j=0;j<2*nb_max_bolo;j++)    y[j]=0;
    235271
    236272//printf(" au debut = %g , %g , %g , %g , %g \n",yt[0],yt[1],yt[2],yt[3],yt[4]);
     
    239275
    240276
    241 for(j=0;j<nb_max_bolo;j++)
     277for(j=0;j<2*nb_max_bolo;j++)
    242278                        {
    243279                        yt[j]/=norme_DS;
     
    251287raz_parasite=0;
    252288selectgra(fenetre_trace_DS);
    253 yt[nb_max_bolo]=(0.95*graph->ymin+0.05*graph->ymax) +
    254                 +  ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) * 0.9 * (graph->ymax-graph->ymin);
    255 //printf(" signal subscan=%g  ",yt[nb_max_bolo]);
    256 //printf(" avant moyenne= %g , %g , %g , %g , %g \n",yt[0],yt[1],yt[2],yt[3],yt[4]);
     289if(scan_ds != ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) )
     290        {
     291        if(scan_ds)     rectangle(fenetre_trace_DS,x,graph->ymin,x,graph->ymax,rouge);          // trace le segment x1,y1 - x2,y2               
     292          else  rectangle(fenetre_trace_DS,x,graph->ymin,x,graph->ymax,bleu);           // trace le segment x1,y1 - x2,y2               
     293
     294        scan_ds = ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) ;
     295        }
     296
    257297
    258298moy=litD(fenetre_trace_DS,ds_moyenne,0L);
     
    262302        uf++;
    263303        if(uf>=moy) uf=0;
    264         for(j=0;j<nb_max_bolo;j++)                                      //  ne moyenne pas le signal de scan
     304        for(j=0;j<2*nb_max_bolo;j++)                                   
    265305                {
    266306                for(k=0;k<moy;k++)      yfiltre[j][k]+=yt[j];
     
    271311//printf(" montracen yt= %g , %g , %g , %g , %g \n",yt[0],yt[1],yt[2],yt[3],yt[4]);
    272312//printf(" avant trace : =%g  \n",yt[nb_max_bolo]);
    273 montracen(fenetre_trace_DS,nb_max_bolo+1,x,yt);
    274 
     313montracen_ds(fenetre_trace_DS,2*nb_max_bolo,x,yt);
    275314if(!(graph->scroll_courbe) && litD(fenetre_trace_DS,ds_retour,0L) &&
    276315                 ( (x<graph->xmin) ou (x>graph->xmax) ))
     
    415454}
    416455
     456
     457
     458void    montracen_ds(int fen,int n,double x,double *y)
     459{
     460int i,cc;
     461double yy[max_couleur];   // 0=rien : 1 2=bolo0 // 3 4 =bolo
     462for(i=0;i<max_couleur;i++)
     463        {
     464        cc=ds_bolo_coul[i];
     465        if(cc && (cc<=2*nb_max_bolo) )  yy[i]=y[cc-1];
     466                else            yy[i]=0;
     467        }
     468tracen(fen,max_couleur,x,yy);
     469//      printf("0=%g  1=%g  2=%g  \n",yy[0],yy[1],yy[2]);
     470}
     471
  • trunk/Poubelle/archediab.old/archediab.sources/c/trace_tout.c

    r637 r639  
    1919int  i,j;
    2020double x,c1,c2;
     21static int scan_tt;
    2122util_trace_tout *SS;
    2223SS=infos(fen)->util;
     
    9192
    9293    case tache_de_fond          :       selectgra(fen);
    93                                                
    94                                                         c1=2*3.14*SS->fmini*gg->periode_echantillonage;         c1=c1/(1+c1);   
    95                                                         c2=2*3.14*SS->fmaxi*gg->periode_echantillonage;         c2=c2/(1+c2);   
     94                                                        c1=2*3.14*SS->fmini*gg->periode_echantillonage; if(c1>0)        c1=c1/(1+c1);   
     95                                                        c2=2*3.14*SS->fmaxi*gg->periode_echantillonage; if(c2>0)        c2=c2/(1+c2);   
    9696                                                       
    9797                                                for(j=0;j<nb_max_bolo;j++)             
     
    105105                                                                {
    106106                                                                SS->ipas=SS->moyenne;
    107                                                                 for(j=0;j<nb_max_bolo;j++) SS->y[j]=SS->y[j]/(double)SS->moyenne;
    108                                                                 printf("trace_tout  un  point \n");
    109                                                                
    110 //                                                              SS->[nb_max_bolo]=(0.95*graph->ymin+0.05*graph->ymax) +
    111 //                                                                      +  ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) )
    112 //                                                                              * 0.9 * (graph->ymax-graph->ymin);
     107                                                                if(SS->moyenne) for(j=0;j<nb_max_bolo;j++) SS->y[j]=SS->y[j]/(double)SS->moyenne;
     108//                                                              printf("trace_tout  un  point \n");
    113109
    114110                                                                x=gg->periode_echantillonage*(double)gg->temps_cntl-gg->temps_origine;
    115 //                                                              printf("x=%g  x0=%g  \n",x,x0);
    116                                                                 //if(x<0) {x0=gg->periode_echantillonage*(double)gg->temps_cntl;x=0;}
     111                                                               
     112if(scan_tt != ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) )
     113        {
     114        if(scan_tt)     rectangle(fen,x,graph->ymin,x,graph->ymax,rouge);               // trace le segment x1,y1 - x2,y2               
     115          else  rectangle(fen,x,graph->ymin,x,graph->ymax,bleu);                // trace le segment x1,y1 - x2,y2               
    117116
     117        scan_tt = ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) ;
     118        }
    118119
    119                                                                 montracen_tout(fen,nb_max_bolo,x,SS);   // SANS LA SYNCHRO
    120 //                                                              montracen(fen,nb_max_bolo+1,x,SS->y);   // avec la synchro
     120                                                                montracen_tout(fen,nb_max_bolo,x,SS);
    121121
    122122
     
    144144for(i=0;i<max_couleur;i++)
    145145        {
    146         if(SS->bolo_couleur[i]) yy[i]=SS->y[SS->bolo_couleur[i]-1];
     146        if( (SS->bolo_couleur[i]>=1) && (SS->bolo_couleur[i]<nb_max_bolo+1) )   yy[i]=SS->y[SS->bolo_couleur[i]-1];
    147147                else            yy[i]=0;
    148148        }
  • trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h

    r637 r639  
    3030void exec_acquisition(int fen,int item,double valeur,...);   //  prototype de la fonction
    3131
    32 // liste des items de la fenetre (44) items
     32// liste des items de la fenetre (46) items
    3333
    3434#define  e_nb_mes                2     //   controle
     
    5151#define  e_sauve                 32     //   controle
    5252#define  e_vanne                 33     //   controle
    53 #define  e_chauf                 34     //   controle
     53#define  e_helium                34     //   controle
    5454#define  e_bolo_couleur          35     //   controle
    5555#define  e_bolo_couleur36        36     //   controle
     
    6262#define  e_bolo_couleur43        43     //   controle
    6363#define  e_bolo_couleur44        44     //   controle
     64#define  e_chauf                 45     //   controle
     65#define  e_cmd                   46     //   controle
    6466
    6567//fin_id
  • trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h

    r637 r639  
    5757
    5858extern   param_bolo     parametr;               // liste bolo dans le programme principal
     59extern   reglage_bolo   reglage_standard[8];            // liste bolo dans le programme principal
    5960
    6061
  • trunk/Poubelle/archediab.old/archediab.sources/h/dilution.h

    r637 r639  
    99void exec_dilution(int fen,int item,double valeur,...);   //  prototype de la fonction
    1010
    11 // liste des items de la fenetre (64) items
     11// liste des items de la fenetre (69) items
    1212
    1313#define  dil_switch_helium         2     //   controle
     
    3030#define  dil_EVV_retour            22     //   controle
    3131#define  dil_d_3He                 23     //   controle
    32 #define  dil_d_4He                 24     //   controle
     32#define  dil_envoi_dac             24     //   controle
    3333#define  dil_RP_He                 25     //   controle
    3434#define  dil_p_d_3He               26     //   static texte
     
    6363#define  dil_t_b3                  55     //   controle
    6464#define  dil_t_b4                  56     //   controle
    65 #define  dil_ch1                57     //   controle
    66 #define  dil_ch2                58     //   controle
    67 #define  dil_ch3                59     //   controle
    68 #define  dil_ch4                60     //   controle
    69 #define  dil_ch5                61     //   controle
    70 #define  dil_ch6                62     //   controle
    71 #define  dil_ch7                63     //   controle
    72 #define  dil_extra              64     //   controle
     65#define  dil_ch1                   57     //   controle
     66#define  dil_ch2                   58     //   controle
     67#define  dil_ch3                   59     //   controle
     68#define  dil_ch4                   60     //   controle
     69#define  dil_ch5                   61     //   controle
     70#define  dil_ch6                   62     //   controle
     71#define  dil_ch7                   63     //   controle
     72#define  dil_sw_extra              64     //   controle
     73#define  dil_temp                  66     //   static texte
     74#define  dil_trace_tempe           67     //   controle
     75#define  dil_dac_1                 68     //   controle
     76#define  dil_dac_2                 69     //   controle
    7377
    7478//fin_id
  • trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h

    r637 r639  
    5454#define fenetre_param_reglage                           142
    5555#define fenetre_fichier_archeops_c                      143
     56#define fenetre_temperature_dil                         144
    5657
    5758
  • trunk/Poubelle/archediab.old/archediab.sources/h/senseur_stellaire.h

    r637 r639  
    99void exec_senseur_stellaire(int fen,int item,double valeur,...);   //  prototype de la fonction
    1010
    11 // liste des items de la fenetre (3) items
     11// liste des items de la fenetre (4) items
    1212
    1313#define  sst_azer                  1     //   edit texte
    1414#define  sst_sortie_brute          3     //   controle
     15#define  sst_prem_diode            4     //   controle
    1516
    1617//fin_id
  • trunk/Poubelle/archediab.old/archediab.sources/h/synchro.h

    r637 r639  
    3232void exec_trace_DS(int fen,int item,double valeur,...);   //  prototype de la fonction
    3333
    34 // liste des items de la fenetre (12) items
     34// liste des items de la fenetre (31) items
    3535
    36 #define  ds_filtre                3     //   edit texte
     36#define  ds_moyenne               3     //   edit texte
    3737#define  ds_raz                   4     //   bouton
    3838#define  ds_periode               5     //   static texte
     
    4242#define  ds_raz_parasite          11     //   controle
    4343#define  ds_enregistre            12     //   controle
     44#define  ds_retour                13     //   controle
     45#define  ds_bolo_couleur          24     //   controle
     46#define  ds_bolo_couleur25        25     //   controle
     47#define  ds_bolo_couleur26        26     //   controle
     48#define  ds_bolo_couleur27        27     //   controle
     49#define  ds_bolo_couleur28        28     //   controle
     50#define  ds_bolo_couleur29        29     //   controle
     51#define  ds_bolo_couleur30        30     //   controle
     52#define  ds_bolo_couleur31        31     //   controle
    4453
    4554//fin_id
  • trunk/Poubelle/archediab.old/archeops.c

    r637 r639  
    11#include "manip.h"
    22#include "archeops.h"
     3
    34
    45
     
    3233
    3334
    34 /*  nom  ,  on/off  ,  0 = MLPA       , N° bolo ,  gain_pa  , capa*1000 , diviseur , coef*10000
    35 /*       ,  0 ou 1  ,  2..8 = BEBO    ,  hard   ,           ,  4700     ,  333     ,
    36 /*                     10 = Bediff    ,         ,           ,
    37 
    38 /* pour les bediff (code 10)  le n° de bolo est  N° de bebo*8  +  numero dans la bebo
    39 /*  soit :  1 2 3 4 5 6  ..  9 10 11 12 13 14 .. 17 18 19 20 21 22 .. etc
     35/*  nom  ,  on/off  ,  0 = MLPA       , N° bolo ,  gain_pa  , capa*1000 , diviseur , coef*10000 */
     36/*       ,  0 ou 1  ,  2..8 = BEBO    ,  hard   ,           ,  4700     ,  333     ,            */
     37/*                     10 = Bediff    ,         ,           ,                                   */
     38
     39/* pour les bediff (code 10)  le n° de bolo est  N° de bebo*8  +  numero dans la bebo           */
     40/*  soit :  1 2 3 4 5 6  ..  9 10 11 12 13 14 .. 17 18 19 20 21 22 .. etc                       */
    4041
    4142
     
    4344/*----------------------------------  fenetre :  -----------------------------------*/
    4445
    45 param_bolo  parametr={24,24,36,88,18,
    46 
    47 {
    48 { "v1-bedif1"  , 1,10,1 ,  200, 22000,  200, { 5000   , 123100 , 334200 } },           
    49 { "v1-bedif2"  , 1,10,2 ,  200, 22000,  200, { 5000    , 12.31 , 33.42          } },
    50 { "v1-bedif3"  , 1,10,3 ,  200, 22000,  200, { 5000    , 50.0 , 14.0            } },
    51 { "v1-bedif4"  , 1,10,4 ,  200, 22000,  200,  { 5000    , 12.31 , 33.42         } },
    52 { "v1-bedif5"  , 1,10,5 , 1000, 4700, 1000,  { 5000      , 12.31 , 33.42        } },
    53 { "v1-bedif6"  , 1,10,6 , 1000, 4700, 1000,  { 5000      , 12.31 , 33.42        } },
    54 
    55 { "v1-bedif7"  , 1,10,9 , 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                 } },
    56 { "v1-bedif8"  , 1,10,10, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                 } },
    57 { "v1-bedif9"  , 1,10,11, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                 } },
    58 { "v1-bedif10" , 1,10,12, 1000, 4700, 1000,  { 5000     , 12.31 , 33.42                  } },
    59 { "v1-bedif11" , 1,10,13, 1000, 4700, 1000, { 5000     , 12.31 , 33.42           } },
    60 { "v1-bedif12" , 1,10,14, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                 } },
    61 
    62 { "v1-bedif13" , 1,10,17, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                 } },
    63 { "v1-bedif14" , 1,10,18, 1000, 4700, 1000,  { 5000     , 12.31 , 33.42                  } },
    64 { "germanium"  , 3,10,19, 1000, 22000 ,    0,  { 5000      , 12.31 , 33.42               } },
    65 { "therm_4k"   , 3,10,20, 1000, 1000  ,    0,  { 5000      , 12.31 , 33.42               } },
    66 { "therm_1.6k" , 3,10,21, 1000, 1000  ,    0,  { 5000      , 12.31 , 33.42               } },
    67 { "therm_10k"  , 3,10,22, 1000, 1000  ,    0,  { 5000     , 12.31 , 33.42                } },
    68 
    69 { "v1-bedif19"  , 2,10,25 , 1000, 4700, 1000,  { 5000      , 12.31 , 33.42               } },
    70 { "v1-bedif20"  , 2,10,26, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                } },
    71 { "v1-bedif21"  , 2,10,27, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                } },
    72 { "v1-bedif22"  , 2,10,28, 1000, 4700, 1000,  { 5000     , 12.31 , 33.42                 } },
    73 { "v1-bedif23"  , 2,10,29, 1000, 4700, 1000,  { 5000     , 12.31 , 33.42                 } },
    74 { "v1-bedif24"  , 2,10,30, 1000, 4700, 1000,  { 5000      , 12.31 , 33.42                } }
     46param_bolo  parametr={25,24,36,88,18,
     47
     48{ 
     49{ "v1-bedif1"  , 1,10,1 ,  200, 22000   ,  200,  { 5000  , 123100 , 334200,0,0,0,0} },         
     50{ "v1-bedif2"  , 1,10,2 ,  200, 22000   ,  200,  {  500  , 136180 ,   9010,0,0,0,0} },
     51{ "v1-bedif3"  , 1,10,3 ,  200, 22000   ,  200,  {  500  , 136180 ,   9010,0,0,0,0} },
     52{ "v1-bedif4"  , 1,10,4 ,  200, 22000   ,  200,  { 5000  , 123100 , 334200,0,0,0,0} },
     53{ "v1-bedif5"  , 1,10,5 , 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     54{ "v1-bedif6"  , 1,10,6 , 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     55
     56{ "v1-bedif7"  , 1,10,9 , 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     57{ "v1-bedif8"  , 1,10,10, 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     58{ "v1-bedif9"  , 1,10,11, 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     59{ "v1-bedif10" , 1,10,12, 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     60{ "v1-bedif11" , 1,10,13, 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     61{ "v1-bedif12" , 1,10,14, 1000, 4700    , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     62
     63{ "v1-bedif13"  , 1,10,17, 1000, 100000 , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     64{ "v1-bedif14"  , 1,10,18, 1000, 470000 , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     65{ "bedif15"     , 1,10,19, 1000, 470000 , 1000,  {  500  ,  58800 ,  12500,0,0,0,0} },
     66{ "bedif16"     , 1,10,20, 1000,2200000 , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     67{ "bedif17"     , 1,10,21, 1000, 4700   , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     68{ "bedif18"     , 1,10,22, 1000, 4700   , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     69
     70{ "v1-bedif19"  , 2,10,25, 1000, 4700   , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     71{ "v1-bedif20"  , 2,10,26, 1000, 4700   , 1000,  { 5000  , 123100 , 334200,0,0,0,0} },
     72{ "germanium"   , 3,10,27, 1000, 22000  ,    0,  { 3500  ,  17100 , 646500,0,0,0,0} },
     73{ "therm_4k"    , 3,10,28, 1000, 1000   ,    0,  {12000  ,1804000 ,  72800,0,0,0,0} },
     74{ "therm_1.6k"  , 3,10,29, 1000, 1000   ,    0,  {12000  ,1804000 ,  72800,0,0,0,0} },
     75{ "therm_10k"   , 3,10,30, 1000, 1000   ,    0,  {12000  ,1804000 ,  72800,0,0,0,0} },
    7576
    7677}
     
    115116
    116117/*debut_nom_reglage*/
    117 /* 0->aa*/
    118 /* 1->bb*/
     118/* 0->a chaud complet*/
     119/* 1->a froid pour V(I)*/
    119120/* 2->cc*/
    120 /* 3->reglage 3  */
    121 /* 4->reglage 4  */
     121/* 3->a chaud complet*/
     122/* 4->chaud avec synchro*/
    122123/* 5->reglage 5  */
    123124/* 6->reglage 6  */
     
    131132
    132133
     134
     135
     136
     137
     138
     139
     140
     141
     142
     143
     144
     145
     146
     147
     148
     149
     150
     151
     152
     153
     154
     155
     156
     157
     158
     159
     160
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171
     172
     173
     174
     175
     176
     177
     178
    133179reglage_bolo  reglage_standard[8]={{
    134180
    135181
    136182/*debut reglage 0 */
     183#ifdef programme
    137184{30,76,9,1},
    138185{0
    139186,10
    140187,1
    141 ,3
    142 ,10
    143 ,2
    144 ,0
    145 ,0
    146 ,1
    147 ,0
    148 ,0
    149 ,0
    150 ,0
    151 ,0
    152 ,0
    153 ,0
    154 ,0
    155 ,0
    156 ,0
    157 ,0
    158 },{
    159 {22,100663296}
    160 ,{-100646890,1}
    161 ,{-100646890,1}
    162 ,{22,0}
    163 ,{-100638698,1}
    164 ,{22,253952}
    165 ,{-100646890,1}
    166 ,{22,0}
    167 ,{-100646890,1}
    168 ,{-100646890,1}
    169 ,{22,0}
    170 ,{235388950,221185}
    171 ,{20,0}
    172 ,{20,0}
    173 ,{16406,0}
    174 ,{24598,0}
    175 ,{22,0}
    176 ,{24598,0}
    177 },{
    178 {1,22,0,1}
    179 ,{0,20,0,1}
    180 ,{0,20,0,1}
    181 ,{0,20,0,1}
    182 ,{0,20,0,1}
    183 ,{0,20,0,1}
     188,1
     189,10
     190,1
     191,1
     192,0
     193,0
     194,0
     195,0
     196,0
     197,1
     198,0
     199,0
     200,0
     201,0
     202,0
     203,0
     204,0
     205},{
     206{20,0}
     207,{-1148225771,229380}
     208,{-1148367339,294916}
     209,{20,0}
     210,{21,221185}
     211,{21,0}
     212,{21,245761}
     213,{20,0}
     214,{21,245761}
     215,{277,253953}
     216,{20,0}
     217,{21,204801}
     218,{21,19457}
     219,{21,1}
     220,{11501589,8708}
     221,{20,0}
     222,{-100647916,0}
     223,{1015828,0}
     224,{20,0}
     225,{20,0}
     226,{1024022,0}
     227,{25622,0}
     228,{-100395499,0}
     229,{25622,0}
     230},{
     231{0,0,128,1}
     232,{0,0,128,4}
     233,{0,0,128,4}
     234,{0,0,128,3}
     235,{0,0,128,4}
     236,{0,0,128,4}
    184237},{
    185238{0,1,9,1,0,0,0}
     
    187240,{0,1,9,1,0,0,0}
    188241,{0,1,9,1,0,0,0}
    189 },{0,0,0,0,0,0,0,0}
     242},{1,3,129,108,3,126,104,88}
     243#else
     244{1,9,76,30},
     245{1
     246,1
     247,10
     248,0
     249,0
     250,1
     251,1
     252,10
     253,0
     254,0
     255,0
     256,0
     257,0
     258,0
     259,0
     260,1
     261,0
     262,0
     263,0
     264,0
     265},{
     266{20,0}
     267,{-1148225771,229380}
     268,{-1148367339,294916}
     269,{20,0}
     270,{21,221185}
     271,{21,0}
     272,{21,245761}
     273,{20,0}
     274,{21,245761}
     275,{277,253953}
     276,{20,0}
     277,{21,204801}
     278,{21,19457}
     279,{21,1}
     280,{11501589,8708}
     281,{20,0}
     282,{-100647916,0}
     283,{1015828,0}
     284,{20,0}
     285,{20,0}
     286,{1024022,0}
     287,{25622,0}
     288,{-100395499,0}
     289,{25622,0}
     290},{
     291{1,128,0,0}
     292,{4,128,0,0}
     293,{4,128,0,0}
     294,{3,128,0,0}
     295,{4,128,0,0}
     296,{4,128,0,0}
     297},{
     298{1,9,1,0,0,0,0}
     299,{1,9,1,0,0,0,0}
     300,{1,9,1,0,0,0,0}
     301,{1,9,1,0,0,0,0}
     302},{108,129,3,1,88,104,126,3}
     303#endif
    190304/*fin_reglage*/
    191305
     
    193307
    194308/*debut reglage 1 */
    195 {30,76,9,1},
     309#ifdef programme
     310{31,76,9,1},
    196311{0
    197312,10
    198313,1
    199 ,3
    200 ,10
    201 ,2
    202 ,0
    203 ,0
    204 ,1
    205 ,0
    206 ,0
    207 ,0
    208 ,0
    209 ,0
    210 ,0
    211 ,0
    212 ,0
    213 ,0
    214 ,0
    215 ,0
    216 },{
    217 {22,100663296}
    218 ,{-100646890,1}
    219 ,{-100646890,1}
    220 ,{22,0}
    221 ,{-100638698,1}
    222 ,{22,253952}
    223 ,{-100646890,1}
    224 ,{22,0}
    225 ,{-100646890,1}
    226 ,{-100646890,1}
    227 ,{22,0}
    228 ,{235388950,221185}
    229 ,{20,0}
    230 ,{20,0}
    231 ,{16406,0}
    232 ,{24598,0}
    233 ,{22,0}
    234 ,{24598,0}
    235 },{
    236 {1,22,0,1}
    237 ,{0,20,0,1}
    238 ,{0,20,0,1}
    239 ,{0,20,0,1}
    240 ,{0,20,0,1}
    241 ,{0,20,0,1}
     314,1
     315,10
     316,1
     317,0
     318,0
     319,1
     320,0
     321,0
     322,0
     323,0
     324,0
     325,0
     326,0
     327,0
     328,0
     329,0
     330,0
     331},{
     332{20,0}
     333,{-1148225771,229380}
     334,{-1148367339,294916}
     335,{20,0}
     336,{2127959573,221185}
     337,{21,0}
     338,{2127892757,245761}
     339,{20,0}
     340,{2127991317,245761}
     341,{2127996181,253953}
     342,{20,0}
     343,{2128584725,204801}
     344,{2127780885,19457}
     345,{2127795221,1}
     346,{11501589,8708}
     347,{20,0}
     348,{-100647916,0}
     349,{1015828,0}
     350,{20,0}
     351,{20,0}
     352,{12822,0}
     353,{25622,0}
     354,{-100660714,0}
     355,{25622,0}
     356},{
     357{2,21,25,1}
     358,{0,20,0,4}
     359,{0,20,0,4}
     360,{0,21,23,3}
     361,{0,20,0,4}
     362,{0,20,0,4}
    242363},{
    243364{0,1,9,1,0,0,0}
     
    245366,{0,1,9,1,0,0,0}
    246367,{0,1,9,1,0,0,0}
    247 },{0,0,0,0,0,0,0,0}
     368},{129,3,129,108,3,126,104,88}
     369#else
     370{1,9,76,31},
     371{1
     372,1
     373,10
     374,0
     375,0
     376,0
     377,1
     378,10
     379,0
     380,0
     381,0
     382,1
     383,0
     384,0
     385,0
     386,0
     387,0
     388,0
     389,0
     390,0
     391},{
     392{20,0}
     393,{-1148225771,229380}
     394,{-1148367339,294916}
     395,{20,0}
     396,{2127959573,221185}
     397,{21,0}
     398,{2127892757,245761}
     399,{20,0}
     400,{2127991317,245761}
     401,{2127996181,253953}
     402,{20,0}
     403,{2128584725,204801}
     404,{2127780885,19457}
     405,{2127795221,1}
     406,{11501589,8708}
     407,{20,0}
     408,{-100647916,0}
     409,{1015828,0}
     410,{20,0}
     411,{20,0}
     412,{12822,0}
     413,{25622,0}
     414,{-100660714,0}
     415,{25622,0}
     416},{
     417{1,25,21,2}
     418,{4,0,20,0}
     419,{4,0,20,0}
     420,{3,23,21,0}
     421,{4,0,20,0}
     422,{4,0,20,0}
     423},{
     424{1,9,1,0,0,0,0}
     425,{1,9,1,0,0,0,0}
     426,{1,9,1,0,0,0,0}
     427,{1,9,1,0,0,0,0}
     428},{108,129,3,129,88,104,126,3}
     429#endif
    248430/*fin_reglage*/
    249431
     
    251433
    252434/*debut reglage 2 */
    253 {31,76,9,0},
     435#ifdef programme
     436{197,191,175,185},
    254437{0
    255 ,-14
    256 ,-31
    257 ,-63
    258 ,-83
    259 ,-103
    260 ,-122
    261 ,127
    262 ,1
    263 ,97
    264 ,14
    265 ,-32
    266 ,-93
    267 ,-87
    268 ,-72
    269 ,-80
    270 ,-101
    271 ,-112
    272 ,-113
    273 ,-121
    274 },{
    275 {22,100663296}
    276 ,{1040629782,204800}
    277 ,{1040834582,221184}
    278 ,{22,0}
    279 ,{-100450282,2}
    280 ,{22,253952}
    281 ,{-100458474,2}
    282 ,{22,0}
    283 ,{-100442090,2}
    284 ,{-100253674,253954}
    285 ,{22,0}
    286 ,{303013910,221184}
    287 ,{20,0}
    288 ,{20,0}
    289 ,{9238,0}
    290 ,{24598,301989888}
    291 ,{22,0}
    292 ,{24598,0}
    293 ,{0,0}
    294 ,{0,0}
    295 ,{0,0}
    296 ,{0,0}
    297 ,{0,0}
    298 ,{0,0}
    299 },{
    300 {-15,-9,-13,-38}
    301 ,{-83,-109,-90,-68}
    302 ,{-99,-101,-67,-61}
    303 ,{-64,-60,-38,-19}
    304 ,{-28,-57,-77,-75}
    305 ,{-66,-55,-51,-68}
    306 },{
    307 {31,76,9,0,0,-35,-4643}
    308 ,{-55,-77,-69,-55,-44,-43,-12336}
    309 ,{-56,-85,-128,99,111,-116,-28030}
    310 ,{105,107,101,101,106,111,31615}
    311 },{-102,-88,-94,-113,-126,101,73,70}
     438,255
     439,254
     440,0
     441,0
     442,0
     443,0
     444,0
     445,0
     446,0
     447,0
     448,0
     449,83
     450,92
     451,94
     452,98
     453,65
     454,53
     455,53
     456,36
     457},{
     458{0,0}
     459,{0,0}
     460,{0,0}
     461,{0,0}
     462,{0,0}
     463,{0,0}
     464,{0,0}
     465,{0,0}
     466,{0,0}
     467,{0,0}
     468,{0,0}
     469,{0,0}
     470,{0,0}
     471,{0,0}
     472,{0,0}
     473,{0,0}
     474,{0,0}
     475,{0,0}
     476,{0,0}
     477,{0,0}
     478,{0,0}
     479,{0,0}
     480,{0,0}
     481,{0,0}
     482},{
     483{106,98,93,71}
     484,{66,74,87,66}
     485,{48,46,38,33}
     486,{40,41,33,26}
     487,{25,29,40,57}
     488,{63,62,71,80}
     489},{
     490{83,79,75,75,92,112,31100}
     491,{125,126,117,113,107,94,20315}
     492,{108,116,122,124,117,120,32117}
     493,{110,99,94,98,107,93,17217}
     494},{88,82,94,108,111,126,104,88}
     495#else
     496{185,175,191,197},
     497{0
     498,254
     499,255
     500,0
     501,0
     502,0
     503,0
     504,0
     505,0
     506,0
     507,0
     508,0
     509,98
     510,94
     511,92
     512,83
     513,36
     514,53
     515,53
     516,65
     517},{
     518{0,0}
     519,{0,0}
     520,{0,0}
     521,{0,0}
     522,{0,0}
     523,{0,0}
     524,{0,0}
     525,{0,0}
     526,{0,0}
     527,{0,0}
     528,{0,0}
     529,{0,0}
     530,{0,0}
     531,{0,0}
     532,{0,0}
     533,{0,0}
     534,{0,0}
     535,{0,0}
     536,{0,0}
     537,{0,0}
     538,{0,0}
     539,{0,0}
     540,{0,0}
     541,{0,0}
     542},{
     543{71,93,98,106}
     544,{66,87,74,66}
     545,{33,38,46,48}
     546,{26,33,41,40}
     547,{57,40,29,25}
     548,{80,71,62,63}
     549},{
     550{75,75,79,83,31100,112,92}
     551,{113,117,126,125,20315,94,107}
     552,{124,122,116,108,32117,120,117}
     553,{98,94,99,110,17217,93,107}
     554},{108,94,82,88,88,104,126,111}
     555#endif
    312556/*fin_reglage*/
    313557
     
    315559
    316560/*debut reglage 3 */
    317 {31,76,9,0},
     561#ifdef programme
     562{30,76,9,1},
    318563{0
    319 ,-14
    320 ,-31
    321 ,-63
    322 ,-83
    323 ,-103
    324 ,-122
    325 ,127
    326 ,1
    327 ,99
    328 ,13
    329 ,96
    330 ,-93
    331 ,-87
    332 ,-72
    333 ,-80
    334 ,-101
    335 ,-112
    336 ,-113
    337 ,-121
    338 },{
    339 {22,100663296}
    340 ,{1040629782,204800}
    341 ,{1040834582,221184}
    342 ,{22,0}
    343 ,{-100450282,2}
    344 ,{22,253952}
    345 ,{-100458474,2}
    346 ,{22,0}
    347 ,{-100442090,2}
    348 ,{-100253674,253954}
    349 ,{22,0}
    350 ,{303013910,221184}
    351 ,{20,0}
    352 ,{20,0}
    353 ,{9238,0}
    354 ,{24598,301989888}
    355 ,{22,0}
    356 ,{24598,0}
    357 ,{0,0}
    358 ,{0,0}
    359 ,{0,0}
    360 ,{0,0}
    361 ,{0,0}
    362 ,{0,0}
    363 },{
    364 {-15,-9,-13,-38}
    365 ,{-83,-109,-90,-68}
    366 ,{-99,-101,-67,-61}
    367 ,{-64,-60,-38,-19}
    368 ,{-28,-57,-77,-75}
    369 ,{-66,-55,-51,-68}
    370 },{
    371 {31,76,9,0,0,-35,-4643}
    372 ,{-55,-77,-69,-55,-44,-43,-12336}
    373 ,{-56,-85,-128,99,111,-116,-28030}
    374 ,{105,107,101,101,106,111,31615}
    375 },{-102,-88,-94,-113,-126,101,73,70}
     564,10
     565,1
     566,1
     567,10
     568,1
     569,0
     570,0
     571,0
     572,0
     573,0
     574,0
     575,1
     576,0
     577,0
     578,0
     579,0
     580,0
     581,0
     582,0
     583},{
     584{20,0}
     585,{-1149239274,229380}
     586,{-1149239275,294916}
     587,{20,0}
     588,{20,221185}
     589,{21,0}
     590,{20,245761}
     591,{20,0}
     592,{20,245761}
     593,{276,253953}
     594,{20,0}
     595,{20,204801}
     596,{20,19457}
     597,{20,1}
     598,{10486037,8708}
     599,{20,0}
     600,{-100647916,0}
     601,{1015828,0}
     602,{20,0}
     603,{20,0}
     604,{1024022,0}
     605,{25622,0}
     606,{-100660714,0}
     607,{25622,0}
     608},{
     609{0,20,0,1}
     610,{0,20,0,4}
     611,{0,20,0,4}
     612,{2,20,0,3}
     613,{0,20,0,4}
     614,{0,20,0,4}
     615},{
     616{0,1,9,1,0,0,0}
     617,{0,1,9,1,0,0,0}
     618,{0,1,9,1,0,0,0}
     619,{0,1,9,1,0,0,0}
     620},{1,3,129,108,3,126,104,88}
     621#else
     622{1,9,76,30},
     623{1
     624,1
     625,10
     626,0
     627,0
     628,0
     629,1
     630,10
     631,0
     632,0
     633,0
     634,0
     635,0
     636,0
     637,0
     638,1
     639,0
     640,0
     641,0
     642,0
     643},{
     644{20,0}
     645,{-1149239274,229380}
     646,{-1149239275,294916}
     647,{20,0}
     648,{20,221185}
     649,{21,0}
     650,{20,245761}
     651,{20,0}
     652,{20,245761}
     653,{276,253953}
     654,{20,0}
     655,{20,204801}
     656,{20,19457}
     657,{20,1}
     658,{10486037,8708}
     659,{20,0}
     660,{-100647916,0}
     661,{1015828,0}
     662,{20,0}
     663,{20,0}
     664,{1024022,0}
     665,{25622,0}
     666,{-100660714,0}
     667,{25622,0}
     668},{
     669{1,0,20,0}
     670,{4,0,20,0}
     671,{4,0,20,0}
     672,{3,0,20,2}
     673,{4,0,20,0}
     674,{4,0,20,0}
     675},{
     676{1,9,1,0,0,0,0}
     677,{1,9,1,0,0,0,0}
     678,{1,9,1,0,0,0,0}
     679,{1,9,1,0,0,0,0}
     680},{108,129,3,1,88,104,126,3}
     681#endif
    376682/*fin_reglage*/
    377683
     
    379685
    380686/*debut reglage 4 */
    381 {31,76,9,0},
     687#ifdef programme
     688{30,76,9,1},
    382689{0
    383 ,-14
    384 ,-31
    385 ,-63
    386 ,-83
    387 ,-103
    388 ,-122
    389 ,127
    390 ,1
    391 ,99
    392 ,13
    393 ,112
    394 ,-93
    395 ,-87
    396 ,-72
    397 ,-80
    398 ,-101
    399 ,-112
    400 ,-113
    401 ,-121
    402 },{
    403 {22,100663296}
    404 ,{1040629782,204800}
    405 ,{1040834582,221184}
    406 ,{22,0}
    407 ,{-100450282,2}
    408 ,{22,253952}
    409 ,{-100458474,2}
    410 ,{22,0}
    411 ,{-100442090,2}
    412 ,{-100253674,253954}
    413 ,{22,0}
    414 ,{303013910,221184}
    415 ,{20,0}
    416 ,{20,0}
    417 ,{9238,0}
    418 ,{24598,301989888}
    419 ,{22,0}
    420 ,{24598,0}
    421 ,{0,0}
    422 ,{0,0}
    423 ,{0,0}
    424 ,{0,0}
    425 ,{0,0}
    426 ,{0,0}
    427 },{
    428 {-15,-9,-13,-38}
    429 ,{-83,-109,-90,-68}
    430 ,{-99,-101,-67,-61}
    431 ,{-64,-60,-38,-19}
    432 ,{-28,-57,-77,-75}
    433 ,{-66,-55,-51,-68}
    434 },{
    435 {31,76,9,0,0,-35,-4643}
    436 ,{-55,-77,-69,-55,-44,-43,-12336}
    437 ,{-56,-85,-128,99,111,-116,-28030}
    438 ,{105,107,101,101,106,111,31615}
    439 },{-102,-88,-94,-113,-126,101,73,70}
     690,10
     691,1
     692,1
     693,10
     694,1
     695,1
     696,0
     697,0
     698,0
     699,0
     700,0
     701,1
     702,0
     703,0
     704,0
     705,0
     706,0
     707,0
     708,0
     709},{
     710{20,0}
     711,{-1148225771,229380}
     712,{-1148367339,294916}
     713,{20,0}
     714,{21,221185}
     715,{21,0}
     716,{21,245761}
     717,{20,0}
     718,{21,245761}
     719,{277,253953}
     720,{20,0}
     721,{21,204801}
     722,{21,19457}
     723,{21,1}
     724,{11501589,8708}
     725,{20,0}
     726,{-100647916,0}
     727,{1015828,0}
     728,{20,0}
     729,{20,0}
     730,{1024022,0}
     731,{25622,0}
     732,{-100395499,0}
     733,{25622,0}
     734},{
     735{0,0,128,1}
     736,{0,0,128,4}
     737,{0,0,128,4}
     738,{0,0,128,3}
     739,{0,0,128,4}
     740,{0,0,128,4}
     741},{
     742{0,1,9,1,0,0,0}
     743,{0,1,9,1,0,0,0}
     744,{0,1,9,1,0,0,0}
     745,{0,1,9,1,0,0,0}
     746},{1,3,129,108,3,126,104,88}
     747#else
     748{1,9,76,30},
     749{1
     750,1
     751,10
     752,0
     753,0
     754,1
     755,1
     756,10
     757,0
     758,0
     759,0
     760,0
     761,0
     762,0
     763,0
     764,1
     765,0
     766,0
     767,0
     768,0
     769},{
     770{20,0}
     771,{-1148225771,229380}
     772,{-1148367339,294916}
     773,{20,0}
     774,{21,221185}
     775,{21,0}
     776,{21,245761}
     777,{20,0}
     778,{21,245761}
     779,{277,253953}
     780,{20,0}
     781,{21,204801}
     782,{21,19457}
     783,{21,1}
     784,{11501589,8708}
     785,{20,0}
     786,{-100647916,0}
     787,{1015828,0}
     788,{20,0}
     789,{20,0}
     790,{1024022,0}
     791,{25622,0}
     792,{-100395499,0}
     793,{25622,0}
     794},{
     795{1,128,0,0}
     796,{4,128,0,0}
     797,{4,128,0,0}
     798,{3,128,0,0}
     799,{4,128,0,0}
     800,{4,128,0,0}
     801},{
     802{1,9,1,0,0,0,0}
     803,{1,9,1,0,0,0,0}
     804,{1,9,1,0,0,0,0}
     805,{1,9,1,0,0,0,0}
     806},{108,129,3,1,88,104,126,3}
     807#endif
    440808/*fin_reglage*/
    441809
     
    443811
    444812/*debut reglage 5 */
    445 {31,76,9,0},
     813#ifdef programme
     814{197,191,175,185},
    446815{0
    447 ,-14
    448 ,-31
    449 ,-63
    450 ,-83
    451 ,-103
    452 ,-122
    453 ,127
    454 ,1
    455 ,97
    456 ,14
    457 ,-80
    458 ,-93
    459 ,-87
    460 ,-72
    461 ,-80
    462 ,-101
    463 ,-112
    464 ,-113
    465 ,-121
    466 },{
    467 {22,100663296}
    468 ,{1040629782,204800}
    469 ,{1040834582,221184}
    470 ,{22,0}
    471 ,{-100450282,2}
    472 ,{22,253952}
    473 ,{-100458474,2}
    474 ,{22,0}
    475 ,{-100442090,2}
    476 ,{-100253674,253954}
    477 ,{22,0}
    478 ,{303013910,221184}
    479 ,{20,0}
    480 ,{20,0}
    481 ,{9238,0}
    482 ,{24598,301989888}
    483 ,{22,0}
    484 ,{24598,0}
    485 ,{0,0}
    486 ,{0,0}
    487 ,{0,0}
    488 ,{0,0}
    489 ,{0,0}
    490 ,{0,0}
    491 },{
    492 {-15,-9,-13,-38}
    493 ,{-83,-109,-90,-68}
    494 ,{-99,-101,-67,-61}
    495 ,{-64,-60,-38,-19}
    496 ,{-28,-57,-77,-75}
    497 ,{-66,-55,-51,-68}
    498 },{
    499 {31,76,9,0,0,-35,-4643}
    500 ,{-55,-77,-69,-55,-44,-43,-12336}
    501 ,{-56,-85,-128,99,111,-116,-28030}
    502 ,{105,107,101,101,106,111,31615}
    503 },{-102,-88,-94,-113,-126,101,73,70}
     816,255
     817,254
     818,0
     819,0
     820,0
     821,0
     822,0
     823,0
     824,0
     825,0
     826,0
     827,83
     828,92
     829,94
     830,98
     831,65
     832,53
     833,53
     834,36
     835},{
     836{0,0}
     837,{0,0}
     838,{0,0}
     839,{0,0}
     840,{0,0}
     841,{0,0}
     842,{0,0}
     843,{0,0}
     844,{0,0}
     845,{0,0}
     846,{0,0}
     847,{0,0}
     848,{0,0}
     849,{0,0}
     850,{0,0}
     851,{0,0}
     852,{0,0}
     853,{0,0}
     854,{0,0}
     855,{0,0}
     856,{0,0}
     857,{0,0}
     858,{0,0}
     859,{0,0}
     860},{
     861{106,98,93,71}
     862,{66,74,87,66}
     863,{48,46,38,33}
     864,{40,41,33,26}
     865,{25,29,40,57}
     866,{63,62,71,80}
     867},{
     868{83,79,75,75,92,112,31100}
     869,{125,126,117,113,107,94,20315}
     870,{108,116,122,124,117,120,32117}
     871,{110,99,94,98,107,93,17217}
     872},{88,82,94,108,111,126,104,88}
     873#else
     874{185,175,191,197},
     875{0
     876,254
     877,255
     878,0
     879,0
     880,0
     881,0
     882,0
     883,0
     884,0
     885,0
     886,0
     887,98
     888,94
     889,92
     890,83
     891,36
     892,53
     893,53
     894,65
     895},{
     896{0,0}
     897,{0,0}
     898,{0,0}
     899,{0,0}
     900,{0,0}
     901,{0,0}
     902,{0,0}
     903,{0,0}
     904,{0,0}
     905,{0,0}
     906,{0,0}
     907,{0,0}
     908,{0,0}
     909,{0,0}
     910,{0,0}
     911,{0,0}
     912,{0,0}
     913,{0,0}
     914,{0,0}
     915,{0,0}
     916,{0,0}
     917,{0,0}
     918,{0,0}
     919,{0,0}
     920},{
     921{71,93,98,106}
     922,{66,87,74,66}
     923,{33,38,46,48}
     924,{26,33,41,40}
     925,{57,40,29,25}
     926,{80,71,62,63}
     927},{
     928{75,75,79,83,31100,112,92}
     929,{113,117,126,125,20315,94,107}
     930,{124,122,116,108,32117,120,117}
     931,{98,94,99,110,17217,93,107}
     932},{108,94,82,88,88,104,126,111}
     933#endif
    504934/*fin_reglage*/
    505935
     
    507937
    508938/*debut reglage 6 */
     939#ifdef programme
     940{197,191,175,185},
     941{0
     942,255
     943,254
     944,0
     945,0
     946,0
     947,0
     948,0
     949,0
     950,0
     951,0
     952,0
     953,83
     954,92
     955,94
     956,98
     957,65
     958,53
     959,53
     960,36
     961},{
     962{0,0}
     963,{0,0}
     964,{0,0}
     965,{0,0}
     966,{0,0}
     967,{0,0}
     968,{0,0}
     969,{0,0}
     970,{0,0}
     971,{0,0}
     972,{0,0}
     973,{0,0}
     974,{0,0}
     975,{0,0}
     976,{0,0}
     977,{0,0}
     978,{0,0}
     979,{0,0}
     980,{0,0}
     981,{0,0}
     982,{0,0}
     983,{0,0}
     984,{0,0}
     985,{0,0}
     986},{
     987{106,98,93,71}
     988,{66,74,87,66}
     989,{48,46,38,33}
     990,{40,41,33,26}
     991,{25,29,40,57}
     992,{63,62,71,80}
     993},{
     994{83,79,75,75,92,112,31100}
     995,{125,126,117,113,107,94,20315}
     996,{108,116,122,124,117,120,32117}
     997,{110,99,94,98,107,93,17217}
     998},{88,82,94,108,111,126,104,88}
     999#else
     1000{185,175,191,197},
     1001{0
     1002,254
     1003,255
     1004,0
     1005,0
     1006,0
     1007,0
     1008,0
     1009,0
     1010,0
     1011,0
     1012,0
     1013,98
     1014,94
     1015,92
     1016,83
     1017,36
     1018,53
     1019,53
     1020,65
     1021},{
     1022{0,0}
     1023,{0,0}
     1024,{0,0}
     1025,{0,0}
     1026,{0,0}
     1027,{0,0}
     1028,{0,0}
     1029,{0,0}
     1030,{0,0}
     1031,{0,0}
     1032,{0,0}
     1033,{0,0}
     1034,{0,0}
     1035,{0,0}
     1036,{0,0}
     1037,{0,0}
     1038,{0,0}
     1039,{0,0}
     1040,{0,0}
     1041,{0,0}
     1042,{0,0}
     1043,{0,0}
     1044,{0,0}
     1045,{0,0}
     1046},{
     1047{71,93,98,106}
     1048,{66,87,74,66}
     1049,{33,38,46,48}
     1050,{26,33,41,40}
     1051,{57,40,29,25}
     1052,{80,71,62,63}
     1053},{
     1054{75,75,79,83,31100,112,92}
     1055,{113,117,126,125,20315,94,107}
     1056,{124,122,116,108,32117,120,117}
     1057,{98,94,99,110,17217,93,107}
     1058},{108,94,82,88,88,104,126,111}
     1059#endif
    5091060/*fin_reglage*/
    5101061
     
    5121063
    5131064/*debut reglage 7 */
     1065#ifdef programme
     1066{197,191,175,185},
     1067{0
     1068,255
     1069,254
     1070,0
     1071,0
     1072,0
     1073,0
     1074,0
     1075,0
     1076,0
     1077,0
     1078,0
     1079,83
     1080,92
     1081,94
     1082,98
     1083,65
     1084,53
     1085,53
     1086,36
     1087},{
     1088{0,0}
     1089,{0,0}
     1090,{0,0}
     1091,{0,0}
     1092,{0,0}
     1093,{0,0}
     1094,{0,0}
     1095,{0,0}
     1096,{0,0}
     1097,{0,0}
     1098,{0,0}
     1099,{0,0}
     1100,{0,0}
     1101,{0,0}
     1102,{0,0}
     1103,{0,0}
     1104,{0,0}
     1105,{0,0}
     1106,{0,0}
     1107,{0,0}
     1108,{0,0}
     1109,{0,0}
     1110,{0,0}
     1111,{0,0}
     1112},{
     1113{106,98,93,71}
     1114,{66,74,87,66}
     1115,{48,46,38,33}
     1116,{40,41,33,26}
     1117,{25,29,40,57}
     1118,{63,62,71,80}
     1119},{
     1120{83,79,75,75,92,112,31100}
     1121,{125,126,117,113,107,94,20315}
     1122,{108,116,122,124,117,120,32117}
     1123,{110,99,94,98,107,93,17217}
     1124},{88,82,94,108,111,126,104,88}
     1125#else
     1126{185,175,191,197},
     1127{0
     1128,254
     1129,255
     1130,0
     1131,0
     1132,0
     1133,0
     1134,0
     1135,0
     1136,0
     1137,0
     1138,0
     1139,98
     1140,94
     1141,92
     1142,83
     1143,36
     1144,53
     1145,53
     1146,65
     1147},{
     1148{0,0}
     1149,{0,0}
     1150,{0,0}
     1151,{0,0}
     1152,{0,0}
     1153,{0,0}
     1154,{0,0}
     1155,{0,0}
     1156,{0,0}
     1157,{0,0}
     1158,{0,0}
     1159,{0,0}
     1160,{0,0}
     1161,{0,0}
     1162,{0,0}
     1163,{0,0}
     1164,{0,0}
     1165,{0,0}
     1166,{0,0}
     1167,{0,0}
     1168,{0,0}
     1169,{0,0}
     1170,{0,0}
     1171,{0,0}
     1172},{
     1173{71,93,98,106}
     1174,{66,87,74,66}
     1175,{33,38,46,48}
     1176,{26,33,41,40}
     1177,{57,40,29,25}
     1178,{80,71,62,63}
     1179},{
     1180{75,75,79,83,31100,112,92}
     1181,{113,117,126,125,20315,94,107}
     1182,{124,122,116,108,32117,120,117}
     1183,{98,94,99,110,17217,93,107}
     1184},{108,94,82,88,88,104,126,111}
     1185#endif
    5141186/*fin_reglage*/
    5151187
     
    5241196{
    5251197unsigned long a,xl;
    526 a=x-2;  if(x<3)  xl=x;  else    xl=((a&1) + 2)<<(a>>1);
     1198char aa;
     1199aa=x-2;
     1200a=aa;
     1201if(x<3)  xl=x;  else    xl=((a&1) + 2)<<(a>>1);
    5271202return(xl);
    5281203}
     
    5761251
    5771252
     1253/* Quand on est sur une machine swappee, on ne cherche pas a verifier */
     1254/* le checksum, puisqu'on a modifie les blocs, sans swapper par exemple */
     1255/* les chars des noms de bolometres et des chaines GPS... */
     1256#ifdef __alpha
     1257#define SWAP
     1258#endif
     1259#if defined(Linux)  || defined(linux)
     1260#define SWAP
     1261#endif
    5781262
    5791263
     
    5861270lg=longueur_block(blk);         if( lg != long_block[type] )            return(block_longueur_erreur); 
    5871271if( blk->mot[(lg/4)-4]  !=      fin_block_mesure)                       return(block_fin_erreur);       
     1272#ifndef SWAP
    5881273som=calcul_somme_block(blk,lg); if( som!= somme_block(blk))             return(block_somme_erreur);
     1274#endif
    5891275return(block_correct);
    5901276}
     
    6391325
    6401326
    641 
    642 
  • trunk/Poubelle/archediab.old/archeops.h

    r637 r639  
    77
    88#define         _archeops
    9 #define         version_num             24
     9#define         version_num             25
    1010
    1111
     
    1919/*      - utilise le fichier archeops.c                                 */
    2020/*      - nb_max_bolo=24  avec nb_bolo_util=18                          */
     21/*      - change la structure du block param                            */
    2122/*      - change la structure du block dilution                         */
    2223/*                                                                      */
     24/*  VERSION 25:                                                         */
     25/*                                                                      */
     26/*      - la compression marche                                         */
     27/*      - 4 signaux synchro O.K.                                        */
     28/*      - change la structure dil : contient les temperatures           */
    2329/*                                                                      */
    2430/*                                                                      */
    25 /*                                                                      */
    2631/*======================================================================*/
    2732
     
    3035/*  ---------------  parametres generaux de definition   -------------  */
    3136/*======================================================================*/
     37
     38#ifndef int4
     39#ifdef __alpha
     40#define int4 int
     41#undef programme
     42#else
     43#define int4 long
     44#endif
     45#endif
     46
     47#ifdef linux
     48#undef programme
     49#endif
    3250
    3351#ifdef  _planck
     
    108126#endif
    109127
    110 #define nb_sync                 6       /*  nombre de signaux de synchro                        */
     128#define nb_sync                 4       /*  nombre de signaux de synchro                        */
     129                                        /*  6 pour diabolo                                      */
     130                                        /* toujours multiple de 4 pour archeops                 */
    111131#define nb_element_catalog      256     /* nombre d'éléments catalog par reponse enregistreur   */
    112132
     
    160180enum{tc2_reset_epld,tc2_bolo_dacV,tc2_bolo_dacI,tc2_bolo_dacT
    161181        ,tc2_bolo_dacL,tc2_bolo_gain,tc2_bolo_voie,tc2_horloge
    162         ,tc2_regul,tc2_auto_bolo,tc2_auto_dilu,tc2_dilution};                   /* 11 codes: reste 5 disponibles*/
     182        ,tc2_regul,tc2_auto_bolo,tc2_auto_dilu,tc2_dilution};   /* 12 codes: reste 4 disponibles*/
    163183
    164184
     
    171191/*              soit un code defini                                                             */
    172192/*              soit le code tc3_vitesse+i avec i=0.. nb_type_block                             */
    173 enum{tc3_periode,tc3_nb_mesures,tc3_temp_mort,tc3_flag,tc3_vitesse};
    174 #define tc3_suite       tc3_vitesse+nb_type_block
     193enum{tc3_commande,tc3_periode,tc3_nb_mesures,tc3_temp_mort,tc3_flag,tc3_vitesse};
     194/*#define       tc3_suite       tc3_vitesse+nb_type_block                                       */
    175195
    176196
     
    199219/*   -------   codes de reconnaissance des paquets de télémesure        */   
    200220
    201 #define         debut_block_mesure              0x45627491     
    202 #define         fin_block_mesure                0x83260432     
     221#define         debut_block_mesure              ((int4)0x45627491)
     222#define         fin_block_mesure                ((int4)0x83260432)
    203223
    204224
     
    230250        {
    231251        char            bolo_nom[32];           /*  le nom de chaque bolometre                  */
    232         long            bolo_code_util;         /*  le code d'utilisation du bolo               */
    233         long            bolo_bebo;              /*  le type d'acquisition:  0 pour MLPA 10 pour BEBODIFF */
    234         long            bolo_num;               /*  l'adresse hard du bolo                      */
    235         long            bolo_gain;              /*  le gain du preampli                         */
    236         long            bolo_capa;              /*  la valeur capa du modulateur                */
    237         long            bolo_diviseur;          /*  le diviseur de la compensation              */
    238         long            coef[7];                /*  les coef pour le calcul de la température   */
     252        int4            bolo_code_util;         /*  le code d'utilisation du bolo               */
     253        int4            bolo_bebo;              /*  le type d'acquisition:  0 pour MLPA 10 pour BEBODIFF */
     254        int4            bolo_num;               /*  l'adresse hard du bolo                      */
     255        int4            bolo_gain;              /*  le gain du preampli                         */
     256        int4            bolo_capa;              /*  la valeur capa du modulateur                */
     257        int4            bolo_diviseur;          /*  le diviseur de la compensation              */
     258        int4            coef[7];                /*  les coef pour le calcul de la température   */
    239259        }
    240260        param_un_bolo;
     
    246266                        /*      cette table ne change pas (en principe) en cours de mesure      */
    247267        {
    248         long            numero_version;                 /*  numero de version du header archeops.h      */
    249         long            n_max_bolo;                     /*  nombre maxi de bolos  (divisible par 4)     */
    250         long            n_per_block;                    /*  nombre de periodes entieres dans un block   */
    251         long            n_max_mes_per;                  /*  nb de points maxi dans une periode complete */
    252 
    253         long            nb_bolo;                        /*  nombre de bolometres effectivement lut      */
     268        int4            numero_version;                 /*  numero de version du header archeops.h      */
     269        int4            n_max_bolo;                     /*  nombre maxi de bolos  (divisible par 4)     */
     270        int4            n_per_block;                    /*  nombre de periodes entieres dans un block   */
     271        int4            n_max_mes_per;                  /*  nb de points maxi dans une periode complete */
     272
     273        int4            nb_bolo;                        /*  nombre de bolometres effectivement lut      */
    254274        param_un_bolo   bolo[nb_max_bolo];
    255275        }
     
    279299typedef struct                          /*      La structure de transfert transputer vers mac   */ 
    280300        {
    281         long            debut;          /*      code de reconnaissance de debut de block        */
    282         long            code1;          /*      code1 du block                                  */
    283         long            code2;          /*      code2 du block                                  */
     301        int4            debut;          /*      code de reconnaissance de debut de block        */
     302        int4            code1;          /*      code1 du block                                  */
     303        int4            code2;          /*      code2 du block                                  */
    284304
    285305        param_bolo      param;          /*      les parametres de mesure des bolometres         */
    286306
    287         long            fin;            /*      code de reconnaissance de fin de block          */
     307        int4            fin;            /*      code de reconnaissance de fin de block          */
    288308        }
    289309        block_type_param;                       
     
    297317typedef struct                           
    298318        {
    299         long            code2;          /*      code de la ligne du journal                     */
     319        int4            code2;          /*      code de la ligne du journal                     */
    300320                                        /*      code idem code2 debut de block :                */
    301321                                        /*      contient un code de commande                    */
     
    308328typedef struct                           
    309329        {
    310         long            debut;          /*      code de reconnaissance de debut de block        */
    311         long            code1;          /*      code1 du block                                  */
    312         long            code2;          /*      code2 du block                                  */
     330        int4            debut;          /*      code de reconnaissance de debut de block        */
     331        int4            code1;          /*      code1 du block                                  */
     332        int4            code2;          /*      code2 du block                                  */
    313333
    314334        ligne_journal   jj[long_page];  /*      block de 10 lignes de journal                   */
    315335
    316         long            fin;            /*      code de reconnaissance de fin de block          */
     336        int4            fin;            /*      code de reconnaissance de fin de block          */
    317337        }
    318338        block_type_journal;                     
     
    322342/*  ------------------------------------------------------------------------------------------  */
    323343#define bol_micro_volt(val,gain)        ((1e7*(double)val)/(65536.*gain))
    324 /*  avec  gain = param.bolo_gain[bolo]*gain_ampli(reglage.bolo[bolo])                           */
     344/*  avec  gain = (double)parametr.bolo[bolo].bolo_gain*gain_ampli(reglage.bolo[bolo])                           */
    325345               
    326346
     
    353373typedef struct 
    354374        {
    355         long    mot1;           /*  dac1 = mot[11..0]; dac2=mot1[23..12]        */
     375        int4    mot1;           /*  dac1 = mot[11..0]; dac2=mot1[23..12]        */
    356376                                /*  gain = mot1[27..24]; phase = mot1[31..28];  */
    357         long    mot2;           /*  dac3 = mot[11..0]; dac4=mot1[23..12]        */
     377        int4    mot2;           /*  dac3 = mot[11..0]; dac4=mot1[23..12]        */
    358378                                /*  voie pour reglages auto  = mot2[31..24];    */
    359379        }
     
    465485#define bit_piles_auto  4
    466486
    467 enum{vanne_rien,vanne_ferme,vanne_ouvre,vanne_auto_pression,vanne_auto_pression_piles,vanne_auto_pression_piles_temps};
    468 enum{trans_rien,trans_normal,trans_rapide,trans_lent};
     487enum{vanne_zero,vanne_rien,vanne_ferme,vanne_ouvre,vanne_auto_pression,vanne_auto_pression_piles,vanne_auto_pression_piles_temps};
     488enum{trans_zero,trans_rien,trans_normal,trans_rapide,trans_lent};
     489enum{helium_zero,helium_continu,helium_40s,helium_400s};
    469490
    470491
     
    483504typedef struct                           
    484505        {
    485         long            debut;          /*      code de reconnaissance de debut de block        */
    486         long            code1;          /*      code1 du block                                  */
    487         long            code2;          /*      code2 du block                                  */
     506        int4            debut;          /*      code de reconnaissance de debut de block        */
     507        int4            code1;          /*      code1 du block                                  */
     508        int4            code2;          /*      code2 du block                                  */
    488509        reglage_bolo    reglage;                                                                                       
    489         long            fin;            /*      code de reconnaissance de fin de block          */
     510        int4            fin;            /*      code de reconnaissance de fin de block          */
    490511        }
    491512        block_type_reglage;                     
     
    495516typedef struct                           
    496517        {
    497         long            debut;          /*      code de reconnaissance de debut de block        */
    498         long            code1;          /*      code1 du block                                  */
    499         long            code2;          /*      code2 du block                                  */
    500 /*      long            data_dil[50];    data brutes de la dilution                             */
    501         long            switch_dil;
    502         long            ADC_dil[48];    /*      la lecture des 48 ADC de la carte DIL           */
    503         long            DAC_dil[4];     /*      les 4 dac de la carte dilution                  */
    504         long            DAC_sst[4];     /*      les 4 dac de la carte sst                       */
    505         long            gyro_dil[3][nb_per_block*2];    /* les gyros a supprimer                */
    506         long            fin;            /*      code de reconnaissance de fin de block          */
     518        int4            debut;          /*      code de reconnaissance de debut de block        */
     519        int4            code1;          /*      code1 du block                                  */
     520        int4            code2;          /*      code2 du block                                  */
     521        int4            switch_dil;
     522        int4            ADC_dil[48];    /*      la lecture des 48 ADC de la carte DIL           */
     523        int4            DAC_dil[4];     /*      les 4 dac de la carte dilution                  */
     524        int4            DAC_sst[4];     /*      les 4 dac de la carte sst                       */
     525        int4            temperature[4]; /*      valeurs lues sur cartes BEDIFF modifiees        */
     526/*      int4            gyro_dil[3][nb_per_block*2];    les gyros  (block gyros)                */
     527/*      int4            data_dil[50];    data brutes de la dilution                             */
     528        int4            fin;            /*      code de reconnaissance de fin de block          */
    507529        }
    508530        block_type_dilution;                   
     
    530552
    531553/*  position des mesures sur les multiplexeurs          */
     554/* J10A  ->  temperatures basses t_b1 t_b2,t_b3 t_b4 36 37 41 35        */
     555/* J10B  ->  temperatures basses t_a1 t_a2,t_a3 t_a4 38 11 34 28        */
     556/* J1??  ->  temperatures hautes t_h1 t_h2,t_h3 t_h4    */
    532557
    533558enum{
    534 /* multiplex11..18:*/   mul11_  ,mul12_ ,p_haut ,p_memb ,t_h1   ,t_h4   ,t_h3   ,t_h2   
    535 /* multiplex21..28:*/,  mul21_  ,mul22  ,p_charb,p_R4   ,mul25_ ,p_C3   ,p_R3   ,mul28 
    536 /* multiplex31..38:*/,  mul31_  ,p_C4   ,p_air  ,t_a3   ,t_b4   ,t_b1   ,t_b2   ,t_a2   
     559/* multiplex11..18:*/   t_a2    ,mul12_ ,p_haut ,p_memb ,t_h1   ,t_h4   ,t_h3   ,t_h2   
     560/* multiplex21..28:*/,  mul21_  ,mul22  ,p_charb,p_R4   ,mul25_ ,p_C3   ,p_R3   ,t_a4   
     561/* multiplex31..38:*/,  mul31_  ,p_C4   ,p_air  ,t_a3   ,t_b4   ,t_b1   ,t_b2   ,t_a1   
    537562/* multiplex41..48:*/,  t_b3    ,d_4He  ,RP_He  ,mul44  ,d_3He  ,j_he3  ,j_he7  ,j_he4 
    538563/* multiplex51..58:*/,  j_he5   ,j_he1  ,j_he8  ,j_he2  ,j_he6  ,pirani ,mul57  ,mul58 
    539564/* multiplex61..68:*/,  p_m18B  ,p_10B  ,p_m18D ,mul64  ,p_p18B ,p_10T  ,p_Ch   ,p_p18D         
    540565        };
    541 enum{t_a1,t_a4};        /* en attendant de trouver leurs places */
    542 /* reste libres :  mul  11 - 12 - 21 - 22 - 25 - 28 - 31 - 44 - 57 - 58 - 64    */
     566/* reste libres :  mul   12 - 21 - 22 - 25 -  31 - 44 - 57 - 58 - 64    */
    543567
    544568
     
    549573typedef struct                           
    550574        {
    551         long            debut;          /*      code de reconnaissance de debut de block        */
    552         long            code1;          /*      code1 du block                                  */
    553         long            code2;          /*      code2 du block                                  */
     575        int4            debut;          /*      code de reconnaissance de debut de block        */
     576        int4            code1;          /*      code1 du block                                  */
     577        int4            code2;          /*      code2 du block                                  */
    554578
    555579        char            gps[80];        /*      les données GPS (une chaine maxi 80 cara)       */
    556580
    557         long            fin;            /*      code de reconnaissance de fin de block          */
     581        int4            fin;            /*      code de reconnaissance de fin de block          */
    558582        }
    559583        block_type_gps;                 
     
    565589typedef struct                           
    566590        {
    567         long            debut;          /*      code de reconnaissance de debut de block        */
    568         long            code1;          /*      code1 du block                                  */
    569         long            code2;          /*      code2 du block                                  */
     591        int4            debut;          /*      code de reconnaissance de debut de block        */
     592        int4            code1;          /*      code1 du block                                  */
     593        int4            code2;          /*      code2 du block                                  */
    570594       
    571595        short           bol_per[nb_max_bolo][nb_max_mes_per];           
    572596
    573         long            fin;            /*      code de reconnaissance de fin de block          */
     597        int4            fin;            /*      code de reconnaissance de fin de block          */
    574598        }
    575599        block_type_une_periode;                 
     
    579603typedef struct                           
    580604        {
    581         long            debut;          /*      code de reconnaissance de debut de block        */
    582         long            code1;          /*      code1 du block                                  */
    583         long            code2;          /*      code2 du block                                  */
    584         char            synchro[nb_sync][nb_per_block*2];       
    585 
    586         long            fin;            /*      code de reconnaissance de fin de block          */
     605        int4            debut;          /*      code de reconnaissance de debut de block        */
     606        int4            code1;          /*      code1 du block                                  */
     607        int4            code2;          /*      code2 du block                                  */
     608        char            synchro[nb_per_block*2][nb_sync];       
     609
     610        int4            fin;            /*      code de reconnaissance de fin de block          */
    587611        }
    588612        block_type_synchro_sol;                 
     
    592616typedef struct   
    593617        {
    594         long            debut;          /*      code de reconnaissance de debut de block        */
    595         long            code1;          /*      code1 du block                                  */
    596         long            code2;          /*      code2 du block                                  */
     618        int4            debut;          /*      code de reconnaissance de debut de block        */
     619        int4            code1;          /*      code1 du block                                  */
     620        int4            code2;          /*      code2 du block                                  */
    597621        char            comment[1024];
    598         long            fin;            /*      code de reconnaissance de fin de block          */
     622        int4            fin;            /*      code de reconnaissance de fin de block          */
    599623        }
    600624        block_type_pointage_sol;                       
     
    606630typedef struct                           
    607631        {
    608         long            debut;          /*      code de reconnaissance de debut de block        */
    609         long            code1;          /*      code1 du block                                  */
    610         long            code2;          /*      code2 du block                                  */
     632        int4            debut;          /*      code de reconnaissance de debut de block        */
     633        int4            code1;          /*      code1 du block                                  */
     634        int4            code2;          /*      code2 du block                                  */
    611635                                        /*      pour chaque bolo, un vecteur 72 points          */
    612         long            data_bolo[nb_max_bolo][nb_per_block*2];
     636        int4            data_bolo[nb_max_bolo][nb_per_block*2];
    613637                                        /*      data D.S.       (en mots de 32 bits)            */
    614         long            fin;            /*      code de reconnaissance de fin de block          */
     638        int4            fin;            /*      code de reconnaissance de fin de block          */
    615639        }
    616640        block_type_bolo;                       
     
    620644typedef struct                           
    621645        {
    622         long            debut;          /*      code de reconnaissance de debut de block        */
    623         long            code1;          /*      code1 du block                                  */
    624         long            code2;          /*      code2 du block                                  */
     646        int4            debut;          /*      code de reconnaissance de debut de block        */
     647        int4            code1;          /*      code1 du block                                  */
     648        int4            code2;          /*      code2 du block                                  */
    625649                                        /* chaque gyro: un vecteur tde 72 valeurs               */
    626         long            gyros[3][nb_per_block*2];
    627         long            magneto[3];     /*      1 bit par echantillonage soit 3*32bit>72        */
    628         long            fin;            /*      code de reconnaissance de fin de block          */
     650        int4            gyros[3][nb_per_block*2];
     651        int4            magneto[3];     /*      1 bit par echantillonage soit 3*32bit>72        */
     652        int4            fin;            /*      code de reconnaissance de fin de block          */
    629653        }
    630654        block_type_gyro;                       
     
    634658typedef struct                           
    635659        {
    636         long            debut;          /*      code de reconnaissance de debut de block        */
    637         long            code1;          /*      code1 du block                                  */
    638         long            code2;          /*      code2 du block                                  */
    639         long            sst[nb_per_block*2][18];
     660        int4            debut;          /*      code de reconnaissance de debut de block        */
     661        int4            code1;          /*      code1 du block                                  */
     662        int4            code2;          /*      code2 du block                                  */
     663        int4            sst[nb_per_block*2][18];
    640664                                        /* chaque mesure: un paquet de 18 mots de 32 bits       */
    641         long            fin;            /*      code de reconnaissance de fin de block          */
     665        int4            fin;            /*      code de reconnaissance de fin de block          */
    642666        }
    643667        block_type_sst;                 
     
    647671typedef struct                           
    648672        {
    649         long            debut;          /*      code de reconnaissance de debut de block        */
    650         long            code1;          /*      code1 du block                                  */
    651         long            code2;          /*      code2 du block                                  */
    652         long            fin;            /*      code de reconnaissance de fin de block          */
     673        int4            debut;          /*      code de reconnaissance de debut de block        */
     674        int4            code1;          /*      code1 du block                                  */
     675        int4            code2;          /*      code2 du block                                  */
     676        int4            fin;            /*      code de reconnaissance de fin de block          */
    653677        }
    654678        block_type11;                   
     
    658682typedef struct                           
    659683        {
    660         long            debut;          /*      code de reconnaissance de debut de block        */
    661         long            code1;          /*      code1 du block                                  */
    662         long            code2;          /*      code2 du block                                  */
     684        int4            debut;          /*      code de reconnaissance de debut de block        */
     685        int4            code1;          /*      code1 du block                                  */
     686        int4            code2;          /*      code2 du block                                  */
    663687                                        /*      nombre de mots = nb valeurs/4 +1                */
    664688                                        /*      pour chaque bolo, un vecteur  19 mots           */
    665         long            data_bolo[nb_bolo_util][ (nb_per_block/2) +1 ];
    666 
    667         long            fin;            /*      code de reconnaissance de fin de block          */
     689        unsigned int4   data_bolo[nb_bolo_util][ (nb_per_block/2) +1 ];
     690
     691        int4            fin;            /*      code de reconnaissance de fin de block          */
    668692        }
    669693        block_type_bolo_comprime;                       
     
    673697typedef struct                           
    674698        {
    675         long            debut;          /*      code de reconnaissance de debut de block        */
    676         long            code1;          /*      code1 du block                                  */
    677         long            code2;          /*      code2 du block                                  */
     699        int4            debut;          /*      code de reconnaissance de debut de block        */
     700        int4            code1;          /*      code1 du block                                  */
     701        int4            code2;          /*      code2 du block                                  */
    678702                                        /*      nombre de mots = nb valeurs/4 +1                */
    679         long            gyro[3][ (nb_per_block/2) +1 ];
    680         long            fin;            /*      code de reconnaissance de fin de block          */
     703        unsigned int4   gyro[3][ (nb_per_block/2) +1 ];
     704        int4            fin;            /*      code de reconnaissance de fin de block          */
    681705        }
    682706        block_type_gyro_comprime;                       
     
    686710typedef struct                           
    687711        {
    688         long            debut;          /*      code de reconnaissance de debut de block        */
    689         long            code1;          /*      code1 du block                                  */
    690         long            code2;          /*      code2 du block                                  */
     712        int4            debut;          /*      code de reconnaissance de debut de block        */
     713        int4            code1;          /*      code1 du block                                  */
     714        int4            code2;          /*      code2 du block                                  */
    691715                                        /*      pour chaque diode, un vecteur  11 mots          */
    692         long            sst[nb_photo_diodes] [(nb_per_block*2/7) +1 ];
    693         long            fin;            /*      code de reconnaissance de fin de block          */
     716        unsigned int4   sst[nb_photo_diodes] [(nb_per_block*2/7) +1 ];
     717        int4            fin;            /*      code de reconnaissance de fin de block          */
    694718        }
    695719        block_type_sst_comprime;                       
     
    702726typedef struct                          /*      etat de l'enregistreur                          */
    703727        {
    704         long            nb_total_catalog;
    705         long            memoire_libre;
    706         long            nb_block_erreur;
     728        int4            nb_total_catalog;
     729        int4            memoire_libre;
     730        int4            nb_block_erreur;
    707731        }status_flash;
    708732
    709733typedef struct   
    710734        {
    711         long            debut;          /*      code de reconnaissance de debut de block        */
    712         long            code1;          /*      code1 du block                                  */
    713         long            code2;          /*      code2 du block                                  */
    714        
    715         long            commande;       /*      la commande a laquelle ce catalog repond        */
     735        int4            debut;          /*      code de reconnaissance de debut de block        */
     736        int4            code1;          /*      code1 du block                                  */
     737        int4            code2;          /*      code2 du block                                  */
     738       
     739        int4            commande;       /*      la commande a laquelle ce catalog repond        */
    716740        status_flash    status;         /*      etat de l'enregistreur                          */
    717         long            nombre;         /*                                                      */
    718         long            code[nb_element_catalog];       /* code type et numero                  */
    719         long            fin;            /*      code de reconnaissance de fin de block          */
     741        int4            nombre;         /*                                                      */
     742        int4            code[nb_element_catalog];       /* code type et numero                  */
     743        int4            fin;            /*      code de reconnaissance de fin de block          */
    720744        }
    721745        block_type_catalog_flash;                       
     
    726750typedef struct                           
    727751        {
    728         long            debut;          /*      code de reconnaissance de debut de block        */
    729         long            code1;          /*      code1 du block                                  */
    730         long            code2;          /*      code2 du block                                  */
    731         long            commande;       /*      type de commande a l'enregistreur flash         */
    732         long            fin;            /*      code de reconnaissance de fin de block          */
     752        int4            debut;          /*      code de reconnaissance de debut de block        */
     753        int4            code1;          /*      code1 du block                                  */
     754        int4            code2;          /*      code2 du block                                  */
     755        int4            commande;       /*      type de commande a l'enregistreur flash         */
     756        int4            fin;            /*      code de reconnaissance de fin de block          */
    733757        }
    734758        block_type_cmd_flash;                   
     
    743767typedef struct   
    744768        {
    745         long            debut;          /*      code de reconnaissance de debut de block        */
    746         long            code1;          /*      code1 du block                                  */
    747         long            code2;          /*      code2 du block                                  */
     769        int4            debut;          /*      code de reconnaissance de debut de block        */
     770        int4            code1;          /*      code1 du block                                  */
     771        int4            code2;          /*      code2 du block                                  */
    748772#ifdef  transmet_data_brute
    749773        char            data[nb_per_block*nb_max_mes_per*nb_byte_mot];
    750774#endif
    751         long            fin;            /*      code de reconnaissance de fin de block          */
     775        int4            fin;            /*      code de reconnaissance de fin de block          */
    752776        }
    753777        block_type_data_brute;                 
     
    757781typedef struct   
    758782        {
    759         long            debut;          /*      code de reconnaissance de debut de block        */
    760         long            code1;          /*      code1 du block                                  */
    761         long            code2;          /*      code2 du block                                  */
    762         long            fin;            /*      code de reconnaissance de fin de block          */
     783        int4            debut;          /*      code de reconnaissance de debut de block        */
     784        int4            code1;          /*      code1 du block                                  */
     785        int4            code2;          /*      code2 du block                                  */
     786        int4            fin;            /*      code de reconnaissance de fin de block          */
    763787        }
    764788        block_type_18;                 
     
    768792typedef struct   
    769793        {
    770         long            debut;          /*      code de reconnaissance de debut de block        */
    771         long            code1;          /*      code1 du block                                  */
    772         long            code2;          /*      code2 du block                                  */
    773         long            fin;            /*      code de reconnaissance de fin de block          */
     794        int4            debut;          /*      code de reconnaissance de debut de block        */
     795        int4            code1;          /*      code1 du block                                  */
     796        int4            code2;          /*      code2 du block                                  */
     797        int4            fin;            /*      code de reconnaissance de fin de block          */
    774798        }
    775799        block_type_19;                 
     
    782806typedef struct                          /*      La structure de transfert transputer vers mac   */ 
    783807        {
    784         long            debut;          /*      code de reconnaissance de debut de block        */
    785         long            code1;          /*      code1 du block                                  */
    786         long            code2;          /*      code2 du block                                  */
    787         long            mot[(taille_maxi_block_archeops)/4];
    788         long            fin;            /* code de reconnaissance de fin de block               */
     808        int4            debut;          /*      code de reconnaissance de debut de block        */
     809        int4            code1;          /*      code1 du block                                  */
     810        int4            code2;          /*      code2 du block                                  */
     811        int4            mot[(taille_maxi_block_archeops)/4];
     812        int4            fin;            /* code de reconnaissance de fin de block               */
    789813        }
    790814        block_type_modele;                     
Note: See TracChangeset for help on using the changeset viewer.