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

archediab 28 vol

File:
1 edited

Legend:

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

    r643 r649  
    4242                                        // de la lecture du block bolo
    4343
     44block_type_gyro blk_gyro2;      // block memoire pour les gyros qui seront traitées lors
     45                                                        // de la lecture du block bolo
     46
    4447
    4548
     
    4851void lit_block_archeops(int err)
    4952{
    50 if(verifie_block_printf(blk_tm))        return;
    51 
    52         {
    53         def_nom_block
    54         static int mon_num_block;
     53static char ss[1000];
     54def_nom_block
     55static int mon_num_block;
     56
     57if(!fenetre(fenetre_lecture_blocks)) nouveauT(fenetre_lecture_blocks,0,"lecture blocs");
     58
     59if(verifie_block_printf(blk_tm))       
     60                {
     61                if((mon_num_block+1)==numero_block(blk_tm))
     62                        {
     63                        mon_num_block=numero_block(blk_tm);
     64                        if(!fenetre(fenetre_lecture_blocks)) nouveauT(fenetre_lecture_blocks,0,"lecture blocs");
     65                        ecritT(fenetre_lecture_blocks,fin_f,"%s\n",ss);
     66                        sprintf(ss,"%d ->",mon_num_block);
     67                        }
     68                if(strlen(ss)<500) sprintf(ss+strlen(ss)," **%s ",nom_block[type_block(blk_tm)]);       
     69                ecrit_fichier_ARCH(blk_tm);     // ecrit les fichiers en erreur sur le disque     
     70                return;
     71                }
     72
     73        {
    5574        if(mon_num_block!=numero_block(blk_tm))
    5675                {
    5776                mon_num_block=numero_block(blk_tm);
    58                 printf("\n%d ->",mon_num_block);
    59                 }
    60         printf(" %s  ",nom_block[type_block(blk_tm)]); 
     77                if(!fenetre(fenetre_lecture_blocks)) nouveauT(fenetre_lecture_blocks,0,"lecture blocs");
     78                ecritT(fenetre_lecture_blocks,fin_f,"%s\n",ss);
     79                sprintf(ss,"%d ->",mon_num_block);
     80                }
     81        if(strlen(ss)<500) sprintf(ss+strlen(ss)," %s  ",nom_block[type_block(blk_tm)]);       
    6182        }                               
    6283
     
    7899        case block_bolo_comprime :      traite_block_bolo_comprime((block_type_bolo_comprime*)blk_tm);  break; 
    79100       
    80         case block_sst :                traite_block_sst((block_type_sst*)blk_tm);                      break;
    81         case block_sst_comprime  :      traite_block_sst_comprime((block_type_sst_comprime*)blk_tm);    break;
     101        case block_sst :                traite_block_sst((block_type_sst*)blk_tm);                     
     102                                        traite_block_sst_brut((block_type_sst*)blk_tm);                 break;
     103        case block_sst_comprime  :      traite_block_sst_comprime((block_type_sst_comprime*)blk_tm);
     104                                        traite_block_sst_comprime_brut((block_type_sst_comprime*)blk_tm);break;
    82105
    83106        case block_gyro :               traite_block_gyro((block_type_gyro*)blk_tm);                    break;
     
    86109        case block_synchro_sol :        traite_block_synchro_sol((block_type_synchro_sol*)blk_tm);      break;
    87110       
    88         case block_status_flash :       printf("******************status flash recut  ********************* \n");son(133);                      break;
     111        case block_status_flash :       printf("****  status flash recut  ****   nblock=%x  - %d *** \n",((block_type_status_flash*)blk_tm)->status.nb_total_blocks,((block_type_status_flash*)blk_tm)->status.nb_total_blocks/256);break;
    89112       
    90113#ifdef  transmet_data_brute
     
    115138void    traite_block_journal(block_type_journal*        blk)
    116139{
     140long mothexa[5];        /* les 5 mots hexa de la telecommande  */
     141
    117142int i,code,blocknum;
    118143if(!fenetre(fenetre_journal)) nouveauT(fenetre_journal,0,"journal");
     
    124149        blocknum=numero_block(&blk->jj[i]);
    125150        if(code) break; // code vaut 1 pour vider une page de journal incomplete
    126         ecritT(fenetre_journal,fin_f,"block_num= %d   code %d   ==>  %d %d %d %d %d %d %d %d \n",
    127                 blocknum,code,
    128                 blk->jj[i].mot[0],blk->jj[i].mot[1],blk->jj[i].mot[2],blk->jj[i].mot[3],
    129                 blk->jj[i].mot[0],blk->jj[4].mot[5],blk->jj[i].mot[6],blk->jj[i].mot[7]);
    130         }
    131 }
     151        mothexa[0]=blk->jj[i].mot[5];   /* 4 bit choix de commande   */
     152        mothexa[1]=blk->jj[i].mot[6]>>2;        /* les 4 bits poid fort du code direction */
     153        mothexa[2]=((blk->jj[i].mot[6]<<2)&0xc)  + ((blk->jj[i].mot[7]>>6)&0x3);
     154        mothexa[3]=(blk->jj[i].mot[7]>>2)&0xf; 
     155        mothexa[4]=(blk->jj[i].mot[7]&0x3);
     156
     157        if(blk->jj[i].mot[0])   
     158                {
     159                ecritT(fenetre_journal,fin_f,"block_num= %d   code %d   ==>  telecommande_OK : %d %d %d  ->  %x %x %x %x %x \n",
     160                blocknum,code,blk->jj[4].mot[5],blk->jj[i].mot[6],blk->jj[i].mot[7]
     161                        ,mothexa[0],mothexa[1],mothexa[2],mothexa[3],mothexa[4]);
     162                }
     163        else
     164                {
     165                ecritT(fenetre_journal,fin_f,"block_num= %d   code %d   ==>  erreur telecommande : %d %d %d  ->  %x %x %x %x %x \n",
     166                blocknum,code,blk->jj[4].mot[5],blk->jj[i].mot[6],blk->jj[i].mot[7]
     167                        ,mothexa[0],mothexa[1],mothexa[2],mothexa[3],mothexa[4]);
     168                }
     169        }
     170}
     171
     172
     173
    132174
    133175//-----------------------------------------------------------------------------------------     
     
    176218                if(c1==13) i=80;
    177219                }
     220        }
     221}
     222
     223
     224
     225
     226
     227void    traite_block_gyro_comprime(block_type_gyro_comprime* blk)
     228{
     229int i;
     230block_type_gyro  bk_gyro;
     231block_type_gyro* blk2=& bk_gyro;
     232if(!fenetre(fenetre_gyroscope)) return;
     233//printf("***************   decompress data gyro \n");
     234for(i=0;i<3;i++)        decompress_7_2((long *)blk->gyro[i],blk2->gyro[i],nb_per_block*2);
     235blk2->code1=blk->code1;
     236blk2->code2=blk->code2;
     237traite_block_gyro(blk2);
     238}
     239
     240
     241void    traite_block_gyro(block_type_gyro* blk)
     242{
     243int k;
     244double  y[15];
     245
     246int temps_cntl;
     247double secondes;
     248blk_gyro2 = *blk;
     249
     250if(!fenetre(fenetre_gyroscope)) return;
     251
     252for(k=0;k<72;k++)
     253        {
     254        y[0]=20.*(blk->gyro[0][k]-32768)/32768.;
     255        y[1]=20.*(blk->gyro[1][k]-32768)/32768.;
     256        y[2]=20.*(blk->gyro[2][k]-32768)/32768.;
     257               
     258//      printf(" y = %g %g %g %g %g \n",y[0],y[1],y[2],y[3],y[4]);
     259        temps_cntl =numero_block(blk)*nb_per_block*2+k;
     260        secondes=gg->periode_echantillonage*(double)temps_cntl-gg->temps_origine;
     261        tracen(fenetre_gyroscope,3,secondes,y);
     262//      printf("secondes=%g\n",secondes);
    178263        }
    179264}
     
    306391                gg->don.don_bolo[j]=0.5*(ancien_don_bolo[j]+s*(((val_DS(j,i)-aa)<<1)/nb_coups));                // copy bolos
    307392                ancien_don_bolo[j]=s*(((val_DS(j,i)-aa)<<1)/nb_coups);
     393//              if( (i==1) && (j==14) )
     394//                      {
     395//                      def_gains
     396//                      printf(" brut=%d  ofset=%d  nbcoups=%d gg->don.don_bolo[j]=%d  parametr.bolo[j].bolo_gain=%d  gainampli=%g  micro-volts=%g \n"
     397//                              , val_DS(j,i)   ,aa     ,nb_coups    ,(int)gg->don.don_bolo[j]  ,parametr.bolo[j].bolo_gain   ,gain_ampli(gg->reglage.bolo[j])  ,(double)xbolbrut(j));
     398//                      }
     399//
    308400                }
    309401
     
    313405                }
    314406       
     407        gg->don.gyro[0]=20.*(blk_gyro2.gyro[0][i]-32768)/32768.;
     408        gg->don.gyro[1]=20.*(blk_gyro2.gyro[1][i]-32768)/32768.;
     409        gg->don.gyro[2]=20.*(blk_gyro2.gyro[2][i]-32768)/32768.;
     410               
     411
    315412       
    316413//      gg->don.sync[j]=synchro_DS(j,i);       
Note: See TracChangeset for help on using the changeset viewer.