Changeset 643 in Sophya for trunk/Poubelle
- Timestamp:
- Nov 25, 1999, 2:26:53 PM (26 years ago)
- Location:
- trunk/Poubelle/archediab.old
- Files:
-
- 3 added
- 1 deleted
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Poubelle/archediab.old/archediab.sources/c/acqui_util.c
r639 r643 8 8 #include "auto.h" 9 9 #include "config_transputer.h" 10 #include "bit_block.h" 10 11 11 12 … … 35 36 { 36 37 // parametr.bolo[j].bolo_code_util=0; 37 // strcpy(parametr. bolo[j].bolo_nom,"");38 // strcpy(parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom,""); 38 39 // parametr.bolo[j].bolo_bebo=0; 39 40 // parametr.bolo[j].bolo_num=0; … … 130 131 case 900+err_sauve_block : printf(" err_sauve_block");break; 131 132 case 900+err_pile_pleine : printf(" err_pile_pleine");son(133);break; 133 134 case 920+erreur_bit_erreur : printf(" bit_erreur");break; 135 case 920+erreur_bit_vide : printf(" bit_vide");break; 136 case 920+erreur_type : printf(" bit_type_erreur");break; 137 case 920+erreur_longueur : printf(" bit_erreur_longueur");break; 138 case 920+erreur_somme : printf(" bit_erreur_somme");break; 139 case 920+erreur_fin : printf(" bit_erreur_fin");break; 140 case 920+cherche_debut : printf(" bit_cherche_debut");break; 141 142 132 143 133 144 case 8 : printf(" +");break; -
trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c
r639 r643 50 50 if(verifie_block_printf(blk_tm)) return; 51 51 52 //{def_nom_block printf("lit un block %s N°%d \n",nom_block[type_block(blk_tm)],numero_block(blk_tm)); } 52 { 53 def_nom_block 54 static int mon_num_block; 55 if(mon_num_block!=numero_block(blk_tm)) 56 { 57 mon_num_block=numero_block(blk_tm); 58 printf("\n%d ->",mon_num_block); 59 } 60 printf(" %s ",nom_block[type_block(blk_tm)]); 61 } 53 62 54 63 switch(type_block(blk_tm)) … … 66 75 case block_une_periode : traite_block_une_periode((block_type_une_periode*)blk_tm); break; 67 76 68 case block_bolo_comprime : traite_block_bolo_comprime((block_type_bolo_comprime*)blk_tm); break;69 70 77 case block_bolo : traite_block_bolo((block_type_bolo*)blk_tm); break; 78 case block_bolo_comprime : traite_block_bolo_comprime((block_type_bolo_comprime*)blk_tm); break; 71 79 72 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; 82 83 case block_gyro : traite_block_gyro((block_type_gyro*)blk_tm); break; 84 case block_gyro_comprime : traite_block_gyro_comprime((block_type_gyro_comprime*)blk_tm); break; 73 85 74 86 case block_synchro_sol : traite_block_synchro_sol((block_type_synchro_sol*)blk_tm); break; 87 88 case block_status_flash : printf("******************status flash recut ********************* \n");son(133); break; 75 89 76 90 #ifdef transmet_data_brute … … 201 215 void traite_block_bolo_comprime(block_type_bolo_comprime* blk) 202 216 { 203 int j ;217 int j,jc; 204 218 #define blk2 ((block_type_bolo*)(&bktm)) // pointeur sur la memoire locale 205 219 // maintenant, decomprime blk pour le reecrire dans blk2 … … 210 224 ( (blk->data_bolo[1][0] & 0x0000ffff)<<5 ) & 0x001fffe0); 211 225 */ 226 /* 212 227 for(j=0;j<nb_bolo_util;j++) 213 228 { 214 229 decompress_7_2((long *)blk->data_bolo[j],blk2->data_bolo[j],nb_per_block*2); 215 230 } 216 231 */ 232 jc=0;for(j=0;j<nb_max_bolo;j++) // jc = bolo_comprime // j=bolo normal 233 { 234 if( (parametr.bolo[j].bolo_code_util==bolo_normal_transmis) && (jc<nb_bolo_util) ) 235 { 236 decompress_7_2((long *)blk->data_bolo[jc],blk2->data_bolo[j],nb_per_block*2); 237 jc++; 238 } 239 } 217 240 /*printf("ds1= %x , %x ds2= %x , %x \n", 218 241 blk2->data_bolo[0][0], -
trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_general.c
r639 r643 151 151 152 152 153 case e_transmission : { 153 case e_flash : 154 case e_telemesure : { 154 155 long ll=(long)(&(gg->reglage.dilu.transmission))-(long)(&(gg->reglage.dilu)); 155 int a=(int) valeur; 156 int a=(int) (litD(fenetre_acquisition,e_flash,0)-1); 157 a=a<<4; 158 a=a + (int) (litD(fenetre_acquisition,e_telemesure,0)-1); 156 159 emission_tc_reduite(tc2_auto_dilu,ll,a); 157 160 } -
trunk/Poubelle/archediab.old/archediab.sources/c/auto.c
r637 r643 312 312 ll=(long)(&(gg->reglage.autom[i].gain))-(long)(&(gg->reglage.autom[0])); 313 313 a=litD(fenetre_automatismes,atm_gain+i,0L)-1+20; 314 if( (a!=gg->reglage.autom[i].gain) ou ( clavier(touche_alt) et(item==atm_gain+i) ) )314 if( (a!=gg->reglage.autom[i].gain) ou ( /*clavier(touche_alt) et*/ (item==atm_gain+i) ) ) 315 315 emission_tc_reduite(tc2_auto_bolo,ll,a); 316 316 317 317 ll=(long)(&(gg->reglage.autom[i].courant))-(long)(&(gg->reglage.autom[0])); 318 318 a=litD(fenetre_automatismes,atm_courant+i,0L)-1; 319 if( (a!=gg->reglage.autom[i].courant) ou ( clavier(touche_alt) et(item==atm_courant+i) ) )319 if( (a!=gg->reglage.autom[i].courant) ou ( /*clavier(touche_alt) et*/ (item==atm_courant+i) ) ) 320 320 emission_tc_reduite(tc2_auto_bolo,ll,a); 321 321 322 322 ll=(long)(&(gg->reglage.autom[i].delai))-(long)(&(gg->reglage.autom[0])); 323 323 a=litD(fenetre_automatismes,atm_delai+i,0L); 324 if( (a!=gg->reglage.autom[i].delai) ou ( clavier(touche_alt) et(item==atm_delai+i) ) )324 if( (a!=gg->reglage.autom[i].delai) ou ( /*clavier(touche_alt) et*/ (item==atm_delai+i) ) ) 325 325 emission_tc_reduite(tc2_auto_bolo,ll,a); 326 326 } -
trunk/Poubelle/archediab.old/archediab.sources/c/bit_block.c
r637 r643 150 150 { 151 151 cpt_cherche_debut=0; 152 ecrit_erreur_bit(cherche_debut);152 // ecrit_erreur_bit(cherche_debut); 153 153 } 154 154 } -
trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c
r639 r643 50 50 case tache_de_fond : // appellé par le programme d'acquisition pour tracer ---- la cadence est variable 51 51 n=gg->reglage.horloge.nb_mesures; 52 // printf(" nb mesure = %d \n",n); 52 53 { 53 54 selectgra(fen); -
trunk/Poubelle/archediab.old/archediab.sources/c/config_transputer.c
r637 r643 1 SUPPRIME DU PROGRAMME 2 1 3 #include "diabolo.h" 2 4 #include "config_transputer.h" -
trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c
r639 r643 80 80 81 81 #ifdef _archeops 82 nouveauD(fenetre_vitesse_block,config_transputer_id,"config_transputer",exec_config_transputer);82 //nouveauD(fenetre_vitesse_block,config_transputer_id,"config_transputer",exec_config_transputer); 83 83 84 84 printf(" acquisition Archeops \n\n"); … … 102 102 printf(" cherche a ouvrir bolo %d ",j+1); 103 103 printf(" capa=%g ",capa(j+1)); 104 printf(" boloutil = %d bolonom = %s \n",parametr.bolo[j].bolo_code_util,parametr. bolo[j].bolo_nom);104 printf(" boloutil = %d bolonom = %s \n",parametr.bolo[j].bolo_code_util,parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom); 105 105 if(parametr.bolo[j].bolo_code_util) 106 106 { 107 sprintf(ss,"%d: %s",j+1,parametr. bolo[j].bolo_nom);107 sprintf(ss,"%d: %s",j+1,parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom); 108 108 ouvreD(j+1,bolo_id,ss,exec_bolo); 109 109 } -
trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c
r639 r643 16 16 17 17 18 #define val_multiplex(i) (0.0003052*(double)(blk->ADC_dil[i]-0x8000)) 19 //#define val_temperature(i) (34.+ (300./4.4)*(4.4-val_multiplex(i)) ) 20 //#define val_temperature(i) ((1146.3/(val_multiplex(i)-0.1)) - 245.13) 21 #define val_temperature(i) ((val_multiplex(i)<0.2)?-99:((1146.3/(val_multiplex(i)-0.1)) - 245.13)) 22 #define cnt_temperature(i) (20+(int)val_temperature(i)) 18 #define cnt_temperature(i) (20+(int)val_temperature(blk->ADC_dil[i])) 23 19 24 20 #define ecrit_switch(val,ii,bit) {if(val) ii=ii | bit ;else ii=ii& (0xffffffff^bit) ;} 25 21 #define calib(j) litD(fenetre_dilution_calibration,j,0L) 26 22 23 24 void ecrit_moteur_dilution(int valeur); // valeur sur 10 bit: poid fort=on/off 25 26 void ecrit_moteur_dilution(int valeur) 27 { 28 int i; 29 char mot_tc[10]; 30 31 i=litD(fenetre_dilution,dil_switch_1,0); 32 i=i<<8; i+=litD(fenetre_dilution,dil_switch_2,0); 33 i=i<<8; i+=litD(fenetre_dilution,dil_switch_3,0); 34 i=i<<8; // les 3 octets en poid fort, rien dans le dernier octet 35 i=i& 0x003fffff; 36 i = i| ( (valeur & 0x3ff)<<22); 37 ecritD(fenetre_dilution,dil_switch_1,(i>>24)&0xff); 38 ecritD(fenetre_dilution,dil_switch_2,(i>>16)&0xff); 39 ecritD(fenetre_dilution,dil_switch_3,(i>>8 )&0xff); 40 41 mot_tc[0]=tc_switch_dil; 42 mot_tc[1]=0; 43 mot_tc[2]=0; 44 mot_tc[3]=0; 45 mot_tc[4]=(i>>8 )&0xff; 46 mot_tc[5]=(i>>16)&0xff; 47 mot_tc[6]=(i>>24)&0xff; 48 mot_tc[7]=0; 49 emission_telecommande(tc_dir_transputer,mot_tc); 50 } 27 51 28 52 … … 139 163 // case dil_dac_1 : 140 164 // case dil_dac_2 : 141 case dil_envoi_dac : ecrit_dac_dilution(); break; 165 // case dil_envoi_dac : ecrit_dac_dilution(); break; 166 case dil_envoi_dac : ecrit_moteur_dilution((int)litD(fenetre_dilution,dil_dac_2,0)); // les 12 bits 167 break; 142 168 143 169 default : break; … … 220 246 // les pressions et debits metres des injections de la dilution 221 247 ecritD(fenetre_dilution,dil_p_d_3He,"3He: %4.1fb -> %5.2fµm/s -> %4.1fb" 222 ,40. * val_multiplex( p_R3) -1.6 // 200 bars pour 5V et 1.6 bar d'offset223 ,2. * val_multiplex( d_3He) // 10 MICRO MOLES pour 5V224 ,20. * val_multiplex( p_C3) // 100 bars pour 5V248 ,40. * val_multiplex(blk->ADC_dil[ p_R3]) -1.6 // 200 bars pour 5V et 1.6 bar d'offset 249 ,2. * val_multiplex(blk->ADC_dil[ d_3He]) // 10 MICRO MOLES pour 5V 250 ,20. * val_multiplex(blk->ADC_dil[ p_C3]) // 100 bars pour 5V 225 251 ); 226 252 ecritD(fenetre_dilution,dil_p_d_4He,"4He: %4.1fb -> %5.2fµm/s -> %4.1fb" 227 ,40. * val_multiplex( p_R4) // 200 bars pour 5V228 ,8. * val_multiplex( d_4He) // 40 MICRO MOLES pour 5V229 // ,4. * val_multiplex( d_4He) // 20 MICRO MOLES pour 5V230 ,20. * val_multiplex( p_C4) // 100 bars pour 5V253 ,40. * val_multiplex(blk->ADC_dil[ p_R4]) // 200 bars pour 5V 254 ,8. * val_multiplex(blk->ADC_dil[ d_4He]) // 40 MICRO MOLES pour 5V 255 // ,4. * val_multiplex(blk->ADC_dil[ d_4He]) // 20 MICRO MOLES pour 5V 256 ,20. * val_multiplex(blk->ADC_dil[ p_C4]) // 100 bars pour 5V 231 257 ); 232 258 233 259 ecritD(fenetre_dilution,dil_p_air,"Van=%4.1fb charb=%4.1fb mmb=%4.3fb haut=%4.3fb" 234 ,20.*val_multiplex( p_air),20.*val_multiplex(p_charb)235 ,0.2*val_multiplex( p_memb),0.2*val_multiplex(p_haut) );260 ,20.*val_multiplex(blk->ADC_dil[ p_air]),20.*val_multiplex(blk->ADC_dil[ p_charb]) 261 ,0.2*val_multiplex(blk->ADC_dil[ p_memb]),0.2*val_multiplex(blk->ADC_dil[ p_haut]) ); 236 262 237 263 ecritD(fenetre_dilution,dil_piles," Trp=%4.1fV Dil=%4.1fV / %4.1fV \rBebo=%4.1fV / %4.1fV / %4.1fV Ch=%4.1fV" 238 ,2.03*val_multiplex( p_10T),3.90*val_multiplex(p_p18D),3.90*val_multiplex(p_m18D)239 ,2.03*val_multiplex( p_10B),3.90*val_multiplex(p_p18B),3.90*val_multiplex(p_m18B)240 ,3.8*val_multiplex( p_Ch));264 ,2.03*val_multiplex(blk->ADC_dil[ p_10T]),3.90*val_multiplex(blk->ADC_dil[ p_p18D]),3.90*val_multiplex(blk->ADC_dil[ p_m18D]) 265 ,2.03*val_multiplex(blk->ADC_dil[ p_10B]),3.90*val_multiplex(blk->ADC_dil[ p_p18B]),3.90*val_multiplex(blk->ADC_dil[ p_m18B]) 266 ,3.8*val_multiplex(blk->ADC_dil[ p_Ch])); 241 267 242 268 /* valeur seuil au mini (5.3 ou 15.3V) , *17 = +5.9 V au maxi */ 243 269 244 270 245 ecritD(fenetre_dilution,dil_p_10T,(int)(17*(2.03*val_multiplex( p_10T)-5.3)));246 ecritD(fenetre_dilution,dil_p_p18D,(int)(17*(3.90*val_multiplex( p_p18D)-15.3)));247 ecritD(fenetre_dilution,dil_p_m18D,(int)(17*(-3.90*val_multiplex( p_m18D)-15.3)));248 ecritD(fenetre_dilution,dil_p_10B,(int)(17*(2.03*val_multiplex( p_10B)-5.3)));249 ecritD(fenetre_dilution,dil_p_p18B,(int)(17*(3.93*val_multiplex( p_p18B)-15.3)));250 ecritD(fenetre_dilution,dil_p_m18B,(int)(17*(-3.93*val_multiplex( p_m18B)-15.3)));251 ecritD(fenetre_dilution,dil_p_Ch,(int)(10*(3.8*val_multiplex( p_Ch)-25))); /* 25 a 35 V */271 ecritD(fenetre_dilution,dil_p_10T,(int)(17*(2.03*val_multiplex(blk->ADC_dil[ p_10T])-5.3))); 272 ecritD(fenetre_dilution,dil_p_p18D,(int)(17*(3.90*val_multiplex(blk->ADC_dil[ p_p18D])-15.3))); 273 ecritD(fenetre_dilution,dil_p_m18D,(int)(17*(-3.90*val_multiplex(blk->ADC_dil[ p_m18D])-15.3))); 274 ecritD(fenetre_dilution,dil_p_10B,(int)(17*(2.03*val_multiplex(blk->ADC_dil[ p_10B])-5.3))); 275 ecritD(fenetre_dilution,dil_p_p18B,(int)(17*(3.93*val_multiplex(blk->ADC_dil[ p_p18B])-15.3))); 276 ecritD(fenetre_dilution,dil_p_m18B,(int)(17*(-3.93*val_multiplex(blk->ADC_dil[ p_m18B])-15.3))); 277 ecritD(fenetre_dilution,dil_p_Ch,(int)(10*(3.8*val_multiplex(blk->ADC_dil[ p_Ch])-25))); /* 25 a 35 V */ 252 278 253 279 // -- les voyants de switch de piles … … 257 283 258 284 ecritD(fenetre_dilution,dil_temperatures,"temp-Haut = %4.1f° %4.1f° %4.1f° %4.1f° \rtemp-Bas = %4.1f° %4.1f° %4.1f° %4.1f° " 259 ,val_temperature( t_h1),val_temperature(t_h2),val_temperature(t_h3),val_temperature(t_h4)260 ,val_temperature( t_b1),val_temperature(t_b2),val_temperature(t_b3),val_temperature(t_b4)285 ,val_temperature(blk->ADC_dil[ t_h1]),val_temperature(blk->ADC_dil[ t_h2]),val_temperature(blk->ADC_dil[ t_h3]),val_temperature(blk->ADC_dil[ t_h4]) 286 ,val_temperature(blk->ADC_dil[ t_b1]),val_temperature(blk->ADC_dil[ t_b2]),val_temperature(blk->ADC_dil[ t_b3]),val_temperature(blk->ADC_dil[ t_b4]) 261 287 ); 262 288 … … 277 303 // les afficheurs analogiques de pression helium et pirani 278 304 279 ecritD(fenetre_dilution,dil_RP_He,(int)(2500*val_multiplex( RP_He)-7500));305 ecritD(fenetre_dilution,dil_RP_He,(int)(2500*val_multiplex(blk->ADC_dil[ RP_He])-7500)); 280 306 // je veux 10000 pour 0.8 bars soit alors que l'on a 5V pour 1 bar ou 1V = 0.2 bar 281 307 // soit multiplier par 2500 282 308 // puis j'enleve 0.6 bars soit 7500 283 ecritD(fenetre_dilution,dil_pirani,(int)(1000*val_multiplex( pirani)));309 ecritD(fenetre_dilution,dil_pirani,(int)(1000*val_multiplex(blk->ADC_dil[ pirani]))); 284 310 285 311 … … 295 321 ecritT(fenetre_dilution_lecture_brute,fin_f,"dil_switch= %x \n",blk->switch_dil); 296 322 297 for(i=0;i<16;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<8?i+11:i+13,val_multiplex( i));323 for(i=0;i<16;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<8?i+11:i+13,val_multiplex(blk->ADC_dil[ i])); 298 324 ecritT(fenetre_dilution_lecture_brute,fin_f,"\n"); 299 for(i=16;i<32;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<24?i+15:i+17,val_multiplex( i));325 for(i=16;i<32;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<24?i+15:i+17,val_multiplex(blk->ADC_dil[ i])); 300 326 ecritT(fenetre_dilution_lecture_brute,fin_f,"\n"); 301 for(i=32;i<48;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<40?i+19:i+21,val_multiplex( i));327 for(i=32;i<48;i++) ecritT(fenetre_dilution_lecture_brute,fin_f,"%2d=%6.3f ",i<40?i+19:i+21,val_multiplex(blk->ADC_dil[ i])); 302 328 ecritT(fenetre_dilution_lecture_brute,fin_f,"\n"); 303 329 } … … 311 337 // printf("dilution : numero de block = %d \n",numero_block(blk)); 312 338 changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,rouge,blanc,blanc),""); 313 y[0]=val_multiplex( j_he1)-calib(dil_j_he1);314 y[1]=val_multiplex( j_he2)-calib(dil_j_he2);315 y[2]=val_multiplex( j_he3)-calib(dil_j_he3);316 y[3]=val_multiplex( j_he4)-calib(dil_j_he4);317 y[4]=val_multiplex( j_he5)-calib(dil_j_he5);318 y[5]=val_multiplex( j_he6)-calib(dil_j_he6);319 y[6]=val_multiplex( j_he7)-calib(dil_j_he7);320 y[7]=val_multiplex( j_he8)-calib(dil_j_he8);339 y[0]=val_multiplex(blk->ADC_dil[ j_he1])-calib(dil_j_he1); 340 y[1]=val_multiplex(blk->ADC_dil[ j_he2])-calib(dil_j_he2); 341 y[2]=val_multiplex(blk->ADC_dil[ j_he3])-calib(dil_j_he3); 342 y[3]=val_multiplex(blk->ADC_dil[ j_he4])-calib(dil_j_he4); 343 y[4]=val_multiplex(blk->ADC_dil[ j_he5])-calib(dil_j_he5); 344 y[5]=val_multiplex(blk->ADC_dil[ j_he6])-calib(dil_j_he6); 345 y[6]=val_multiplex(blk->ADC_dil[ j_he7])-calib(dil_j_he7); 346 y[7]=val_multiplex(blk->ADC_dil[ j_he8])-calib(dil_j_he8); 321 347 if(blk->switch_dil & switch_helium) 322 348 { -
trunk/Poubelle/archediab.old/archediab.sources/c/fourier_diabolo.c
r637 r643 70 70 71 71 ss[0]=0; 72 for(j=0;j<k;j++) if( (j!=0) && (j!=3))72 for(j=0;j<k;j++) //if( (j!=0) && (j!=3)) 73 73 { 74 74 mm=0;m1=0; for(i=10;i<n/8;i++) {mm=mm+fo(k,n,j,i);m1++;} 75 75 if(m1>1) mm=1000.*qq*mm/m1; 76 printf("%s: %5.1f nV\n",parametr. bolo[j].bolo_nom,mm);77 if(strlen(ss)<200) sprintf(ss+strlen(ss),"%s: %5.1f nV\r",parametr. bolo[j].bolo_nom,mm);76 printf("%s: %5.1f nV\n",parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom,mm); 77 if(strlen(ss)<200) sprintf(ss+strlen(ss),"%s: %5.1f nV\r",parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom,mm); 78 78 if(strlen(ss) > 240) erreur("dans fourier, string trop long "); 79 79 } -
trunk/Poubelle/archediab.old/archediab.sources/c/menu.c
r639 r643 18 18 #include "dilution.h" 19 19 #include "senseur_stellaire.h" 20 #include "gyroscope.h" 20 21 21 22 … … 71 72 case d_senseur_stellaire : if(fenetre(fenetre_senseur_stellaire)) select(fenetre_senseur_stellaire); 72 73 else ouvreD(fenetre_senseur_stellaire,senseur_stellaire_id,"senseur_stellaire",exec_senseur_stellaire); 74 if(fenetre(fenetre_gyroscope)) select(fenetre_gyroscope); 75 else ouvreD(fenetre_gyroscope,0,"fenetre_gyroscope",exec_gyroscope); 73 76 break; 74 77 -
trunk/Poubelle/archediab.old/archediab.sources/c/mesures_bolo.c
r637 r643 19 19 //******************************************************************************************************// 20 20 21 #define c(i) (1e-4*(double)parametr. bolo[fen-1].coef[i])21 #define c(i) (1e-4*(double)parametr.nom_coef[parametr.bolo[fen-1].numero_nom_coef].coef[i]) 22 22 23 23 … … 85 85 86 86 87 ecritT(fenetre_mesures_bolo,fin_f,"%d %s :",fen,parametr. bolo[fen-1].bolo_nom);87 ecritT(fenetre_mesures_bolo,fin_f,"%d %s :",fen,parametr.nom_coef[parametr.bolo[fen-1].numero_nom_coef].bolo_nom); 88 88 89 89 //ecritT(fenetre_mesures_bolo,fin_f,"%s (b%d) :"/* bebo=%d num=%d gain_pa=%d coef0=%g coef1=%g coef2=%g */, -
trunk/Poubelle/archediab.old/archediab.sources/c/pointage.c
r637 r643 152 152 } 153 153 154 printf(" bolo %d (%s) :",bolo,parametr. bolo[bolo-1].bolo_nom);154 printf(" bolo %d (%s) :",bolo,parametr.nom_coef[parametr.bolo[bolo-1].numero_nom_coef].bolo_nom); 155 155 if(k) sprintf(ss,"elevation :"); 156 156 else sprintf(ss,"azimuth :"); -
trunk/Poubelle/archediab.old/archediab.sources/c/rafraichis_fenetre.c
r637 r643 20 20 ecritD(fenetre_acquisition,e_nb_mes,(int)gg->reglage.horloge.nb_mesures/2); 21 21 ecritD(fenetre_acquisition,e_temp_mort,(int)gg->reglage.horloge.temp_mort); 22 ecritD(fenetre_acquisition,e_transmission,(int)gg->reglage.dilu.transmission); 22 ecritD(fenetre_acquisition,e_telemesure,1+(0x0f & (int)gg->reglage.dilu.transmission)); 23 ecritD(fenetre_acquisition,e_flash,1+((0x30 & (int)gg->reglage.dilu.transmission)>>4)); 23 24 24 25 // affichage de toutes les fréquences … … 53 54 //printf("\n"); 54 55 55 if(fenetre(fenetre_vitesse_block))56 /*if(fenetre(fenetre_vitesse_block)) 56 57 for(i=0;i<14;i++) 57 58 ecritD(fenetre_vitesse_block,ct_cadence+i,"%d",gg->reglage.vitesse[i]); 58 59 */ 59 60 60 61 if(fenetre(fenetre_regulation)) -
trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c
r639 r643 145 145 146 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)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 148 ,uc(gg->reglage.horloge.temp_mort),uc(gg->reglage.horloge.flag)); 149 149 150 /* ecrit vitesses */151 for(i=0;i<nb_type_blocks;i++)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 150 156 151 /* ecrit reglage_un_bolo : 2 mots long */ … … 190 185 191 186 /* 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)187 ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},{\n",uc(gg->reglage.horloge.flag),uc(gg->reglage.horloge.temp_mort) 193 188 ,uc(gg->reglage.horloge.nb_mesures),uc(gg->reglage.horloge.periode)); 194 189 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 190 201 191 /* ecrit reglage_un_bolo : 2 mots long */ -
trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c
r639 r643 2 2 #include "senseur_stellaire.h" 3 3 4 int diodes[12]={1,2,3,4,5,6,7,8,9,10,11,12};5 4 6 5 … … 51 50 #define place_paquet(i,j) (i/8) * 24 + j*8 + (i%8) 52 51 52 void traite_block_sst_comprime (block_type_sst_comprime* blk){} 53 53 54 54 55 void traite_block_sst(block_type_sst* blk) … … 98 99 for(k=0;k<72;k++) 99 100 { 100 for(i=0;i<12;i++) // seulement les 8 premieresdiodes101 for(i=0;i<12;i++) // seulement 12 diodes 101 102 { 102 103 int q; 103 q=i+4;104 if(i>3 ) q=i+8;105 if(i>7 ) q=i+12;106 q=diodes[i];107 104 q=i+prem_d-1; 108 105 109 106 a=place_paquet(q,0); 110 107 b0= ( blk->sst[k][a/8] >>( (a%8)*4) ) & 0xf; -
trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c
r639 r643 47 47 48 48 49 49 // un bit pour 8 bit en parallele dans la fifo 50 /* 50 51 char un_bit(void) 51 52 { … … 60 61 if( (RR>>i) & 1 ) return(bit_un); 61 62 else return(bit_zero); 63 } 64 65 */ 66 67 // un bit pour fifo avec un seul bit (bit0) et la valeur de la periode en bit 1..6 (37 ou 38) 68 69 70 71 char un_bit(void) 72 { 73 static int i; 74 static unsigned long RR; 75 lit_carte; if(rien_a_lire) return(bit_vide); // fifo vide -> retour -> sort du while 76 //if( RR & 1 ) return(bit_un); 77 //else return(bit_zero); 78 if( RR & 1 ) return(bit_zero); 79 else return(bit_un); 62 80 } 63 81 -
trunk/Poubelle/archediab.old/archediab.sources/c/telecommande.c
r637 r643 18 18 void relit_telecommandes_reduites(unsigned char* tc) 19 19 { 20 int bolo,a ,i;20 int bolo,a; 21 21 if(tc[0]!=tc_reduite) return; 22 22 printf("relit une telecommande reduite : "); … … 81 81 break; 82 82 default : 83 i=tc[2]-tc3_vitesse;84 if( (i>=0) && (i<nb_type_blocks) )85 gg->reglage.vitesse[i]=tc[3];86 printf(" nouvelle valeur block%d vitesse %d \n",i,tc[3]);83 // i=tc[2]-tc3_vitesse; 84 // if( (i>=0) && (i<nb_type_blocks) ) 85 // gg->reglage.vitesse[i]=tc[3]; 86 // printf(" nouvelle valeur block%d vitesse %d \n",i,tc[3]); 87 87 break; 88 88 } -
trunk/Poubelle/archediab.old/archediab.sources/choix_acquisition.h
r639 r643 29 29 #define Adresse_base_PCI 0x83000000 // G3 Archeops optique 30 30 //#define Adresse_base_PCI 0x84000000 // G3 Archeops optique avec carte video 31 //#define Adresse_base_PCI 0x82000000 // G3 Archeops_2 optique avec carte video 31 32 #endif 32 33 -
trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h
r639 r643 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 6) items32 // liste des items de la fenetre (47) items 33 33 34 34 #define e_nb_mes 2 // controle … … 46 46 #define e_flag2 17 // controle 47 47 #define e_tc_reduite 18 // controle 48 #define e_ transmission29 // controle48 #define e_flash 29 // controle 49 49 #define e_bolo 30 // controle 50 50 #define e_montre 31 // controle … … 64 64 #define e_chauf 45 // controle 65 65 #define e_cmd 46 // controle 66 #define e_telemesure 47 // controle 66 67 67 68 //fin_id -
trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h
r639 r643 196 196 void traite_block_bolo (block_type_bolo* blk); 197 197 void traite_block_sst (block_type_sst* blk); 198 void traite_block_sst_comprime (block_type_sst_comprime* blk); 199 void traite_block_gyro (block_type_gyro* blk); 200 void traite_block_gyro_comprime (block_type_gyro_comprime* blk); 198 201 void traite_block_synchro_sol (block_type_synchro_sol* blk); 199 202 -
trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h
r639 r643 47 47 #define fenetre_regulation 138 48 48 49 #define fenetre_vitesse_block 13950 49 51 50 #define fenetre_senseur_stellaire 140 … … 55 54 #define fenetre_fichier_archeops_c 143 56 55 #define fenetre_temperature_dil 144 56 57 #define fenetre_gyroscope 145 58 #define fenetre_gyroscope_lecture_brute 146 57 59 58 60 -
trunk/Poubelle/archediab.old/archeops.c
r639 r643 44 44 /*---------------------------------- fenetre : -----------------------------------*/ 45 45 46 param_bolo parametr={2 5,24,36,88,18,46 param_bolo parametr={26,24,36,88,18, 47 47 48 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} }, 49 { 1 , 0,10,1 , 200, 22000 , 200 }, 50 { 2 , 1,10,2 , 200, 22000 , 200 }, 51 { 3 , 1,10,3 , 200, 22000 , 200 }, 52 { 4 , 0,10,4 , 200, 22000 , 200 }, 53 54 { 5 , 1,10,5 , 1000, 4700 , 1000 }, 55 { 6 , 0,10,6 , 1000, 4700 , 1000 }, 56 { 7 , 1,10,9 , 1000, 4700 , 1000 }, 57 { 8 , 0,10,10, 1000, 4700 , 1000 }, 58 59 { 9 , 1,10,11, 1000, 4700 , 1000 }, 60 { 10 , 1,10,12, 1000, 4700 , 1000 }, 61 { 11 , 1,10,13, 1000, 4700 , 1000 }, 62 { 12 , 1,10,14, 1000, 4700 , 1000 }, 63 64 { 13 , 1,10,17, 1000, 4700 , 1000 }, 65 { 14 , 1,10,18, 1000, 4700 , 1000 }, 66 { 15 , 1,10,19, 1000, 4700 , 1000 }, 67 { 16 , 1,10,20, 1000, 4700 , 1000 }, 68 69 { 17 , 1,10,21, 500, 22000 , 500 }, 70 { 18 , 1,10,22, 500, 22000 , 500 }, 71 { 19 , 1,10,25, 500, 22000 , 500 }, 72 { 20 , 1,10,26, 500, 22000 , 500 }, 73 74 { 21 , 3,10,27, 1000, 22000 , 0 }, 75 { 22 , 3,10,28, 1000, 1000 , 0 }, 76 { 23 , 3,10,29, 1000, 1000 , 0 }, 77 { 0 , 3,10,30, 1000, 1000 , 0 }, 78 79 }, 80 { 81 { "therm_10k" , {12000 ,1804000 , 72800,0,0,0,0} }, 82 { "v1-bedif1" , { 5000 , 123100 , 334200,0,0,0,0} }, 83 { "v1-bedif2" , { 5000 , 123100 , 334200,0,0,0,0} }, 84 { "v1-bedif3" , { 5000 , 123100 , 334200,0,0,0,0} }, 85 { "v1-bedif4" , { 5000 , 123100 , 334200,0,0,0,0} }, 86 87 { "v1-bedif5" , { 5000 , 123100 , 334200,0,0,0,0} }, 88 { "v1-bedif6" , { 5000 , 123100 , 334200,0,0,0,0} }, 89 { "v1-bedif7" , { 5000 , 123100 , 334200,0,0,0,0} }, 90 { "v1-bedif8" , { 5000 , 123100 , 334200,0,0,0,0} }, 91 92 { "v1-bedif9" , { 5000 , 123100 , 334200,0,0,0,0} }, 93 { "v1-bedif10" , { 5000 , 123100 , 334200,0,0,0,0} }, 94 { "v1-bedif11" , { 5000 , 123100 , 334200,0,0,0,0} }, 95 { "v1-bedif12" , { 5000 , 123100 , 334200,0,0,0,0} }, 96 97 { "v1-bedif13" , { 5000 , 123100 , 334200,0,0,0,0} }, 98 { "v1-bedif14" , { 5000 , 123100 , 334200,0,0,0,0} }, 99 { "bedif15" , { 500 , 58800 , 12500,0,0,0,0} }, 100 { "bedif16" , { 5000 , 123100 , 334200,0,0,0,0} }, 101 102 { "bedif17" , { 5000 , 123100 , 334200,0,0,0,0} }, 103 { "bedif18" , { 5000 , 123100 , 334200,0,0,0,0} }, 104 { "v1-bedif19" , { 5000 , 123100 , 334200,0,0,0,0} }, 105 { "v1-bedif20" , { 5000 , 123100 , 334200,0,0,0,0} }, 106 107 { "germanium" , { 3500 , 17100 , 646500,0,0,0,0} }, 108 { "therm_4k" , {12000 ,1804000 , 72800,0,0,0,0} }, 109 { "therm_1.6k" , {12000 ,1804000 , 72800,0,0,0,0} }, 76 110 77 111 } 112 78 113 }; 79 114 /*fin_param*/ … … 110 145 111 146 */ 147 148 149 int mode_transmission_telemesure[nb_modes_telemesure][nb_type_blocks]= { 150 151 /* enregisteur de bord flash : plafond standard nominal */ 152 /* 0*/ { 0,10,15,50, 10,50, 0, 0, 0, 0, 0, 0, 1, 1, 1,2500, 0, 0, 0, 0}, 153 154 /* 1*/ { 0,10,10, 1, 10, 3, 0, 0, 0, 0, 0, 0, 1, 1, 4,2500, 0, 0, 0, 0}, 155 156 /* 2*/ { 0,10,05,01, 10,06, 0, 0, 0, 0, 0, 0, 1, 1, 2,2500, 0, 0, 0, 0}, 157 158 /* 3*/ { 0,10, 1,25, 10, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0,2500, 0, 0, 0, 0}, 159 160 /* 4*/ { 0,10,15,50, 10,25, 0, 0, 1, 0, 0, 0, 0, 0, 0,2500, 0, 0, 0, 0}, 161 162 /* 5*/ { 0,10,15,50, 10,25, 0, 0, 0, 0, 1, 0, 0, 0, 0,2500, 0, 0, 0, 0}, 163 164 /* 6*/ { 0,10,15,50, 10,50, 0, 0, 0, 1, 0, 0, 1, 0, 2,2500, 0, 0, 0, 0}, 165 166 /* 7*/ { 0,10,15,50,100,50,1, 1, 0, 0, 0, 0, 1, 1, 1,2500, 0, 0, 0, 0}, 167 168 /* 8*/ { 0,10,15,50,100,50,1, 1, 1, 0, 0, 0, 0, 0, 0,2500, 0, 0, 0, 0}, 169 170 /* 9*/ { 0,10, 1, 1,100, 1,0, 0, 0, 0, 0, 0, 1, 0, 0,2500, 0, 0, 0, 0} 171 172 }; 173 174 175 176 int mode_transmission_flash[nb_modes_flash][nb_type_blocks]= { 177 178 179 /* enregisteur de bord flash : nominal */ 180 /* 0*/ { 0,50,15,25, 10,25, 0, 0, 0, 1, 0, 0, 1, 0, 1,2500, 0, 0, 0, 0} , 181 182 /* enregisteur de bord flash : minimum */ 183 /* 1*/ { 0,50,50,50,50,100, 0, 0, 0, 0, 0, 0, 0, 0, 0,2500, 0, 0, 0, 0} , 184 185 /* enregisteur de bord flash : rien */ 186 /* 2*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; 187 188 189 190 191 192 193 194 195 196 197 198 199 200 112 201 113 202 … … 182 271 /*debut reglage 0 */ 183 272 #ifdef programme 184 {30,76,9,1}, 185 {0 186 ,10 187 ,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 },{ 273 {30,76,9,1},{ 206 274 {20,0} 207 275 ,{-1148225771,229380} … … 242 310 },{1,3,129,108,3,126,104,88} 243 311 #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 },{ 312 {1,9,76,30},{ 266 313 {20,0} 267 314 ,{-1148225771,229380} … … 308 355 /*debut reglage 1 */ 309 356 #ifdef programme 310 {31,76,9,1}, 311 {0 312 ,10 313 ,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 },{ 357 {31,76,9,1},{ 332 358 {20,0} 333 359 ,{-1148225771,229380} … … 368 394 },{129,3,129,108,3,126,104,88} 369 395 #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 },{ 396 {1,9,76,31},{ 392 397 {20,0} 393 398 ,{-1148225771,229380} … … 434 439 /*debut reglage 2 */ 435 440 #ifdef programme 436 {197,191,175,185}, 437 {0 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 },{ 441 {197,191,175,185},{ 458 442 {0,0} 459 443 ,{0,0} … … 494 478 },{88,82,94,108,111,126,104,88} 495 479 #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 },{ 480 {185,175,191,197},{ 518 481 {0,0} 519 482 ,{0,0} … … 560 523 /*debut reglage 3 */ 561 524 #ifdef programme 562 {30,76,9,1}, 563 {0 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 },{ 525 {30,76,9,1},{ 584 526 {20,0} 585 527 ,{-1149239274,229380} … … 620 562 },{1,3,129,108,3,126,104,88} 621 563 #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 },{ 564 {1,9,76,30},{ 644 565 {20,0} 645 566 ,{-1149239274,229380} … … 686 607 /*debut reglage 4 */ 687 608 #ifdef programme 688 {30,76,9,1}, 689 {0 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 },{ 609 {30,76,9,1},{ 710 610 {20,0} 711 611 ,{-1148225771,229380} … … 746 646 },{1,3,129,108,3,126,104,88} 747 647 #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 },{ 648 {1,9,76,30},{ 770 649 {20,0} 771 650 ,{-1148225771,229380} … … 812 691 /*debut reglage 5 */ 813 692 #ifdef programme 814 {197,191,175,185}, 815 {0 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 },{ 693 {197,191,175,185},{ 836 694 {0,0} 837 695 ,{0,0} … … 872 730 },{88,82,94,108,111,126,104,88} 873 731 #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 },{ 732 {185,175,191,197},{ 896 733 {0,0} 897 734 ,{0,0} … … 938 775 /*debut reglage 6 */ 939 776 #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 },{ 777 {197,191,175,185},{ 962 778 {0,0} 963 779 ,{0,0} … … 998 814 },{88,82,94,108,111,126,104,88} 999 815 #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 },{ 816 {185,175,191,197},{ 1022 817 {0,0} 1023 818 ,{0,0} … … 1064 859 /*debut reglage 7 */ 1065 860 #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 },{ 861 {197,191,175,185},{ 1088 862 {0,0} 1089 863 ,{0,0} … … 1124 898 },{88,82,94,108,111,126,104,88} 1125 899 #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 },{ 900 {185,175,191,197},{ 1148 901 {0,0} 1149 902 ,{0,0} … … 1251 1004 1252 1005 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 __alpha1257 #define SWAP1258 #endif1259 #if defined(Linux) || defined(linux)1260 #define SWAP1261 #endif1262 1006 1263 1007 … … 1270 1014 lg=longueur_block(blk); if( lg != long_block[type] ) return(block_longueur_erreur); 1271 1015 if( blk->mot[(lg/4)-4] != fin_block_mesure) return(block_fin_erreur); 1272 #ifndef SWAP1273 1016 som=calcul_somme_block(blk,lg); if( som!= somme_block(blk)) return(block_somme_erreur); 1274 #endif1275 1017 return(block_correct); 1276 1018 } -
trunk/Poubelle/archediab.old/archeops.h
r639 r643 7 7 8 8 #define _archeops 9 #define version_num 2 59 #define version_num 26 10 10 11 11 … … 28 28 /* - change la structure dil : contient les temperatures */ 29 29 /* */ 30 /* VERSION 26: */ 31 /* */ 32 /* - int4 pour compatibilité toutes machines */ 30 33 /* */ 31 34 /*======================================================================*/ … … 35 38 /* --------------- parametres generaux de definition ------------- */ 36 39 /*======================================================================*/ 37 38 40 #ifndef int4 39 41 #ifdef __alpha … … 48 50 #undef programme 49 51 #endif 52 50 53 51 54 #ifdef _planck … … 126 129 #endif 127 130 131 #define nb_max_nom_bolo 24 /* nombre maxi de noms et coef bolo dans la table */ 132 128 133 #define nb_sync 4 /* nombre de signaux de synchro */ 129 134 /* 6 pour diabolo */ … … 141 146 #define nombre_de_voies 6 142 147 #define nb_type_blocks 20 /* nombre de type de blocks (multiple de 4) */ 143 148 #define nb_modes_telemesure 10 149 #define nb_modes_flash 3 144 150 145 151 /*======================================================================*/ … … 219 225 /* ------- codes de reconnaissance des paquets de télémesure */ 220 226 221 #define debut_block_mesure ((int4)0x45627491)222 #define fin_block_mesure ((int4)0x83260432)227 #define debut_block_mesure 0x45627491 228 #define fin_block_mesure 0x83260432 223 229 224 230 … … 249 255 typedef struct 250 256 { 251 char bolo_nom[32]; /* le nom de chaque bolometre*/257 int4 numero_nom_coef; /* le numero pour retrouver le nom et les coef */ 252 258 int4 bolo_code_util; /* le code d'utilisation du bolo */ 253 int4 bolo_bebo; /* l e type d'acquisition: 0 pour MLPA 10 pour BEBODIFF*/259 int4 bolo_bebo; /* l'acquisition: 0 pour MLPA 10 pour BEBODIFF*/ 254 260 int4 bolo_num; /* l'adresse hard du bolo */ 255 261 int4 bolo_gain; /* le gain du preampli */ 256 262 int4 bolo_capa; /* la valeur capa du modulateur */ 257 263 int4 bolo_diviseur; /* le diviseur de la compensation */ 264 } 265 param_un_bolo; 266 267 268 typedef struct 269 { 270 char bolo_nom[32]; /* le nom de chaque bolometre */ 258 271 int4 coef[7]; /* les coef pour le calcul de la température */ 259 272 } 260 param_un_bolo; 273 nom_et_coef_bolo; 274 275 276 261 277 /* code_util des bolos */ 262 278 enum{bolo_hors_service,bolo_normal_transmis,bolo_normal_non_transmis,bolo_thermo_simplifie}; … … 273 289 int4 nb_bolo; /* nombre de bolometres effectivement lut */ 274 290 param_un_bolo bolo[nb_max_bolo]; 291 nom_et_coef_bolo nom_coef[nb_max_nom_bolo]; /* nombre de nom et coef bolo */ 275 292 } 276 293 param_bolo; … … 280 297 281 298 /* 282 longbolo_code_util[nb_max_bolo];299 int4 bolo_code_util[nb_max_bolo]; 283 300 char bolo_nom[nb_max_bolo][32]; 284 301 285 longbolo_bebo[nb_max_bolo];286 longbolo_num[nb_max_bolo];287 longbolo_gain[nb_max_bolo];288 289 longbolo_capa[nb_max_bolo];290 longbolo_diviseur[nb_max_bolo];291 292 longcoef[nb_max_bolo][7];293 294 longpresence_bebo;302 int4 bolo_bebo[nb_max_bolo]; 303 int4 bolo_num[nb_max_bolo]; 304 int4 bolo_gain[nb_max_bolo]; 305 306 int4 bolo_capa[nb_max_bolo]; 307 int4 bolo_diviseur[nb_max_bolo]; 308 309 int4 coef[nb_max_bolo][7]; 310 311 int4 presence_bebo; 295 312 } 296 313 param_bolo; … … 403 420 short chauffage; /* valeur effective du chauffage */ 404 421 } 405 regul_bolo; /* longueur 2 entiers long*/422 regul_bolo; /* longueur 2 entiers int4 */ 406 423 407 424 typedef struct … … 412 429 char delai; 413 430 } 414 auto_bolo; /* longueur 1 entiers long*/431 auto_bolo; /* longueur 1 entiers int4 */ 415 432 416 433 typedef struct … … 425 442 char xx8; 426 443 } 427 auto_dilu; /* longueur 1 entiers long*/444 auto_dilu; /* longueur 1 entiers int4 */ 428 445 429 446 … … 451 468 char integ; 452 469 } 453 regul_bolo; /* longueur 2 entiers long*/470 regul_bolo; /* longueur 2 entiers int4 */ 454 471 455 472 … … 461 478 char mode; 462 479 } 463 auto_bolo; /* longueur 1 entiers long*/480 auto_bolo; /* longueur 1 entiers int4 */ 464 481 465 482 typedef struct … … 474 491 char transmission; 475 492 } 476 auto_dilu; /* longueur 1 entiers long*/493 auto_dilu; /* longueur 1 entiers int4 */ 477 494 478 495 … … 485 502 #define bit_piles_auto 4 486 503 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}; 504 enum{vanne_zero,vanne_rien,vanne_ferme,vanne_ouvre,vanne_auto_pression,vanne_auto_P_T}; 505 /*enum{trans_zero,trans_rien,trans_normal,trans_rapide,trans_lent};*/ 489 506 enum{helium_zero,helium_continu,helium_40s,helium_400s}; 490 507 491 508 492 typedef struct /* longen mot de 32 bit */509 typedef struct /* int4 en mot de 32 bit */ 493 510 { 494 511 horloge horloge; /* 1 */ 495 char vitesse[nb_type_blocks]; /* 5 */496 512 reglage_un_bolo bolo[nb_max_bolo]; /* 18 * 2 = 36 */ 497 513 auto_bolo autom[nombre_de_voies]; /* 6 * 1 6 */ … … 566 582 /* reste libres : mul 12 - 21 - 22 - 25 - 31 - 44 - 57 - 58 - 64 */ 567 583 584 #define val_multiplex(qq) (0.0003052*(double)((qq)-0x8000)) 585 #define val_temperature(qq) ((val_multiplex(qq)<0.2)?-99:((1146.3/(val_multiplex(qq)-0.1)) - 245.13)) 568 586 569 587 … … 648 666 int4 code2; /* code2 du block */ 649 667 /* chaque gyro: un vecteur tde 72 valeurs */ 650 int4 gyro s[3][nb_per_block*2];668 int4 gyro[3][nb_per_block*2]; 651 669 int4 magneto[3]; /* 1 bit par echantillonage soit 3*32bit>72 */ 652 670 int4 fin; /* code de reconnaissance de fin de block */ … … 720 738 721 739 722 723 /* --------------------- structures N° 15 : catalog_flash ------- */ 724 /* ------------------------------------------------------------------------------------------- */ 725 726 typedef struct /* etat de l'enregistreur */ 727 { 728 int4 nb_total_catalog; 729 int4 memoire_libre; 730 int4 nb_block_erreur; 731 }status_flash; 732 733 typedef struct 734 { 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 */ 740 status_flash status; /* etat de l'enregistreur */ 741 int4 nombre; /* */ 742 int4 code[nb_element_catalog]; /* code type et numero */ 743 int4 fin; /* code de reconnaissance de fin de block */ 744 } 745 block_type_catalog_flash; 746 747 748 /* --------------------- structures N° 16 : cmd_flash ----------- */ 749 /* ----------------------------------------------------------------------------------------- */ 750 typedef struct 751 { 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 */ 757 } 758 block_type_cmd_flash; 759 760 enum {flash_catalog_auto,flash_catalog_debut,flash_catalog_fin,flash_catalog_precedent,flash_catalog_suivant 761 ,flash_efface_tout1,flash_efface_tout2,flash_efface_tout3 762 ,flash_efface_util1,flash_efface_util2,flash_efface_util3}; 740 /* --------------------- structures N° 15 : block_type_status_flash -------*/ 741 /* ---------------------------------------------------------------- */ 742 743 /* 744 ** Quelque soit la commande, l'enregistreur renvoie toujours le meme type 745 de bloc comprenant la commande, un mot d'erreur eventuel et le status. 746 747 ** L'enregistreur ne prend jamais l'initiative d'envoyer un bloc de status 748 (sauf dans le cas ci-dessous). 749 750 ** Au reset, le controleur est un peu lent a demarrer (quelques secondes). 751 Pour que tu puisse savoir quand il est pret, je propose de t'envoyer un 752 bloc de type "block_type_status_flash" des que je suis pret (comme si tu 753 avais envoye un bloc "block_type_cmd_flash" avec la commande 754 "FLASH_STATUS_REQUEST" 755 756 */ 757 758 typedef struct {/* etat de l'enregistreur */ 759 int4 nb_total_blocks ; 760 int4 memoire_libre ; 761 int4 nb_block_erreur ; 762 } status_flash; 763 764 typedef struct { 765 unsigned int4 debut ; 766 unsigned int4 code1 ; 767 unsigned int4 code2 ; 768 769 int4 commande; /* la commande a laquelle ce bloc repond */ 770 int4 erreur ; /* Si la commande a induit une erreur */ 771 status_flash status ; /* etat de l'enregistreur */ 772 unsigned int4 fin ; /* code de reconnaissance de fin de block */ 773 } block_type_status_flash ; 774 775 /* --------------------- structures N° 16 : block_type_cmd_flash ---------*/ 776 /* ------------------------------------------------------------------ */ 777 typedef struct { 778 unsigned int4 debut ; 779 unsigned int4 code1 ; 780 unsigned int4 code2 ; 781 782 int4 commande; /* type de commande a l'enregistreur flash */ 783 784 int4 fin; /* code de reconnaissance de fin de block */ 785 } block_type_cmd_flash; 786 787 /* Commands from Transputer to Recorder */ 788 enum { 789 FLASH_STATUS_REQUEST, 790 FLASH_EFFACE_TOUT1, FLASH_EFFACE_TOUT2, FLASH_EFFACE_TOUT3, 791 FLASH_EFFACE_UTIL1, FLASH_EFFACE_UTIL2, FLASH_EFFACE_UTIL3 792 } ; 793 794 /* Errors from Recorder to Transputer. 795 Pending question: what to do in case of FLASH_ERASE_END_ERROR ? 796 */ 797 798 enum { 799 FLASH_STATUS_OK, /* Pas d'erreur */ 800 FLASH_BAD_SEQUENCE, /* Mauvaise sequence d'effacement */ 801 FLASH_ERASE_START, /* Debut d'effacement */ 802 FLASH_ERASE_END_OK, /* Fin d'effacement OK */ 803 FLASH_ERASE_END_ERROR /* Erreur pendant l'effacement */ 804 } ; 763 805 764 806 … … 829 871 block_gps,block_une_periode,block_synchro_sol,block_pointage_sol, 830 872 block_bolo,block_gyro,block_sst,block_11, 831 block_bolo_comprime,block_gyro_comprime,block_sst_comprime,block_ catalog_flash,873 block_bolo_comprime,block_gyro_comprime,block_sst_comprime,block_status_flash, 832 874 block_cmd_flash,block_data_brute,block_18,block_19}; 833 875 … … 836 878 "block_gps","block_une_periode","block_synchro_sol","block_pointage_sol",\ 837 879 "block_bolo","block_gyro","block_sst","block_11",\ 838 "block_bolo_comprime","block_gyro_comprime","block_sst_comprime","block_ catalog_flash",\880 "block_bolo_comprime","block_gyro_comprime","block_sst_comprime","block_status_flash",\ 839 881 "block_cmd_flash","block_data_brute","",""}; 840 882 … … 843 885 sizeof(block_type_gps),sizeof(block_type_une_periode),sizeof(block_type_synchro_sol),sizeof(block_type_pointage_sol),\ 844 886 sizeof(block_type_bolo),sizeof(block_type_gyro),sizeof(block_type_sst),sizeof(block_type11),\ 845 sizeof(block_type_bolo_comprime),sizeof(block_type_gyro_comprime),sizeof(block_type_sst_comprime),sizeof(block_type_ catalog_flash),\887 sizeof(block_type_bolo_comprime),sizeof(block_type_gyro_comprime),sizeof(block_type_sst_comprime),sizeof(block_type_status_flash),\ 846 888 sizeof(block_type_cmd_flash),sizeof(block_type_data_brute),sizeof(block_type_18),sizeof(block_type_19)}; 847 889 … … 915 957 double val_double(char x); 916 958 917 /* cette fonction transforme un char (sur 8 bit) en entier long(echelle logarythmique) */959 /* cette fonction transforme un char (sur 8 bit) en entier int4 (echelle logarythmique) */ 918 960 /* elle est en particulier utilisée pour fixer le courant sur les bolometres */ 919 961 920 unsigned longval_long(char x);962 unsigned int4 val_long(char x); 921 963 922 964 int new_val_dac(int a,char code);
Note:
See TracChangeset
for help on using the changeset viewer.