Index: trunk/Poubelle/archediab.old/archeops.c
===================================================================
--- trunk/Poubelle/archediab.old/archeops.c	(revision 649)
+++ trunk/Poubelle/archediab.old/archeops.c	(revision 651)
@@ -121,4 +121,6 @@
 /* ------------------------ configuration de vol 5 juillet 99-----------------------------*/
 
+/* ---------------------- modifié les indices de bolo  le 15 septembre 1999-------------------*/
+
 param_bolo  parametr={28,24,36,88,18,
 
@@ -127,5 +129,5 @@
 { 
 
-{ 11 	, 2,10, 1 , 200, 22000	,  200 },	/*	1	*/
+{ 11 	, 2,10, 1 , 200, 22000	,  200 },	/*	0	*/
 
 {  9	, 1,10, 2 , 200, 22000	,  200 },
@@ -137,5 +139,5 @@
 
 
-{  5	, 1,10, 5 ,1000,  4700	, 1000 },	/*	5	*/
+{  5	, 1,10, 5 ,1000,  4700	, 1000 },	/*	4	*/
 
 {  0 	, 2,10, 6 ,1000,  4700	, 1000 },
@@ -147,5 +149,5 @@
 
 
-{  2 	, 1,10,11, 1000,  4700	, 1000 },	/*	9	*/
+{  2 	, 1,10,11, 1000,  4700	, 1000 },	/*	8	*/
 
 {  4	, 1,10,12, 1000,  4700	, 1000 },
@@ -157,5 +159,5 @@
 
 
-{ 13	, 1,10,17, 1000,  4700	, 1000 },	/*	13	*/
+{ 13	, 1,10,17, 1000,  4700	, 1000 },	/*	12	*/
 
 {  3	, 1,10,18, 1000,  4700	, 1000 },
@@ -167,5 +169,5 @@
 
 
-{ 15	, 1,10,21,  200, 22000	,  200 },	/*	17	*/
+{ 15	, 1,10,21,  200, 22000	,  200 },	/*	16	*/
 
 { 16	, 1,10,22,  200, 22000	,  200 },
@@ -177,5 +179,5 @@
 
 
-{ 20	, 3,10,27, 1000, 22000	,    0 },	/*	21	*/
+{ 20	, 3,10,27, 1000, 22000	,    0 },	/*	20	*/
 
 { 21	, 3,10,28, 1000,  1000	,    0 },
@@ -1913,29 +1915,21 @@
 
 
-/* ------------------------------------   corps  des fonctions	 ------------------------------ */
-
-/* -------------------------------------------------------------------------------------------- */
-
-
-
-
-
-
-
-unsigned int4	val_long(char x)
+
+
+
+
+
+
+int	calcul_somme_block(block_type_modele* blk,int longueur)
 
 {
 
-unsigned long a,xl;
-
-char aa;
-
-aa=x-2;
-
-a=aa;
-
-if(x<3)  xl=x;	else	xl=((a&1) + 2)<<(a>>1);
-
-return(xl);
+int i,so=0;;
+
+for(i=0;i<(longueur/4-4);i++)  so^=(int)blk->mot[i];
+
+/* somme sur tous les mots internes	: on exclus le dbut, les codes et la fin	*/
+
+return((so^(so>>16))&0xffff);
 
 }
@@ -1945,33 +1939,197 @@
 
 
-double	val_double(char x)
+
+
+
+
+void  valide_block(block_type_modele* blk,int type,int block_num)
 
 {
 
-unsigned long a,xl;
-
-if(x<0) x=-x;	a=x;	if(!a)  xl=0;	else	xl=((a&1) + 2)<<(a>>1);
-
-if(x>0)	return(1e-4*(double)xl);	else	return(-1e-4*(double)xl);
+int somme,longueur;
+
+def_long_block
+
+longueur=long_block[type];
+
+/*printf("valide block adresse %x  type %d  numblock %d  longueur=%d \n" */
+
+/* 		,(unsigned)blk,type,block_num,longueur);*/
+
+blk->debut		=	debut_block_mesure;
+
+somme=0;blk->code1		=	(((long)longueur)<<16)	|	somme;
+
+blk->code2		=	(((long)block_num) & 0xffffff ) | ( (((long)type)<<24)&0xff000000 );
+
+
+
+blk->mot[longueur/4-4]  =	fin_block_mesure;
+
+
+
+#if defined(_ECC_LIB_H_)
+
+{
+
+int place_ecc;
+
+place_ecc=(longueur-4-ECC_SIZE-SIZE_HEAD-((longueur-4-SIZE_HEAD)/ECC_TOTAL)*ECC_SIZE)/4;
+
+SetEcc( blk, (unsigned char *) &(blk->mot[place_ecc] ) ) ;
 
 }
 
-
-
-int	new_val_dac(int a,char  code)
+#endif
+
+
+
+somme=calcul_somme_block(blk,longueur);
+
+blk->code1		=	(((long)longueur)<<16)	|	somme;
+
+/* l'ecc est faux car on a change la somme: mettre la somme a zero avant de tester ecc  */
+
+}
+
+
+
+/* Quand on est sur une machine swappee, on ne cherche pas a verifier */
+
+/* le checksum, puisqu'on a modifie les blocs, sans swapper par exemple */
+
+/* les chars des noms de bolometres et des chaines GPS... */
+
+#ifdef __alpha
+
+#define SWAP
+
+#endif
+
+#if defined(Linux)  || defined(linux)
+
+#define SWAP
+
+#endif
+
+
+
+
+
+
+
+int  verifie_block(block_type_modele* blk)
 
 {
 
-if(code&0x80)	a=(code&0x7f) <<5 ;
-
-else	{
-
-	if(code&0x40)	a+=code&0x3f;	
-
-	else		a-=code&0x3f;	
+int type,lg,som;
+
+def_long_block
+
+if(blk->debut != debut_block_mesure)					return(block_debut_erreur);
+
+type=type_block(blk);		if( (type<0) ||(type>=nb_type_blocks) )	return(block_type_inconnu);	
+
+lg=longueur_block(blk);		if( lg != long_block[type] )		return(block_longueur_erreur);	
+
+if( blk->mot[(lg/4)-4]  !=	fin_block_mesure)			return(block_fin_erreur);	
+
+#ifndef SWAP
+
+som=calcul_somme_block(blk,lg); if( som!= somme_block(blk))		return(block_somme_erreur);
+
+#endif
+
+return(block_correct);
+
+}
+
+
+
+
+
+int  verifie_block_printf(block_type_modele* blk)
+
+{
+
+int type,lg,som;
+
+def_long_block
+
+def_nom_block
+
+if(blk->debut != debut_block_mesure)
+
+	{
+
+	printf(" erreur dans le code debut de block	 \n");
+
+	return(block_debut_erreur);
+
+	}	
+
+
+
+type=type_block(blk);
+
+if( (type<0) || (type>nb_type_blocks) )	
+
+	{
+
+	printf(" block de type %d  inconnu\n",type);
+
+	return(block_type_inconnu);
 
 	}
 
-return(a);
+
+
+lg=longueur_block(blk);
+
+if( lg!=long_block[type] )	
+
+	{
+
+	printf(" block type %s  erreur de longueur (nominal=%d , dans le block=%d \n"
+
+			,nom_block[type],long_block[type],lg);
+
+	return(block_longueur_erreur);
+
+	}
+
+
+
+som=calcul_somme_block(blk,lg);
+
+if( som!=somme_block(blk) )	
+
+	{
+
+	printf(" block type %s   :  erreur de somme (calculee=%d , dans le block=%d \n"
+
+			,nom_block[type],som,somme_block(blk) );
+
+	return(block_somme_erreur);
+
+	}
+
+	
+
+if(blk->mot[(lg/4)-4]	!= fin_block_mesure)	
+
+	{
+
+	printf(" block type %s  erreur de code fin de block : trouve %x au lieu de %x \n"
+
+			,nom_block[type],(int)blk->mot[(lg/4)-4],fin_block_mesure);
+
+	return(block_fin_erreur);
+
+	}
+
+
+
+return(block_correct);
 
 }
@@ -1985,226 +2143,4 @@
 
 
-int	calcul_somme_block(block_type_modele* blk,int longueur)
-
-{
-
-int i,so=0;;
-
-for(i=0;i<(longueur/4-4);i++)  so^=(int)blk->mot[i];
-
-/* somme sur tous les mots internes	: on exclus le dbut, les codes et la fin	*/
-
-return((so^(so>>16))&0xffff);
-
-}
-
-
-
-
-
-
-
-
-
-void  valide_block(block_type_modele* blk,int type,int block_num)
-
-{
-
-int somme,longueur;
-
-def_long_block
-
-longueur=long_block[type];
-
-/*printf("valide block adresse %x  type %d  numblock %d  longueur=%d \n" */
-
-/* 		,(unsigned)blk,type,block_num,longueur);*/
-
-blk->debut		=	debut_block_mesure;
-
-somme=0;blk->code1		=	(((long)longueur)<<16)	|	somme;
-
-blk->code2		=	(((long)block_num) & 0xffffff ) | ( (((long)type)<<24)&0xff000000 );
-
-
-
-blk->mot[longueur/4-4]  =	fin_block_mesure;
-
-
-
-#if defined(_ECC_LIB_H_)
-
-{
-
-int place_ecc;
-
-place_ecc=(longueur-4-ECC_SIZE-SIZE_HEAD-((longueur-4-SIZE_HEAD)/ECC_TOTAL)*ECC_SIZE)/4;
-
-SetEcc( blk, (unsigned char *) &(blk->mot[place_ecc] ) ) ;
-
-}
-
-#endif
-
-
-
-somme=calcul_somme_block(blk,longueur);
-
-blk->code1		=	(((long)longueur)<<16)	|	somme;
-
-/* l'ecc est faux car on a change la somme: mettre la somme a zero avant de tester ecc  */
-
-}
-
-
-
-/* Quand on est sur une machine swappee, on ne cherche pas a verifier */
-
-/* le checksum, puisqu'on a modifie les blocs, sans swapper par exemple */
-
-/* les chars des noms de bolometres et des chaines GPS... */
-
-#ifdef __alpha
-
-#define SWAP
-
-#endif
-
-#if defined(Linux)  || defined(linux)
-
-#define SWAP
-
-#endif
-
-
-
-
-
-
-
-int  verifie_block(block_type_modele* blk)
-
-{
-
-int type,lg,som;
-
-def_long_block
-
-if(blk->debut != debut_block_mesure)					return(block_debut_erreur);
-
-type=type_block(blk);		if( (type<0) ||(type>=nb_type_blocks) )	return(block_type_inconnu);	
-
-lg=longueur_block(blk);		if( lg != long_block[type] )		return(block_longueur_erreur);	
-
-if( blk->mot[(lg/4)-4]  !=	fin_block_mesure)			return(block_fin_erreur);	
-
-#ifndef SWAP
-
-som=calcul_somme_block(blk,lg); if( som!= somme_block(blk))		return(block_somme_erreur);
-
-#endif
-
-return(block_correct);
-
-}
-
-
-
-
-
-int  verifie_block_printf(block_type_modele* blk)
-
-{
-
-int type,lg,som;
-
-def_long_block
-
-def_nom_block
-
-if(blk->debut != debut_block_mesure)
-
-	{
-
-	printf(" erreur dans le code debut de block	 \n");
-
-	return(block_debut_erreur);
-
-	}	
-
-
-
-type=type_block(blk);
-
-if( (type<0) || (type>nb_type_blocks) )	
-
-	{
-
-	printf(" block de type %d  inconnu\n",type);
-
-	return(block_type_inconnu);
-
-	}
-
-
-
-lg=longueur_block(blk);
-
-if( lg!=long_block[type] )	
-
-	{
-
-	printf(" block type %s  erreur de longueur (nominal=%d , dans le block=%d \n"
-
-			,nom_block[type],long_block[type],lg);
-
-	return(block_longueur_erreur);
-
-	}
-
-
-
-som=calcul_somme_block(blk,lg);
-
-if( som!=somme_block(blk) )	
-
-	{
-
-	printf(" block type %s   :  erreur de somme (calculee=%d , dans le block=%d \n"
-
-			,nom_block[type],som,somme_block(blk) );
-
-	return(block_somme_erreur);
-
-	}
-
-	
-
-if(blk->mot[(lg/4)-4]	!= fin_block_mesure)	
-
-	{
-
-	printf(" block type %s  erreur de code fin de block : trouve %x au lieu de %x \n"
-
-			,nom_block[type],(int)blk->mot[(lg/4)-4],fin_block_mesure);
-
-	return(block_fin_erreur);
-
-	}
-
-
-
-return(block_correct);
-
-}
-
-
-
-
-
-
-
-
-
-
-
+
+
