Index: trunk/Poubelle/archediab.old/archediab.sources/c/acqui_util.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/acqui_util.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/acqui_util.c	(revision 643)
@@ -8,4 +8,5 @@
 #include "auto.h"
 #include "config_transputer.h" 
+#include "bit_block.h" 
 
 
@@ -35,5 +36,5 @@
 		{
 //		parametr.bolo[j].bolo_code_util=0;
-//		strcpy(parametr.bolo[j].bolo_nom,"");
+//		strcpy(parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom,"");
 //		parametr.bolo[j].bolo_bebo=0;
 //		parametr.bolo[j].bolo_num=0;
@@ -130,4 +131,14 @@
 			case	900+err_sauve_block  	: printf(" err_sauve_block");break;
 			case	900+err_pile_pleine	: printf(" err_pile_pleine");son(133);break;
+			
+			case	920+erreur_bit_erreur	: printf(" bit_erreur");break;
+			case	920+erreur_bit_vide	: printf(" bit_vide");break;
+			case	920+erreur_type		: printf(" bit_type_erreur");break;
+			case	920+erreur_longueur	: printf(" bit_erreur_longueur");break;
+			case	920+erreur_somme	: printf(" bit_erreur_somme");break;
+			case	920+erreur_fin		: printf(" bit_erreur_fin");break;
+			case	920+cherche_debut	: printf(" bit_cherche_debut");break;
+			
+			
 			
 			case	8	: printf(" +");break;
Index: trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_archeops.c	(revision 643)
@@ -50,5 +50,14 @@
 if(verifie_block_printf(blk_tm))	return;
 
-//{def_nom_block  printf("lit un block %s   N°%d   \n",nom_block[type_block(blk_tm)],numero_block(blk_tm));	}				
+	{
+	def_nom_block
+	static int mon_num_block;
+	if(mon_num_block!=numero_block(blk_tm))
+		{
+		mon_num_block=numero_block(blk_tm);
+		printf("\n%d ->",mon_num_block);
+		}
+	printf(" %s  ",nom_block[type_block(blk_tm)]);	
+	}				
 
 switch(type_block(blk_tm))
@@ -66,11 +75,16 @@
 	case block_une_periode :	traite_block_une_periode((block_type_une_periode*)blk_tm);	break;
 	
-	case block_bolo_comprime :	traite_block_bolo_comprime((block_type_bolo_comprime*)blk_tm);	break;
-	
 	case block_bolo :		traite_block_bolo((block_type_bolo*)blk_tm);			break;
+	case block_bolo_comprime :	traite_block_bolo_comprime((block_type_bolo_comprime*)blk_tm);	break;	
 	
 	case block_sst :		traite_block_sst((block_type_sst*)blk_tm);			break;
+	case block_sst_comprime  :	traite_block_sst_comprime((block_type_sst_comprime*)blk_tm);	break;
+
+	case block_gyro :		traite_block_gyro((block_type_gyro*)blk_tm);			break;
+	case block_gyro_comprime  :	traite_block_gyro_comprime((block_type_gyro_comprime*)blk_tm);	break;
 	
 	case block_synchro_sol :	traite_block_synchro_sol((block_type_synchro_sol*)blk_tm);	break;
+	
+	case block_status_flash :	printf("******************status flash recut  ********************* \n");son(133);			break;
 	
 #ifdef	transmet_data_brute
@@ -201,5 +215,5 @@
 void	traite_block_bolo_comprime(block_type_bolo_comprime*	blk)
 {		
-int j;
+int j,jc;
 #define blk2  ((block_type_bolo*)(&bktm)) 	// pointeur sur la memoire locale
 // maintenant, decomprime  blk  pour le reecrire dans blk2
@@ -210,9 +224,18 @@
 	( (blk->data_bolo[1][0] & 0x0000ffff)<<5 )  & 0x001fffe0);
 */
+/*
 for(j=0;j<nb_bolo_util;j++)	
 		{
 		decompress_7_2((long *)blk->data_bolo[j],blk2->data_bolo[j],nb_per_block*2);
 		}
-
+*/
+jc=0;for(j=0;j<nb_max_bolo;j++)	 // jc = bolo_comprime  //   j=bolo normal
+		{
+		if( (parametr.bolo[j].bolo_code_util==bolo_normal_transmis) &&  (jc<nb_bolo_util)  )
+			{
+			decompress_7_2((long *)blk->data_bolo[jc],blk2->data_bolo[j],nb_per_block*2);
+			jc++;
+			}
+		}
 /*printf("ds1= %x  , %x  ds2= %x  , %x   \n",
 					blk2->data_bolo[0][0],
Index: trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_general.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_general.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/acquisition_general.c	(revision 643)
@@ -151,7 +151,10 @@
 						
        
-	case e_transmission :	{
+	case e_flash :	
+	case e_telemesure :	{
 				long ll=(long)(&(gg->reglage.dilu.transmission))-(long)(&(gg->reglage.dilu));
-    				int a=(int) valeur;	
+    				int a=(int) (litD(fenetre_acquisition,e_flash,0)-1);
+    				a=a<<4;
+    				a=a + (int) (litD(fenetre_acquisition,e_telemesure,0)-1);
     				emission_tc_reduite(tc2_auto_dilu,ll,a);
     				}
Index: trunk/Poubelle/archediab.old/archediab.sources/c/auto.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/auto.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/auto.c	(revision 643)
@@ -312,15 +312,15 @@
     	ll=(long)(&(gg->reglage.autom[i].gain))-(long)(&(gg->reglage.autom[0]));
     	a=litD(fenetre_automatismes,atm_gain+i,0L)-1+20;
-    	if( (a!=gg->reglage.autom[i].gain) ou ( clavier(touche_alt) et (item==atm_gain+i) ) )   
+    	if( (a!=gg->reglage.autom[i].gain) ou ( /*clavier(touche_alt) et*/ (item==atm_gain+i) ) )   
     		emission_tc_reduite(tc2_auto_bolo,ll,a);
 
     	ll=(long)(&(gg->reglage.autom[i].courant))-(long)(&(gg->reglage.autom[0]));
     	a=litD(fenetre_automatismes,atm_courant+i,0L)-1;
-    	if( (a!=gg->reglage.autom[i].courant) ou ( clavier(touche_alt) et (item==atm_courant+i) ) )   
+    	if( (a!=gg->reglage.autom[i].courant) ou ( /*clavier(touche_alt) et*/ (item==atm_courant+i) ) )   
     		emission_tc_reduite(tc2_auto_bolo,ll,a);
 
     	ll=(long)(&(gg->reglage.autom[i].delai))-(long)(&(gg->reglage.autom[0]));
     	a=litD(fenetre_automatismes,atm_delai+i,0L);
-    	if( (a!=gg->reglage.autom[i].delai) ou ( clavier(touche_alt) et (item==atm_delai+i) ) )   
+    	if( (a!=gg->reglage.autom[i].delai) ou ( /*clavier(touche_alt) et*/  (item==atm_delai+i) ) )   
     		emission_tc_reduite(tc2_auto_bolo,ll,a);
 	}
Index: trunk/Poubelle/archediab.old/archediab.sources/c/bit_block.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/bit_block.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/bit_block.c	(revision 643)
@@ -150,5 +150,5 @@
 				{
 				cpt_cherche_debut=0;
-				ecrit_erreur_bit(cherche_debut);
+//				ecrit_erreur_bit(cherche_debut);
 				}
 			}
Index: trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/bolo.c	(revision 643)
@@ -50,4 +50,5 @@
 	case tache_de_fond  :	// appellé par le programme d'acquisition pour tracer	----  la cadence est variable 
 				n=gg->reglage.horloge.nb_mesures;
+//				printf(" nb mesure = %d \n",n);
 					{
 					selectgra(fen);
Index: trunk/Poubelle/archediab.old/archediab.sources/c/config_transputer.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/config_transputer.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/config_transputer.c	(revision 643)
@@ -1,2 +1,4 @@
+SUPPRIME DU PROGRAMME
+
 #include "diabolo.h"
 #include "config_transputer.h" 
Index: trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/diabolo.c	(revision 643)
@@ -80,5 +80,5 @@
 
 #ifdef _archeops
-nouveauD(fenetre_vitesse_block,config_transputer_id,"config_transputer",exec_config_transputer);
+//nouveauD(fenetre_vitesse_block,config_transputer_id,"config_transputer",exec_config_transputer);
 
 printf(" acquisition  Archeops  \n\n");
@@ -102,8 +102,8 @@
 			printf(" cherche a ouvrir bolo %d ",j+1);
 			printf(" capa=%g ",capa(j+1));
-			printf(" boloutil = %d  bolonom = %s  \n",parametr.bolo[j].bolo_code_util,parametr.bolo[j].bolo_nom);
+			printf(" boloutil = %d  bolonom = %s  \n",parametr.bolo[j].bolo_code_util,parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom);
 			if(parametr.bolo[j].bolo_code_util)
 				{
-				sprintf(ss,"%d: %s",j+1,parametr.bolo[j].bolo_nom);
+				sprintf(ss,"%d: %s",j+1,parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom);
 				ouvreD(j+1,bolo_id,ss,exec_bolo);
 				}
Index: trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/dilution.c	(revision 643)
@@ -16,13 +16,37 @@
 
 
-#define  val_multiplex(i)	(0.0003052*(double)(blk->ADC_dil[i]-0x8000))	
-//#define  val_temperature(i)	(34.+ (300./4.4)*(4.4-val_multiplex(i))	)
-//#define  val_temperature(i)	((1146.3/(val_multiplex(i)-0.1)) - 245.13)
-#define  val_temperature(i)	((val_multiplex(i)<0.2)?-99:((1146.3/(val_multiplex(i)-0.1)) - 245.13))
-#define  cnt_temperature(i)	(20+(int)val_temperature(i))
+#define  cnt_temperature(i)	(20+(int)val_temperature(blk->ADC_dil[i]))
 
 #define  ecrit_switch(val,ii,bit) {if(val) ii=ii | bit ;else ii=ii& (0xffffffff^bit) ;}
 #define  calib(j)		litD(fenetre_dilution_calibration,j,0L)
 
+
+void  ecrit_moteur_dilution(int valeur);	// valeur sur 10 bit: poid fort=on/off
+
+void  ecrit_moteur_dilution(int valeur)
+{
+int i;
+char mot_tc[10];
+
+		i=litD(fenetre_dilution,dil_switch_1,0);
+i=i<<8; 	i+=litD(fenetre_dilution,dil_switch_2,0);
+i=i<<8;		i+=litD(fenetre_dilution,dil_switch_3,0);
+i=i<<8;		// les 3 octets en poid fort, rien dans le dernier octet
+i=i& 0x003fffff;
+i = i| ( (valeur & 0x3ff)<<22);
+ecritD(fenetre_dilution,dil_switch_1,(i>>24)&0xff);
+ecritD(fenetre_dilution,dil_switch_2,(i>>16)&0xff);
+ecritD(fenetre_dilution,dil_switch_3,(i>>8 )&0xff);
+
+mot_tc[0]=tc_switch_dil;
+mot_tc[1]=0;
+mot_tc[2]=0;
+mot_tc[3]=0;
+mot_tc[4]=(i>>8 )&0xff;
+mot_tc[5]=(i>>16)&0xff;
+mot_tc[6]=(i>>24)&0xff;
+mot_tc[7]=0;	
+emission_telecommande(tc_dir_transputer,mot_tc);
+}
 
 
@@ -139,5 +163,7 @@
 //    case dil_dac_1 :
 //   case dil_dac_2 :
-    case dil_envoi_dac :	ecrit_dac_dilution(); 	break;
+//   case dil_envoi_dac :	ecrit_dac_dilution(); 	break;
+   	case dil_envoi_dac :	ecrit_moteur_dilution((int)litD(fenetre_dilution,dil_dac_2,0));	// les 12 bits
+				break;
 
     default  :   break;
@@ -220,34 +246,34 @@
 // les pressions et debits metres des injections de la dilution
 ecritD(fenetre_dilution,dil_p_d_3He,"3He: %4.1fb -> %5.2fµm/s -> %4.1fb"
-	,40. 	*	val_multiplex(p_R3)  -1.6	//	200 bars pour 5V et 1.6 bar d'offset
-	,2. 	* 	val_multiplex(d_3He)		//  10 MICRO MOLES  pour  5V
-	,20. 	*	val_multiplex(p_C3)		//	100 bars pour 5V
+	,40. 	*	val_multiplex(blk->ADC_dil[ p_R3])  -1.6	//	200 bars pour 5V et 1.6 bar d'offset
+	,2. 	* 	val_multiplex(blk->ADC_dil[ d_3He])		//  10 MICRO MOLES  pour  5V
+	,20. 	*	val_multiplex(blk->ADC_dil[ p_C3])		//	100 bars pour 5V
 	);
 ecritD(fenetre_dilution,dil_p_d_4He,"4He: %4.1fb -> %5.2fµm/s -> %4.1fb"
-	,40. 	*	val_multiplex(p_R4)		//	200 bars pour 5V
-	,8. 	* 	val_multiplex(d_4He)		//  40 MICRO MOLES  pour  5V
-//	,4. 	* 	val_multiplex(d_4He)		//  20 MICRO MOLES  pour  5V
-	,20. 	*	val_multiplex(p_C4)		//	100 bars pour 5V
+	,40. 	*	val_multiplex(blk->ADC_dil[ p_R4])		//	200 bars pour 5V
+	,8. 	* 	val_multiplex(blk->ADC_dil[ d_4He])		//  40 MICRO MOLES  pour  5V
+//	,4. 	* 	val_multiplex(blk->ADC_dil[ d_4He])		//  20 MICRO MOLES  pour  5V
+	,20. 	*	val_multiplex(blk->ADC_dil[ p_C4])		//	100 bars pour 5V
 	);
 
 ecritD(fenetre_dilution,dil_p_air,"Van=%4.1fb  charb=%4.1fb  mmb=%4.3fb  haut=%4.3fb"
-	,20.*val_multiplex(p_air),20.*val_multiplex(p_charb)
-	,0.2*val_multiplex(p_memb),0.2*val_multiplex(p_haut)	);
+	,20.*val_multiplex(blk->ADC_dil[ p_air]),20.*val_multiplex(blk->ADC_dil[ p_charb])
+	,0.2*val_multiplex(blk->ADC_dil[ p_memb]),0.2*val_multiplex(blk->ADC_dil[ p_haut])	);
 			
 ecritD(fenetre_dilution,dil_piles," Trp=%4.1fV   Dil=%4.1fV / %4.1fV  \rBebo=%4.1fV   /   %4.1fV / %4.1fV  Ch=%4.1fV"
-	,2.03*val_multiplex(p_10T),3.90*val_multiplex(p_p18D),3.90*val_multiplex(p_m18D)
-	,2.03*val_multiplex(p_10B),3.90*val_multiplex(p_p18B),3.90*val_multiplex(p_m18B)
-	,3.8*val_multiplex(p_Ch));
+	,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])
+	,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])
+	,3.8*val_multiplex(blk->ADC_dil[ p_Ch]));
 
 /* valeur seuil au mini (5.3 ou 15.3V) , *17 =  +5.9 V au maxi	*/
 
 
-ecritD(fenetre_dilution,dil_p_10T,(int)(17*(2.03*val_multiplex(p_10T)-5.3)));
-ecritD(fenetre_dilution,dil_p_p18D,(int)(17*(3.90*val_multiplex(p_p18D)-15.3)));
-ecritD(fenetre_dilution,dil_p_m18D,(int)(17*(-3.90*val_multiplex(p_m18D)-15.3)));
-ecritD(fenetre_dilution,dil_p_10B,(int)(17*(2.03*val_multiplex(p_10B)-5.3)));
-ecritD(fenetre_dilution,dil_p_p18B,(int)(17*(3.93*val_multiplex(p_p18B)-15.3)));
-ecritD(fenetre_dilution,dil_p_m18B,(int)(17*(-3.93*val_multiplex(p_m18B)-15.3)));
-ecritD(fenetre_dilution,dil_p_Ch,(int)(10*(3.8*val_multiplex(p_Ch)-25)));	/* 25 a 35 V  */
+ecritD(fenetre_dilution,dil_p_10T,(int)(17*(2.03*val_multiplex(blk->ADC_dil[ p_10T])-5.3)));
+ecritD(fenetre_dilution,dil_p_p18D,(int)(17*(3.90*val_multiplex(blk->ADC_dil[ p_p18D])-15.3)));
+ecritD(fenetre_dilution,dil_p_m18D,(int)(17*(-3.90*val_multiplex(blk->ADC_dil[ p_m18D])-15.3)));
+ecritD(fenetre_dilution,dil_p_10B,(int)(17*(2.03*val_multiplex(blk->ADC_dil[ p_10B])-5.3)));
+ecritD(fenetre_dilution,dil_p_p18B,(int)(17*(3.93*val_multiplex(blk->ADC_dil[ p_p18B])-15.3)));
+ecritD(fenetre_dilution,dil_p_m18B,(int)(17*(-3.93*val_multiplex(blk->ADC_dil[ p_m18B])-15.3)));
+ecritD(fenetre_dilution,dil_p_Ch,(int)(10*(3.8*val_multiplex(blk->ADC_dil[ p_Ch])-25)));	/* 25 a 35 V  */
 
 //  --  les voyants de switch de piles
@@ -257,6 +283,6 @@
 
 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°  "
-	,val_temperature(t_h1),val_temperature(t_h2),val_temperature(t_h3),val_temperature(t_h4)
-	,val_temperature(t_b1),val_temperature(t_b2),val_temperature(t_b3),val_temperature(t_b4)	
+	,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])
+	,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])	
 	);
 
@@ -277,9 +303,9 @@
 //  les afficheurs analogiques de pression helium et pirani  
 
-ecritD(fenetre_dilution,dil_RP_He,(int)(2500*val_multiplex(RP_He)-7500));
+ecritD(fenetre_dilution,dil_RP_He,(int)(2500*val_multiplex(blk->ADC_dil[ RP_He])-7500));
 //  je veux 10000 pour 0.8 bars  soit    alors que l'on a 5V pour 1 bar ou 1V = 0.2 bar
 //  soit multiplier par 2500
 // puis j'enleve 0.6 bars soit 7500 
-ecritD(fenetre_dilution,dil_pirani,(int)(1000*val_multiplex(pirani)));
+ecritD(fenetre_dilution,dil_pirani,(int)(1000*val_multiplex(blk->ADC_dil[ pirani])));
 
 
@@ -295,9 +321,9 @@
 	ecritT(fenetre_dilution_lecture_brute,fin_f,"dil_switch= %x  \n",blk->switch_dil);
 
-	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));
+	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]));
 	ecritT(fenetre_dilution_lecture_brute,fin_f,"\n");
-	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));
+	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]));
 	ecritT(fenetre_dilution_lecture_brute,fin_f,"\n");
-	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));
+	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]));
 	ecritT(fenetre_dilution_lecture_brute,fin_f,"\n");
 	}
@@ -311,12 +337,12 @@
 //	printf("dilution :  numero de block = %d  \n",numero_block(blk));
 	changecontrole(fenetre_dilution,dil_niveau_helium,idem,idem,idem,idem,calrefcon(0,0,rouge,blanc,blanc),"");
-	y[0]=val_multiplex(j_he1)-calib(dil_j_he1);
-	y[1]=val_multiplex(j_he2)-calib(dil_j_he2);
-	y[2]=val_multiplex(j_he3)-calib(dil_j_he3);
-	y[3]=val_multiplex(j_he4)-calib(dil_j_he4);
-	y[4]=val_multiplex(j_he5)-calib(dil_j_he5);
-	y[5]=val_multiplex(j_he6)-calib(dil_j_he6);
-	y[6]=val_multiplex(j_he7)-calib(dil_j_he7);
-	y[7]=val_multiplex(j_he8)-calib(dil_j_he8);
+	y[0]=val_multiplex(blk->ADC_dil[ j_he1])-calib(dil_j_he1);
+	y[1]=val_multiplex(blk->ADC_dil[ j_he2])-calib(dil_j_he2);
+	y[2]=val_multiplex(blk->ADC_dil[ j_he3])-calib(dil_j_he3);
+	y[3]=val_multiplex(blk->ADC_dil[ j_he4])-calib(dil_j_he4);
+	y[4]=val_multiplex(blk->ADC_dil[ j_he5])-calib(dil_j_he5);
+	y[5]=val_multiplex(blk->ADC_dil[ j_he6])-calib(dil_j_he6);
+	y[6]=val_multiplex(blk->ADC_dil[ j_he7])-calib(dil_j_he7);
+	y[7]=val_multiplex(blk->ADC_dil[ j_he8])-calib(dil_j_he8);
 	if(blk->switch_dil & switch_helium)
 		{
Index: trunk/Poubelle/archediab.old/archediab.sources/c/fourier_diabolo.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/fourier_diabolo.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/fourier_diabolo.c	(revision 643)
@@ -70,10 +70,10 @@
 	
 	ss[0]=0;
-	for(j=0;j<k;j++)	if( (j!=0) && (j!=3))
+	for(j=0;j<k;j++)	//if( (j!=0) && (j!=3))
 		{
 		mm=0;m1=0;  for(i=10;i<n/8;i++)	{mm=mm+fo(k,n,j,i);m1++;}
 		if(m1>1)	mm=1000.*qq*mm/m1;
-		printf("%s: %5.1f nV\n",parametr.bolo[j].bolo_nom,mm);
-		if(strlen(ss)<200)	sprintf(ss+strlen(ss),"%s: %5.1f nV\r",parametr.bolo[j].bolo_nom,mm);
+		printf("%s: %5.1f nV\n",parametr.nom_coef[parametr.bolo[j].numero_nom_coef].bolo_nom,mm);
+		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);
 		if(strlen(ss) > 240)	erreur("dans fourier, string trop long ");
 		}	
Index: trunk/Poubelle/archediab.old/archediab.sources/c/gyroscope.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/gyroscope.c	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/gyroscope.c	(revision 643)
@@ -0,0 +1,67 @@
+#include "diabolo.h" 
+#include "gyroscope.h" 
+#include "compress.h" 
+
+
+
+//--------------------  fonction  exec  de  la  fenetre : gyroscope  -------------------------------
+
+
+void exec_gyroscope(int fen,int item,double valeur,...) 
+{
+if(item>1000) item-=1000;		// pour appeler le case pour tous les cara d'un edit texte
+
+switch(item)
+    {
+    case ouverture               :
+    			
+                 break;
+    case fermeture               :
+                 break;
+    default  :   break;
+    }
+}
+
+
+
+
+
+void	traite_block_gyro_comprime(block_type_gyro_comprime* blk)
+{
+int i;
+block_type_gyro  bk_gyro;
+block_type_gyro* blk2=& bk_gyro;
+if(!fenetre(fenetre_gyroscope)) return;
+//printf("***************   decompress data gyro \n");
+for(i=0;i<3;i++)	decompress_7_2((long *)blk->gyro[i],blk2->gyro[i],nb_per_block*2);
+blk2->code1=blk->code1;
+blk2->code2=blk->code2;
+traite_block_gyro(blk2);
+}
+
+
+void	traite_block_gyro(block_type_gyro* blk)
+{
+int k;
+double	y[15];
+
+int temps_cntl;
+double secondes;
+
+if(!fenetre(fenetre_gyroscope)) return;
+
+for(k=0;k<72;k++)
+	{
+	y[0]=blk->gyro[0][k];
+	y[1]=blk->gyro[1][k];
+	y[2]=blk->gyro[2][k];
+		
+//	printf(" y = %g %g %g %g %g \n",y[0],y[1],y[2],y[3],y[4]);
+	temps_cntl =numero_block(blk)*nb_per_block*2+k;
+	secondes=gg->periode_echantillonage*(double)temps_cntl-gg->temps_origine;
+	tracen(fenetre_gyroscope,3,secondes,y);
+//	printf("secondes=%g\n",secondes);
+	}
+}
+
+
Index: trunk/Poubelle/archediab.old/archediab.sources/c/menu.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/menu.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/menu.c	(revision 643)
@@ -18,4 +18,5 @@
 #include "dilution.h"
 #include "senseur_stellaire.h"
+#include "gyroscope.h"
 
 
@@ -71,4 +72,6 @@
 	case	d_senseur_stellaire		:	if(fenetre(fenetre_senseur_stellaire)) select(fenetre_senseur_stellaire);
 								else	ouvreD(fenetre_senseur_stellaire,senseur_stellaire_id,"senseur_stellaire",exec_senseur_stellaire);
+								if(fenetre(fenetre_gyroscope)) select(fenetre_gyroscope);
+								else	ouvreD(fenetre_gyroscope,0,"fenetre_gyroscope",exec_gyroscope);
 								break;
 
Index: trunk/Poubelle/archediab.old/archediab.sources/c/mesures_bolo.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/mesures_bolo.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/mesures_bolo.c	(revision 643)
@@ -19,5 +19,5 @@
 //******************************************************************************************************//
 
-#define	c(i)		(1e-4*(double)parametr.bolo[fen-1].coef[i])	
+#define	c(i)		(1e-4*(double)parametr.nom_coef[parametr.bolo[fen-1].numero_nom_coef].coef[i])	
 
 
@@ -85,5 +85,5 @@
 
 
-ecritT(fenetre_mesures_bolo,fin_f,"%d %s :",fen,parametr.bolo[fen-1].bolo_nom);
+ecritT(fenetre_mesures_bolo,fin_f,"%d %s :",fen,parametr.nom_coef[parametr.bolo[fen-1].numero_nom_coef].bolo_nom);
 
 //ecritT(fenetre_mesures_bolo,fin_f,"%s (b%d) :"/* bebo=%d  num=%d  gain_pa=%d   coef0=%g  coef1=%g  coef2=%g */,
Index: trunk/Poubelle/archediab.old/archediab.sources/c/pointage.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/pointage.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/pointage.c	(revision 643)
@@ -152,5 +152,5 @@
 		}
 
-	printf(" bolo %d (%s) :",bolo,parametr.bolo[bolo-1].bolo_nom);
+	printf(" bolo %d (%s) :",bolo,parametr.nom_coef[parametr.bolo[bolo-1].numero_nom_coef].bolo_nom);
 	if(k)	sprintf(ss,"elevation :");
 	else	sprintf(ss,"azimuth :");
Index: trunk/Poubelle/archediab.old/archediab.sources/c/rafraichis_fenetre.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/rafraichis_fenetre.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/rafraichis_fenetre.c	(revision 643)
@@ -20,5 +20,6 @@
 	ecritD(fenetre_acquisition,e_nb_mes,(int)gg->reglage.horloge.nb_mesures/2);
 	ecritD(fenetre_acquisition,e_temp_mort,(int)gg->reglage.horloge.temp_mort);
-	ecritD(fenetre_acquisition,e_transmission,(int)gg->reglage.dilu.transmission);
+	ecritD(fenetre_acquisition,e_telemesure,1+(0x0f & (int)gg->reglage.dilu.transmission));
+	ecritD(fenetre_acquisition,e_flash,1+((0x30 & (int)gg->reglage.dilu.transmission)>>4));
 
 	// affichage de toutes les fréquences  
@@ -53,8 +54,8 @@
 //printf("\n");
 
-if(fenetre(fenetre_vitesse_block))
+/*if(fenetre(fenetre_vitesse_block))
 	for(i=0;i<14;i++)
 		ecritD(fenetre_vitesse_block,ct_cadence+i,"%d",gg->reglage.vitesse[i]);
-
+*/
 
 if(fenetre(fenetre_regulation))
Index: trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/reglage.c	(revision 643)
@@ -145,12 +145,7 @@
 
 /*  ecrit horloge    */
-ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},\n",uc(gg->reglage.horloge.periode),uc(gg->reglage.horloge.nb_mesures)
+ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},{\n",uc(gg->reglage.horloge.periode),uc(gg->reglage.horloge.nb_mesures)
 		,uc(gg->reglage.horloge.temp_mort),uc(gg->reglage.horloge.flag));
 
-/* ecrit vitesses  */
-for(i=0;i<nb_type_blocks;i++)
-	{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])); }
-
-ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
 
 /* ecrit 	reglage_un_bolo  : 2 mots long */
@@ -190,12 +185,7 @@
 
 /*  ecrit horloge    */
-ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},\n",uc(gg->reglage.horloge.flag),uc(gg->reglage.horloge.temp_mort)
+ecritT(fenetre_fichier_archeops_c,insert_f,"{%d,%d,%d,%d},{\n",uc(gg->reglage.horloge.flag),uc(gg->reglage.horloge.temp_mort)
 		,uc(gg->reglage.horloge.nb_mesures),uc(gg->reglage.horloge.periode));
 
-/* ecrit vitesses  */
-for(i=0;i<nb_type_blocks;i++)
-	{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])); }
-
-ecritT(fenetre_fichier_archeops_c,insert_f,"},{\n");
 
 /* ecrit 	reglage_un_bolo  : 2 mots long */
Index: trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/senseur_stellaire.c	(revision 643)
@@ -2,5 +2,4 @@
 #include "senseur_stellaire.h" 
 
-int diodes[12]={1,2,3,4,5,6,7,8,9,10,11,12};
 
 
@@ -51,4 +50,6 @@
 #define place_paquet(i,j)	 (i/8) * 24  + j*8 + (i%8) 
 
+void	traite_block_sst_comprime	(block_type_sst_comprime*	blk){}
+
 
 void	traite_block_sst(block_type_sst*	blk)
@@ -98,13 +99,9 @@
 for(k=0;k<72;k++)
 	{
-	 for(i=0;i<12;i++)		//  seulement les 8 premieres diodes 
+	 for(i=0;i<12;i++)		//  seulement 12 diodes 
 		{
 		int q;
-		q=i+4;
-		if(i>3 ) q=i+8;
-		if(i>7 ) q=i+12;
-		q=diodes[i];
 		q=i+prem_d-1;
-		
+				
 		a=place_paquet(q,0);
 	    	b0= ( blk->sst[k][a/8] >>( (a%8)*4) ) & 0xf;
Index: trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/tache_archeops_bit2.c	(revision 643)
@@ -47,5 +47,6 @@
 
 
-
+//		un bit pour 8 bit en parallele dans la fifo		
+/*
 char	un_bit(void)
 {
@@ -60,4 +61,21 @@
 if( (RR>>i) & 1 )  	return(bit_un);
 	else		return(bit_zero);
+}
+
+*/
+
+//		un bit pour  fifo avec un seul bit (bit0) et la valeur de la periode en bit 1..6  (37 ou 38)		
+
+
+
+char	un_bit(void)
+{
+static int i;
+static unsigned long RR;
+lit_carte;	if(rien_a_lire)		return(bit_vide);	//  fifo vide  ->  retour  ->  sort du while
+//if( RR & 1 )  	return(bit_un);
+//else		return(bit_zero);
+if( RR & 1 )  	return(bit_zero);
+else		return(bit_un);
 }
 
Index: trunk/Poubelle/archediab.old/archediab.sources/c/telecommande.c
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/c/telecommande.c	(revision 639)
+++ trunk/Poubelle/archediab.old/archediab.sources/c/telecommande.c	(revision 643)
@@ -18,5 +18,5 @@
 void	relit_telecommandes_reduites(unsigned char* tc)
 {
-int bolo,a,i;
+int bolo,a;
 if(tc[0]!=tc_reduite)	return;
 printf("relit une telecommande reduite :  ");
@@ -81,8 +81,8 @@
 						break;		
 				default	:	
-					i=tc[2]-tc3_vitesse;
-					if( (i>=0) && (i<nb_type_blocks) )
-						gg->reglage.vitesse[i]=tc[3];
-					printf(" nouvelle valeur block%d vitesse %d \n",i,tc[3]);
+//					i=tc[2]-tc3_vitesse;
+//					if( (i>=0) && (i<nb_type_blocks) )
+//						gg->reglage.vitesse[i]=tc[3];
+//					printf(" nouvelle valeur block%d vitesse %d \n",i,tc[3]);
 					break;
 				}
