Changeset 639 in Sophya for trunk/Poubelle
- Timestamp:
- Nov 25, 1999, 2:07:25 PM (26 years ago)
- 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 29 29 if(parametr.n_max_mes_per!=nb_max_mes_per) {erreur("erreur nb_max_mes_per\n");return;} 30 30 if(parametr.nb_bolo!=nb_bolo_util) {erreur("erreur nb_bolo_util\n");return;} 31 32 gg->reglage=reglage_standard[0]; 31 33 32 34 for(j=0;j<nb_max_bolo;j++) … … 227 229 if((b!=gg->reglage.horloge.nb_mesures) ou clavier(touche_alt) ) emission_tc_reduite(tc2_horloge,tc3_nb_mesures,b); 228 230 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); 230 232 } 231 233 -
trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c
r637 r639 190 190 { 191 191 blk_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];198 192 // ne fait rien: le block synchro precede toujours le block bolo 199 193 } 200 */ 194 201 195 202 196 … … 210 204 #define blk2 ((block_type_bolo*)(&bktm)) // pointeur sur la memoire locale 211 205 // 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 ", 213 207 ( (blk->data_bolo[0][0] & 0xffff0000)>>11 ) & 0x001fffe0, 214 208 ( (blk->data_bolo[0][0] & 0x0000ffff)<<5 ) & 0x001fffe0, 215 209 ( (blk->data_bolo[1][0] & 0xffff0000)>>11 ) & 0x001fffe0, 216 210 ( (blk->data_bolo[1][0] & 0x0000ffff)<<5 ) & 0x001fffe0); 217 211 */ 218 212 for(j=0;j<nb_bolo_util;j++) 219 213 { 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", 224 218 blk2->data_bolo[0][0], 225 219 blk2->data_bolo[0][1], 226 220 blk2->data_bolo[1][0], 227 221 blk2->data_bolo[1][1]); 228 222 */ 229 223 valide_block(&bktm,block_bolo,numero_block(blk)); // pour recopier le numero de block 230 224 traite_block_bolo(blk2); … … 277 271 278 272 #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) 280 274 281 275 for (i=0;i<nb_per_block*2;i++) … … 291 285 } 292 286 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); 294 294 295 295 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 165 165 break; 166 166 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 167 174 case e_chauf : { 168 175 long ll=(long)(&(gg->reglage.dilu.chauffage))-(long)(&(gg->reglage.dilu)); … … 170 177 emission_tc_reduite(tc2_auto_dilu,ll,a); 171 178 } 179 break; 180 181 case e_cmd : emission_tc_reduite(tc2_horloge,tc3_commande,(int) valeur); 182 ecritD(fen,e_cmd,0); 172 183 break; 173 184 -
trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c
r637 r639 38 38 graph->graduations=0; 39 39 graph->sans_image=1; 40 graph->avec_icones=0; 40 graph->avec_icones=0; 41 graph->aspect=0; 41 42 graph->xtitre[0]=0; 42 43 graph->ytitre[0]=0; -
trunk/Poubelle/archediab.old/archediab.sources/c/courbeVI.c
r637 r639 19 19 int i,j;double I,V,A,nep;int c;double x[50]; 20 20 double y[nb_max_bolo+1]; 21 21 def_gains 22 22 switch(item) 23 23 { … … 97 97 98 98 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 99 102 if(!fenetre(fenetre_automatismes)) 100 103 ouvreD(fenetre_automatismes,automatismes_id,"automatismes",exec_automatismes); … … 126 129 for(j=0;j<nb_max_bolo;j++) 127 130 { 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 129 133 } 130 134 montracen(fen,nb_max_bolo,I,y); -
trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c
r637 r639 43 43 //flag=alerte(3," Archeops ou Planck \r\r acquisition avec carte PCI ??"); // vaut 1 pour acquisition PCI 44 44 //flag=2; // en mode simulation 45 if( !clavier(touche_alt) ) flag=2; else flag=1; // en mode acquisition45 if(clavier(touche_alt) ) flag=2; else flag=1; // en mode acquisition 46 46 #endif 47 47 … … 116 116 */ 117 117 118 118 119 if(flag==1) // mets en route les interruptions 119 120 { -
trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c
r637 r639 24 24 #define ecrit_switch(val,ii,bit) {if(val) ii=ii | bit ;else ii=ii& (0xffffffff^bit) ;} 25 25 #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 26 34 void ecrit_bit_dilution(int valeur,int bit); 27 35 … … 47 55 mot_tc[5]=(i>>16)&0xff; 48 56 mot_tc[6]=(i>>24)&0xff; 57 mot_tc[7]=0; 58 emission_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 66 void ecrit_dac_dilution(void); 67 68 void ecrit_dac_dilution(void) 69 { 70 char mot_tc[10]; 71 int k; 72 unsigned long i,j; 73 i=litD(fenetre_dilution,dil_dac_1,0); // les 2 bits adresse du dac 74 i=i<<14; i+=litD(fenetre_dilution,dil_dac_2,0); // les 12 bits valeur du dac 75 // ranger les bits a l'envers; 76 j=0; for(k=0;k<16;k++) {j=(j<<1) | (i&1);i=i>>1;} 77 mot_tc[0]=tc_dac_dil; 78 mot_tc[1]=(j)&0xff; 79 mot_tc[2]=(j>>8)&0xff; 80 mot_tc[3]=0; 81 mot_tc[4]=0; 82 mot_tc[5]=0; 83 mot_tc[6]=0; 49 84 mot_tc[7]=0; 50 85 emission_telecommande(tc_dir_transputer,mot_tc); … … 101 136 case dil_ch6 : ecrit_bit_dilution((int)valeur,chauffage6); break; 102 137 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; 103 142 104 143 default : break; … … 142 181 ecritD(fenetre_dilution,dil_EVV_retour,((blk->switch_dil&vanne_EVV)?1:0)); 143 182 183 184 185 // les temperatures sur les cartes modifiées 186 { 187 double I,V,R[4]; 188 int j,k; 189 def_gains; 190 k=0; 191 for(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 202 if(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]); 203 else 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]); 204 if(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 144 220 // les pressions et debits metres des injections de la dilution 145 221 ecritD(fenetre_dilution,dil_p_d_3He,"3He: %4.1fb -> %5.2fµm/s -> %4.1fb" 146 ,40. * val_multiplex(p_R3) // 200 bars pour 5V222 ,40. * val_multiplex(p_R3) -1.6 // 200 bars pour 5V et 1.6 bar d'offset 147 223 ,2. * val_multiplex(d_3He) // 10 MICRO MOLES pour 5V 148 224 ,20. * val_multiplex(p_C3) // 100 bars pour 5V … … 151 227 ,40. * val_multiplex(p_R4) // 200 bars pour 5V 152 228 ,8. * val_multiplex(d_4He) // 40 MICRO MOLES pour 5V 229 // ,4. * val_multiplex(d_4He) // 20 MICRO MOLES pour 5V 153 230 ,20. * val_multiplex(p_C4) // 100 bars pour 5V 154 231 ); … … 227 304 // lecture des sondes de niveau helium 228 305 229 //if(blk->switch_dil & switch_helium ) 230 if(1) 306 231 307 { 232 308 double y[8]; 309 static int niveau_pre; 233 310 int niveau,fin; 311 // printf("dilution : numero de block = %d \n",numero_block(blk)); 234 312 changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,rouge,blanc,blanc),""); 235 313 y[0]=val_multiplex(j_he1)-calib(dil_j_he1); … … 241 319 y[6]=val_multiplex(j_he7)-calib(dil_j_he7); 242 320 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) 245 322 { 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); 251 338 } 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),""); 256 340 257 341 if(litD(fenetre_dilution,dil_trace_helium,0))// trace les sondes de niveau helium … … 270 354 } 271 355 } 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 22 22 void ferme_annexe(void); 23 23 24 int ann;24 int j,ann; 25 25 26 26 void exec_menu_diabolo(int fen,int item,double valeur,...) … … 34 34 sauve_reglage(2);*/ 35 35 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 ); 37 38 break; 38 39 // case d_trace_tout : if(fenetre(fenetre_trace_tout)) select(fenetre_trace_tout); -
trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c
r637 r639 2 2 #include "reglage.h" 3 3 4 #define uc(iii) (((long)(iii))&0xff) 5 #define us(iii) (((long)(iii))&0xffff) 4 6 5 7 void param_reglage(void) … … 138 140 139 141 ecritT(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 ****************/ 144 ecritT(fenetre_fichier_archeops_c,insert_f,"#ifdef programme\n"); 145 146 /* ecrit horloge */ 147 ecritT(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 */ 143 151 for(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 154 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 155 156 /* ecrit reglage_un_bolo : 2 mots long */ 148 157 for(i=0;i<nb_max_bolo;i++) 149 158 {if(i>0) ecritT(fenetre_fichier_archeops_c,insert_f,",{%d,%d}\n",gg->reglage.bolo[i].mot1,gg->reglage.bolo[i].mot2); … … 152 161 153 162 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 154 163 164 /* ecrit auto_bolo 4 char */ 155 165 for(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 170 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 171 172 /* ecrit regul_bolo */ 162 173 for(i=0;i<nombre_de_regul;i++) 163 174 {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].prop165 , 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)); 166 177 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 */ 171 183 ecritT(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 ****************/ 189 ecritT(fenetre_fichier_archeops_c,insert_f,"#else\n"); 190 191 /* ecrit horloge */ 192 ecritT(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 */ 196 for(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 199 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 200 201 /* ecrit reglage_un_bolo : 2 mots long */ 202 for(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 207 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 208 209 /* ecrit auto_bolo 4 char */ 210 for(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 217 ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n"); 218 219 /* ecrit regul_bolo */ 220 for(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 */ 230 ecritT(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 ****************/ 238 ecritT(fenetre_fichier_archeops_c,insert_f,"#endif\n"); 175 239 176 240 ecritT(fenetre_fichier_archeops_c,insert_f,"/*fin_reglage*/\n"); -
trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c
r637 r639 2 2 #include "senseur_stellaire.h" 3 3 4 int diodes[12]={1,2,3,4,5,6,7,8,9,10,11,12}; 4 5 5 6 … … 60 61 double secondes; 61 62 int a,b,b0,b1,b2; 63 int prem_d; 62 64 63 65 if(!fenetre(fenetre_senseur_stellaire)) return; … … 92 94 } 93 95 94 95 96 //k=0; 97 prem_d=litD(fenetre_senseur_stellaire,sst_prem_diode,0L); 96 98 for(k=0;k<72;k++) 97 99 { … … 102 104 if(i>3 ) q=i+8; 103 105 if(i>7 ) q=i+12; 106 q=diodes[i]; 107 q=i+prem_d-1; 104 108 105 109 a=place_paquet(q,0); -
trunk/Poubelle/archediab.old/archediab.sources/c/synchro.c
r637 r639 120 120 int i; 121 121 double x; 122 static long ancien_temps; 122 123 if(select_synchro==7) // selection valeur fixe 123 124 { 124 if(sy_per>=synchro_periode) 125 if((gg->temps_cntl%(int)synchro_periode)==0) 126 // if(sy_per>=synchro_periode) 125 127 { 126 128 if(gg->trace_ouvert&2) exec_trace_1_per(fenetre_trace_1_per,ds_debut,0); … … 130 132 else 131 133 { 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 133 141 if(gg->trace_ouvert&2) exec_trace_1_per(fenetre_trace_1_per,ds_suite,0); 134 142 if(gg->trace_ouvert&4) exec_trace_DS(fenetre_trace_DS,ds_suite,0); 135 143 } 144 ancien_temps=gg->temps_cntl; 136 145 } 137 146 else -
trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops.c
r637 r639 13 13 //***************************************************************************************** 14 14 // *** 15 #ifdef _archeops //--------- pour Archeops ----------------------- ***15 #ifdef _archeopsXX //--------- pour Archeops ----------------------- *** 16 16 #ifndef _sans_transputer //--------- pour Archeops avec transputer ------------- *** 17 17 // *** -
trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c
r637 r639 17 17 //***************************************************************************************** 18 18 // *** 19 #ifdef _archeops xx//--------- pour Archeops ----------------------- ***19 #ifdef _archeops //--------- pour Archeops ----------------------- *** 20 20 #ifndef _sans_transputer //--------- pour Archeops avec transputer ------------- *** 21 21 // *** -
trunk/Poubelle/archediab.old/archediab.sources/c/trace-DS.c
r637 r639 5 5 #include "trace.h" 6 6 #include "menu.h" 7 7 #define max_couleur 10 8 9 static int ds_bolo_coul[2*nb_max_bolo]; 8 10 9 11 … … 14 16 static int raz_parasite=2; 15 17 18 void montracen_ds(int fen,int n,double x,double *y); 16 19 17 20 void exec_trace_DS_suite(int u); … … 28 31 static int u=-1; 29 32 static flag_err=0; 33 int i; 30 34 switch(item) 31 35 { … … 46 50 case ds_temps_mort : 47 51 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 48 74 calcul_table_DS(synchro_periode); 49 75 break; … … 99 125 void exec_trace_DS_suite(int u) // appellé quoiqu'il arrive avec u=0,1,2,.... , npt_DS-1 100 126 { 101 static double y[ nb_max_bolo+1],y1[nb_max_bolo+1],y2[nb_max_bolo+1],bb[nb_max_bolo+1];127 static double y[2*nb_max_bolo],y1[2*nb_max_bolo],y2[2*nb_max_bolo],bb[2*nb_max_bolo]; 102 128 int j; 103 129 static double phase_mesure[nb_max_bolo],confiance[nb_max_bolo],phase_memoire; 104 130 //printf("suite avec u=%d \n"); 105 131 switch(choix_DS) 106 132 { … … 119 145 { 120 146 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])); 123 149 } 124 j= 1; // bolo pur mesurer la phase125 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]; 126 152 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 /* 128 162 for(j=0;j<nb_max_bolo;j++) 129 163 { 130 164 y1[j]=sin(phase_memoire)*y1[j]+cos(phase_memoire)*y2[j]; 131 165 } 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 */ 133 168 trace_DS(y1,0); 134 169 for(j=0;j<nb_max_bolo;j++) … … 208 243 209 244 // divise par la norme, trace y puis fait un RAZ 210 void trace_DS(double *y,int enregistre) // y [ nb_max_bolo +1]245 void trace_DS(double *y,int enregistre) // y [2*nb_max_bolo] 211 246 { 212 247 double x; 213 static double yraz[ nb_max_bolo];214 static double yt[ nb_max_bolo+1];248 static double yraz[2*nb_max_bolo]; 249 static double yt[2*nb_max_bolo]; 215 250 int j,k,moy; 216 static double yfiltre[ nb_max_bolo][10];251 static double yfiltre[2*nb_max_bolo][10]; 217 252 static int uf=0; 253 static int scan_ds=0; 218 254 x=gg->periode_echantillonage*(double)gg->temps_cntl-gg->temps_origine; 219 255 … … 231 267 232 268 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;269 for(j=0;j<2*nb_max_bolo;j++) yt[j]=y[j]; 270 for(j=0;j<2*nb_max_bolo;j++) y[j]=0; 235 271 236 272 //printf(" au debut = %g , %g , %g , %g , %g \n",yt[0],yt[1],yt[2],yt[3],yt[4]); … … 239 275 240 276 241 for(j=0;j< nb_max_bolo;j++)277 for(j=0;j<2*nb_max_bolo;j++) 242 278 { 243 279 yt[j]/=norme_DS; … … 251 287 raz_parasite=0; 252 288 selectgra(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]); 289 if(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 257 297 258 298 moy=litD(fenetre_trace_DS,ds_moyenne,0L); … … 262 302 uf++; 263 303 if(uf>=moy) uf=0; 264 for(j=0;j< nb_max_bolo;j++) // ne moyenne pas le signal de scan304 for(j=0;j<2*nb_max_bolo;j++) 265 305 { 266 306 for(k=0;k<moy;k++) yfiltre[j][k]+=yt[j]; … … 271 311 //printf(" montracen yt= %g , %g , %g , %g , %g \n",yt[0],yt[1],yt[2],yt[3],yt[4]); 272 312 //printf(" avant trace : =%g \n",yt[nb_max_bolo]); 273 montracen(fenetre_trace_DS,nb_max_bolo+1,x,yt); 274 313 montracen_ds(fenetre_trace_DS,2*nb_max_bolo,x,yt); 275 314 if(!(graph->scroll_courbe) && litD(fenetre_trace_DS,ds_retour,0L) && 276 315 ( (x<graph->xmin) ou (x>graph->xmax) )) … … 415 454 } 416 455 456 457 458 void montracen_ds(int fen,int n,double x,double *y) 459 { 460 int i,cc; 461 double yy[max_couleur]; // 0=rien : 1 2=bolo0 // 3 4 =bolo 462 for(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 } 468 tracen(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 19 19 int i,j; 20 20 double x,c1,c2; 21 static int scan_tt; 21 22 util_trace_tout *SS; 22 23 SS=infos(fen)->util; … … 91 92 92 93 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); 96 96 97 97 for(j=0;j<nb_max_bolo;j++) … … 105 105 { 106 106 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"); 113 109 114 110 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 112 if(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 117 116 117 scan_tt = ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) ; 118 } 118 119 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); 121 121 122 122 … … 144 144 for(i=0;i<max_couleur;i++) 145 145 { 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]; 147 147 else yy[i]=0; 148 148 } -
trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h
r637 r639 30 30 void exec_acquisition(int fen,int item,double valeur,...); // prototype de la fonction 31 31 32 // liste des items de la fenetre (4 4) items32 // liste des items de la fenetre (46) items 33 33 34 34 #define e_nb_mes 2 // controle … … 51 51 #define e_sauve 32 // controle 52 52 #define e_vanne 33 // controle 53 #define e_ chauf34 // controle53 #define e_helium 34 // controle 54 54 #define e_bolo_couleur 35 // controle 55 55 #define e_bolo_couleur36 36 // controle … … 62 62 #define e_bolo_couleur43 43 // controle 63 63 #define e_bolo_couleur44 44 // controle 64 #define e_chauf 45 // controle 65 #define e_cmd 46 // controle 64 66 65 67 //fin_id -
trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h
r637 r639 57 57 58 58 extern param_bolo parametr; // liste bolo dans le programme principal 59 extern reglage_bolo reglage_standard[8]; // liste bolo dans le programme principal 59 60 60 61 -
trunk/Poubelle/archediab.old/archediab.sources/h/dilution.h
r637 r639 9 9 void exec_dilution(int fen,int item,double valeur,...); // prototype de la fonction 10 10 11 // liste des items de la fenetre (6 4) items11 // liste des items de la fenetre (69) items 12 12 13 13 #define dil_switch_helium 2 // controle … … 30 30 #define dil_EVV_retour 22 // controle 31 31 #define dil_d_3He 23 // controle 32 #define dil_ d_4He24 // controle32 #define dil_envoi_dac 24 // controle 33 33 #define dil_RP_He 25 // controle 34 34 #define dil_p_d_3He 26 // static texte … … 63 63 #define dil_t_b3 55 // controle 64 64 #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 73 77 74 78 //fin_id -
trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h
r637 r639 54 54 #define fenetre_param_reglage 142 55 55 #define fenetre_fichier_archeops_c 143 56 #define fenetre_temperature_dil 144 56 57 57 58 -
trunk/Poubelle/archediab.old/archediab.sources/h/senseur_stellaire.h
r637 r639 9 9 void exec_senseur_stellaire(int fen,int item,double valeur,...); // prototype de la fonction 10 10 11 // liste des items de la fenetre ( 3) items11 // liste des items de la fenetre (4) items 12 12 13 13 #define sst_azer 1 // edit texte 14 14 #define sst_sortie_brute 3 // controle 15 #define sst_prem_diode 4 // controle 15 16 16 17 //fin_id -
trunk/Poubelle/archediab.old/archediab.sources/h/synchro.h
r637 r639 32 32 void exec_trace_DS(int fen,int item,double valeur,...); // prototype de la fonction 33 33 34 // liste des items de la fenetre ( 12) items34 // liste des items de la fenetre (31) items 35 35 36 #define ds_ filtre3 // edit texte36 #define ds_moyenne 3 // edit texte 37 37 #define ds_raz 4 // bouton 38 38 #define ds_periode 5 // static texte … … 42 42 #define ds_raz_parasite 11 // controle 43 43 #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 44 53 45 54 //fin_id -
trunk/Poubelle/archediab.old/archeops.c
r637 r639 1 1 #include "manip.h" 2 2 #include "archeops.h" 3 3 4 4 5 … … 32 33 33 34 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 */ 40 41 41 42 … … 43 44 /*---------------------------------- fenetre : -----------------------------------*/ 44 45 45 param_bolo parametr={2 4,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 } }46 param_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} }, 75 76 76 77 } … … 115 116 116 117 /*debut_nom_reglage*/ 117 /* 0->a a*/118 /* 1-> bb*/118 /* 0->a chaud complet*/ 119 /* 1->a froid pour V(I)*/ 119 120 /* 2->cc*/ 120 /* 3-> reglage 3*/121 /* 4-> reglage 4*/121 /* 3->a chaud complet*/ 122 /* 4->chaud avec synchro*/ 122 123 /* 5->reglage 5 */ 123 124 /* 6->reglage 6 */ … … 131 132 132 133 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 133 179 reglage_bolo reglage_standard[8]={{ 134 180 135 181 136 182 /*debut reglage 0 */ 183 #ifdef programme 137 184 {30,76,9,1}, 138 185 {0 139 186 ,10 140 187 ,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} 184 237 },{ 185 238 {0,1,9,1,0,0,0} … … 187 240 ,{0,1,9,1,0,0,0} 188 241 ,{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 190 304 /*fin_reglage*/ 191 305 … … 193 307 194 308 /*debut reglage 1 */ 195 {30,76,9,1}, 309 #ifdef programme 310 {31,76,9,1}, 196 311 {0 197 312 ,10 198 313 ,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} 242 363 },{ 243 364 {0,1,9,1,0,0,0} … … 245 366 ,{0,1,9,1,0,0,0} 246 367 ,{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 248 430 /*fin_reglage*/ 249 431 … … 251 433 252 434 /*debut reglage 2 */ 253 {31,76,9,0}, 435 #ifdef programme 436 {197,191,175,185}, 254 437 {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 312 556 /*fin_reglage*/ 313 557 … … 315 559 316 560 /*debut reglage 3 */ 317 {31,76,9,0}, 561 #ifdef programme 562 {30,76,9,1}, 318 563 {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 376 682 /*fin_reglage*/ 377 683 … … 379 685 380 686 /*debut reglage 4 */ 381 {31,76,9,0}, 687 #ifdef programme 688 {30,76,9,1}, 382 689 {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 440 808 /*fin_reglage*/ 441 809 … … 443 811 444 812 /*debut reglage 5 */ 445 {31,76,9,0}, 813 #ifdef programme 814 {197,191,175,185}, 446 815 {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 504 934 /*fin_reglage*/ 505 935 … … 507 937 508 938 /*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 509 1060 /*fin_reglage*/ 510 1061 … … 512 1063 513 1064 /*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 514 1186 /*fin_reglage*/ 515 1187 … … 524 1196 { 525 1197 unsigned long a,xl; 526 a=x-2; if(x<3) xl=x; else xl=((a&1) + 2)<<(a>>1); 1198 char aa; 1199 aa=x-2; 1200 a=aa; 1201 if(x<3) xl=x; else xl=((a&1) + 2)<<(a>>1); 527 1202 return(xl); 528 1203 } … … 576 1251 577 1252 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 578 1262 579 1263 … … 586 1270 lg=longueur_block(blk); if( lg != long_block[type] ) return(block_longueur_erreur); 587 1271 if( blk->mot[(lg/4)-4] != fin_block_mesure) return(block_fin_erreur); 1272 #ifndef SWAP 588 1273 som=calcul_somme_block(blk,lg); if( som!= somme_block(blk)) return(block_somme_erreur); 1274 #endif 589 1275 return(block_correct); 590 1276 } … … 639 1325 640 1326 641 642 -
trunk/Poubelle/archediab.old/archeops.h
r637 r639 7 7 8 8 #define _archeops 9 #define version_num 2 49 #define version_num 25 10 10 11 11 … … 19 19 /* - utilise le fichier archeops.c */ 20 20 /* - nb_max_bolo=24 avec nb_bolo_util=18 */ 21 /* - change la structure du block param */ 21 22 /* - change la structure du block dilution */ 22 23 /* */ 24 /* VERSION 25: */ 25 /* */ 26 /* - la compression marche */ 27 /* - 4 signaux synchro O.K. */ 28 /* - change la structure dil : contient les temperatures */ 23 29 /* */ 24 30 /* */ 25 /* */26 31 /*======================================================================*/ 27 32 … … 30 35 /* --------------- parametres generaux de definition ------------- */ 31 36 /*======================================================================*/ 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 32 50 33 51 #ifdef _planck … … 108 126 #endif 109 127 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 */ 111 131 #define nb_element_catalog 256 /* nombre d'éléments catalog par reponse enregistreur */ 112 132 … … 160 180 enum{tc2_reset_epld,tc2_bolo_dacV,tc2_bolo_dacI,tc2_bolo_dacT 161 181 ,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 5disponibles*/182 ,tc2_regul,tc2_auto_bolo,tc2_auto_dilu,tc2_dilution}; /* 12 codes: reste 4 disponibles*/ 163 183 164 184 … … 171 191 /* soit un code defini */ 172 192 /* 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 193 enum{tc3_commande,tc3_periode,tc3_nb_mesures,tc3_temp_mort,tc3_flag,tc3_vitesse}; 194 /*#define tc3_suite tc3_vitesse+nb_type_block */ 175 195 176 196 … … 199 219 /* ------- codes de reconnaissance des paquets de télémesure */ 200 220 201 #define debut_block_mesure 0x45627491202 #define fin_block_mesure 0x83260432221 #define debut_block_mesure ((int4)0x45627491) 222 #define fin_block_mesure ((int4)0x83260432) 203 223 204 224 … … 230 250 { 231 251 char bolo_nom[32]; /* le nom de chaque bolometre */ 232 longbolo_code_util; /* le code d'utilisation du bolo */233 longbolo_bebo; /* le type d'acquisition: 0 pour MLPA 10 pour BEBODIFF */234 longbolo_num; /* l'adresse hard du bolo */235 longbolo_gain; /* le gain du preampli */236 longbolo_capa; /* la valeur capa du modulateur */237 longbolo_diviseur; /* le diviseur de la compensation */238 longcoef[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 */ 239 259 } 240 260 param_un_bolo; … … 246 266 /* cette table ne change pas (en principe) en cours de mesure */ 247 267 { 248 longnumero_version; /* numero de version du header archeops.h */249 longn_max_bolo; /* nombre maxi de bolos (divisible par 4) */250 longn_per_block; /* nombre de periodes entieres dans un block */251 longn_max_mes_per; /* nb de points maxi dans une periode complete */252 253 longnb_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 */ 254 274 param_un_bolo bolo[nb_max_bolo]; 255 275 } … … 279 299 typedef struct /* La structure de transfert transputer vers mac */ 280 300 { 281 longdebut; /* code de reconnaissance de debut de block */282 longcode1; /* code1 du block */283 longcode2; /* 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 */ 284 304 285 305 param_bolo param; /* les parametres de mesure des bolometres */ 286 306 287 longfin; /* code de reconnaissance de fin de block */307 int4 fin; /* code de reconnaissance de fin de block */ 288 308 } 289 309 block_type_param; … … 297 317 typedef struct 298 318 { 299 longcode2; /* code de la ligne du journal */319 int4 code2; /* code de la ligne du journal */ 300 320 /* code idem code2 debut de block : */ 301 321 /* contient un code de commande */ … … 308 328 typedef struct 309 329 { 310 longdebut; /* code de reconnaissance de debut de block */311 longcode1; /* code1 du block */312 longcode2; /* 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 */ 313 333 314 334 ligne_journal jj[long_page]; /* block de 10 lignes de journal */ 315 335 316 longfin; /* code de reconnaissance de fin de block */336 int4 fin; /* code de reconnaissance de fin de block */ 317 337 } 318 338 block_type_journal; … … 322 342 /* ------------------------------------------------------------------------------------------ */ 323 343 #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]) */ 325 345 326 346 … … 353 373 typedef struct 354 374 { 355 longmot1; /* dac1 = mot[11..0]; dac2=mot1[23..12] */375 int4 mot1; /* dac1 = mot[11..0]; dac2=mot1[23..12] */ 356 376 /* gain = mot1[27..24]; phase = mot1[31..28]; */ 357 longmot2; /* dac3 = mot[11..0]; dac4=mot1[23..12] */377 int4 mot2; /* dac3 = mot[11..0]; dac4=mot1[23..12] */ 358 378 /* voie pour reglages auto = mot2[31..24]; */ 359 379 } … … 465 485 #define bit_piles_auto 4 466 486 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}; 487 enum{vanne_zero,vanne_rien,vanne_ferme,vanne_ouvre,vanne_auto_pression,vanne_auto_pression_piles,vanne_auto_pression_piles_temps}; 488 enum{trans_zero,trans_rien,trans_normal,trans_rapide,trans_lent}; 489 enum{helium_zero,helium_continu,helium_40s,helium_400s}; 469 490 470 491 … … 483 504 typedef struct 484 505 { 485 longdebut; /* code de reconnaissance de debut de block */486 longcode1; /* code1 du block */487 longcode2; /* 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 */ 488 509 reglage_bolo reglage; 489 longfin; /* code de reconnaissance de fin de block */510 int4 fin; /* code de reconnaissance de fin de block */ 490 511 } 491 512 block_type_reglage; … … 495 516 typedef struct 496 517 { 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 */ 507 529 } 508 530 block_type_dilution; … … 530 552 531 553 /* 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 */ 532 557 533 558 enum{ 534 /* multiplex11..18:*/ mul11_,mul12_ ,p_haut ,p_memb ,t_h1 ,t_h4 ,t_h3 ,t_h2535 /* multiplex21..28:*/, mul21_ ,mul22 ,p_charb,p_R4 ,mul25_ ,p_C3 ,p_R3 , mul28536 /* multiplex31..38:*/, mul31_ ,p_C4 ,p_air ,t_a3 ,t_b4 ,t_b1 ,t_b2 ,t_a 2559 /* 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 537 562 /* multiplex41..48:*/, t_b3 ,d_4He ,RP_He ,mul44 ,d_3He ,j_he3 ,j_he7 ,j_he4 538 563 /* multiplex51..58:*/, j_he5 ,j_he1 ,j_he8 ,j_he2 ,j_he6 ,pirani ,mul57 ,mul58 539 564 /* multiplex61..68:*/, p_m18B ,p_10B ,p_m18D ,mul64 ,p_p18B ,p_10T ,p_Ch ,p_p18D 540 565 }; 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 */ 543 567 544 568 … … 549 573 typedef struct 550 574 { 551 longdebut; /* code de reconnaissance de debut de block */552 longcode1; /* code1 du block */553 longcode2; /* 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 */ 554 578 555 579 char gps[80]; /* les données GPS (une chaine maxi 80 cara) */ 556 580 557 longfin; /* code de reconnaissance de fin de block */581 int4 fin; /* code de reconnaissance de fin de block */ 558 582 } 559 583 block_type_gps; … … 565 589 typedef struct 566 590 { 567 longdebut; /* code de reconnaissance de debut de block */568 longcode1; /* code1 du block */569 longcode2; /* 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 */ 570 594 571 595 short bol_per[nb_max_bolo][nb_max_mes_per]; 572 596 573 longfin; /* code de reconnaissance de fin de block */597 int4 fin; /* code de reconnaissance de fin de block */ 574 598 } 575 599 block_type_une_periode; … … 579 603 typedef struct 580 604 { 581 longdebut; /* code de reconnaissance de debut de block */582 longcode1; /* code1 du block */583 longcode2; /* code2 du block */584 char synchro[nb_ sync][nb_per_block*2];585 586 longfin; /* 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 */ 587 611 } 588 612 block_type_synchro_sol; … … 592 616 typedef struct 593 617 { 594 longdebut; /* code de reconnaissance de debut de block */595 longcode1; /* code1 du block */596 longcode2; /* 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 */ 597 621 char comment[1024]; 598 longfin; /* code de reconnaissance de fin de block */622 int4 fin; /* code de reconnaissance de fin de block */ 599 623 } 600 624 block_type_pointage_sol; … … 606 630 typedef struct 607 631 { 608 longdebut; /* code de reconnaissance de debut de block */609 longcode1; /* code1 du block */610 longcode2; /* 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 */ 611 635 /* pour chaque bolo, un vecteur 72 points */ 612 longdata_bolo[nb_max_bolo][nb_per_block*2];636 int4 data_bolo[nb_max_bolo][nb_per_block*2]; 613 637 /* data D.S. (en mots de 32 bits) */ 614 longfin; /* code de reconnaissance de fin de block */638 int4 fin; /* code de reconnaissance de fin de block */ 615 639 } 616 640 block_type_bolo; … … 620 644 typedef struct 621 645 { 622 longdebut; /* code de reconnaissance de debut de block */623 longcode1; /* code1 du block */624 longcode2; /* 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 */ 625 649 /* chaque gyro: un vecteur tde 72 valeurs */ 626 longgyros[3][nb_per_block*2];627 longmagneto[3]; /* 1 bit par echantillonage soit 3*32bit>72 */628 longfin; /* 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 */ 629 653 } 630 654 block_type_gyro; … … 634 658 typedef struct 635 659 { 636 longdebut; /* code de reconnaissance de debut de block */637 longcode1; /* code1 du block */638 longcode2; /* code2 du block */639 longsst[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]; 640 664 /* chaque mesure: un paquet de 18 mots de 32 bits */ 641 longfin; /* code de reconnaissance de fin de block */665 int4 fin; /* code de reconnaissance de fin de block */ 642 666 } 643 667 block_type_sst; … … 647 671 typedef struct 648 672 { 649 longdebut; /* code de reconnaissance de debut de block */650 longcode1; /* code1 du block */651 longcode2; /* code2 du block */652 longfin; /* 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 */ 653 677 } 654 678 block_type11; … … 658 682 typedef struct 659 683 { 660 longdebut; /* code de reconnaissance de debut de block */661 longcode1; /* code1 du block */662 longcode2; /* 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 */ 663 687 /* nombre de mots = nb valeurs/4 +1 */ 664 688 /* pour chaque bolo, un vecteur 19 mots */ 665 longdata_bolo[nb_bolo_util][ (nb_per_block/2) +1 ];666 667 longfin; /* 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 */ 668 692 } 669 693 block_type_bolo_comprime; … … 673 697 typedef struct 674 698 { 675 longdebut; /* code de reconnaissance de debut de block */676 longcode1; /* code1 du block */677 longcode2; /* 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 */ 678 702 /* nombre de mots = nb valeurs/4 +1 */ 679 longgyro[3][ (nb_per_block/2) +1 ];680 longfin; /* 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 */ 681 705 } 682 706 block_type_gyro_comprime; … … 686 710 typedef struct 687 711 { 688 longdebut; /* code de reconnaissance de debut de block */689 longcode1; /* code1 du block */690 longcode2; /* 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 */ 691 715 /* pour chaque diode, un vecteur 11 mots */ 692 longsst[nb_photo_diodes] [(nb_per_block*2/7) +1 ];693 longfin; /* 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 */ 694 718 } 695 719 block_type_sst_comprime; … … 702 726 typedef struct /* etat de l'enregistreur */ 703 727 { 704 longnb_total_catalog;705 longmemoire_libre;706 longnb_block_erreur;728 int4 nb_total_catalog; 729 int4 memoire_libre; 730 int4 nb_block_erreur; 707 731 }status_flash; 708 732 709 733 typedef struct 710 734 { 711 longdebut; /* code de reconnaissance de debut de block */712 longcode1; /* code1 du block */713 longcode2; /* code2 du block */714 715 longcommande; /* 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 */ 716 740 status_flash status; /* etat de l'enregistreur */ 717 longnombre; /* */718 longcode[nb_element_catalog]; /* code type et numero */719 longfin; /* 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 */ 720 744 } 721 745 block_type_catalog_flash; … … 726 750 typedef struct 727 751 { 728 longdebut; /* code de reconnaissance de debut de block */729 longcode1; /* code1 du block */730 longcode2; /* code2 du block */731 longcommande; /* type de commande a l'enregistreur flash */732 longfin; /* 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 */ 733 757 } 734 758 block_type_cmd_flash; … … 743 767 typedef struct 744 768 { 745 longdebut; /* code de reconnaissance de debut de block */746 longcode1; /* code1 du block */747 longcode2; /* 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 */ 748 772 #ifdef transmet_data_brute 749 773 char data[nb_per_block*nb_max_mes_per*nb_byte_mot]; 750 774 #endif 751 longfin; /* code de reconnaissance de fin de block */775 int4 fin; /* code de reconnaissance de fin de block */ 752 776 } 753 777 block_type_data_brute; … … 757 781 typedef struct 758 782 { 759 longdebut; /* code de reconnaissance de debut de block */760 longcode1; /* code1 du block */761 longcode2; /* code2 du block */762 longfin; /* 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 */ 763 787 } 764 788 block_type_18; … … 768 792 typedef struct 769 793 { 770 longdebut; /* code de reconnaissance de debut de block */771 longcode1; /* code1 du block */772 longcode2; /* code2 du block */773 longfin; /* 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 */ 774 798 } 775 799 block_type_19; … … 782 806 typedef struct /* La structure de transfert transputer vers mac */ 783 807 { 784 longdebut; /* code de reconnaissance de debut de block */785 longcode1; /* code1 du block */786 longcode2; /* code2 du block */787 longmot[(taille_maxi_block_archeops)/4];788 longfin; /* 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 */ 789 813 } 790 814 block_type_modele;
Note:
See TracChangeset
for help on using the changeset viewer.