Index: trunk/Poubelle/archediab.old/archediab.sources/h/FindPeri.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/FindPeri.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/FindPeri.h	(revision 649)
@@ -0,0 +1,24 @@
+
+
+
+//debut_id=1570
+//----------------------------------  fenetre : FindPeriod  -----------------------------------
+
+#define FindPeri_id  1570  //  le id de la fenetre dans la ressource
+
+void exec_FindPeri(int fen,int item,double valeur,...);   //  prototype de la fonction
+void passargu(float Liminf,float Limsup,float Papa);
+double Rd_CpFl(int fen);
+
+// liste des items de la fenetre (8) items 
+
+#define  FP_cpfl                  1     //   graphique 
+#define  FP_vcpfl                 2     //   controle 
+#define  FP_periodest             3     //   static texte 
+#define  FP_vperesti              4     //   edit texte 
+#define  FP_unite                 5     //   static texte 
+#define  FP_unite6                6     //   edit texte 
+#define  Find_labnet                7     //   static texte 
+#define  Find_net                   8     //   static texte 
+
+//fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/FindPeriode.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/FindPeriode.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/FindPeriode.h	(revision 649)
@@ -0,0 +1,19 @@
+
+
+
+//debut_id=1570
+//----------------------------------  fenetre : FindPeriod  -----------------------------------
+
+#define FindPeriod_id  1570  //  le id de la fenetre dans la ressource
+
+void exec_FindPeriod(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+// liste des items de la fenetre (6) items 
+
+#define  FP_Reset                 2     //   controle 
+#define  FP_valperest             4     //   static texte 
+#define  FP_cpflx                 5     //   static texte 
+#define  FP_vcoupflx              6     //   edit texte 
+void passargu(float Liminf,float Limsup);
+
+//fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/aa_hadec.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/aa_hadec.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/aa_hadec.h	(revision 649)
@@ -0,0 +1,4 @@
+void aa_hadec (double lat, double alt, double az, double* ha, double* dec);
+void hadec_aa (double lat, double ha, double dec, double* alt, double* az);
+
+
Index: trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/acqui.h	(revision 649)
@@ -6,4 +6,5 @@
 
 void	reset_epld(void);
+void	reset_trp(void);
 
 void 	deglitch(void);
Index: trunk/Poubelle/archediab.old/archediab.sources/h/bolo.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/bolo.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/bolo.h	(revision 649)
@@ -46,2 +46,16 @@
 
 
+
+//debut_id=1660
+//----------------------------------  fenetre : change_bolo  -----------------------------------
+
+#define change_bolo_id  1660  //  le id de la fenetre dans la ressource
+
+void exec_change_bolo(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+// liste des items de la fenetre (3) items 
+
+#define  chb_val                   1     //   edit texte 
+
+//fin_id
+
Index: trunk/Poubelle/archediab.old/archediab.sources/h/controle.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/controle.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/controle.h	(revision 649)
@@ -10,15 +10,19 @@
 void exec_controle(int fen,int item,double valeur,...);   //  prototype de la fonction
 
-// liste des items de la fenetre (14) items 
+// liste des items de la fenetre (23) items 
 
-#define  con_retard1               1     //   static texte 
-#define  con_chauf                 2     //   controle 
-#define  con_retard2               3     //   static texte 
-#define  con_voyant                4     //   controle 
-#define  con_fichier               10     //   edit texte 
-#define  con_phase                 11     //   controle 
-#define  con_periode               12     //   static texte 
-#define  con_time                  13     //   static texte 
-#define  con_subscan               14     //   static texte 
+#define  con_chauf                 1     //   controle 
+#define  con_voyant                2     //   controle 
+#define  con_fichier               8     //   edit texte 
+#define  con_phase                 9     //   controle 
+#define  con_periode               10     //   static texte 
+#define  con_time                  11     //   static texte 
+#define  con_subscan               12     //   static texte 
+#define  con_donnee                16     //   controle 
+#define  con_erreur                17     //   controle 
+#define  con_fifo                  18     //   controle 
+#define  con_pile                  20     //   controle 
+#define  con_reset_epld            22     //   controle 
+#define  con_reset_trp             23     //   controle 
 
 //fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/diabolo.h	(revision 649)
@@ -6,5 +6,6 @@
 #include "fenetres_diabolo.h"
 
-
+#define   acquisition_PCI  ( (tt->PCI_actif==1) ou  (tt->PCI_actif==4) ) 
+#define   acquisition_avec_telecommande  (tt->PCI_actif==4) 
 
 /*
@@ -117,4 +118,7 @@
 	reglage_bolo	reglage;				// etat bolo dans le programme principal
 	
+	double		temperature_cryo;	// temperature du cryo (0.1K) en K
+	/* La germanium doit toujours etre en premier par rapport aux autres thermos absolus */
+
 	short 		bol_per[nb_max_bolo][nb_max_mes_per];	// table une periode
 
@@ -128,5 +132,5 @@
 	F_donne		don;
 	
-	double		corel[nb_max_bolo];		// données apres corellation eventuelle
+	double		corel[nb_max_bolo+3+nb_photo_diodes];		// données apres corellation eventuelle
 	
 
@@ -195,4 +199,6 @@
 void	traite_block_bolo_comprime	(block_type_bolo_comprime*	blk);
 void	traite_block_bolo		(block_type_bolo*		blk);
+void	traite_block_sst_brut		(block_type_sst*		blk);
+void	traite_block_sst_comprime_brut  (block_type_sst_comprime*	blk);
 void	traite_block_sst		(block_type_sst*		blk);
 void	traite_block_sst_comprime	(block_type_sst_comprime*	blk);
Index: trunk/Poubelle/archediab.old/archediab.sources/h/ecclib.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/ecclib.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/ecclib.h	(revision 649)
@@ -0,0 +1,51 @@
+#if !defined(_ECC_LIB_H_)
+
+#define _ECC_LIB_H_
+
+#define REED_SOLOMON
+
+typedef unsigned char dtype;
+
+void EccInit( int nn, int kk, int mm ) ;
+
+/* Reed-Solomon encoding
+ * data[] is the input block, parity symbols are placed in bb[]
+ * bb[] may lie past the end of the data, e.g., for (255,223):
+ *	encode_rs(&data[0],&data[223]);
+ */
+int EccEncode(dtype *data, dtype *bb );
+
+/* Reed-Solomon erasures-and-errors decoding
+ * The received block goes into data[], and a list of zero-origin
+ * erasure positions, if any, goes in eras_pos[] with a count in no_eras.
+ *
+ * The decoder corrects the symbols in place, if possible and returns
+ * the number of corrected symbols. If the codeword is illegal or
+ * uncorrectible, the data array is unchanged and -1 is returned
+ */
+int EccDecode( dtype *data, dtype *ecc, int *eras_pos, int no_eras) ;
+
+void SetEcc( void *bloc, unsigned char * ) ;
+int UnsetEcc( void *bloc, unsigned char * ) ;
+
+#if defined(REED_SOLOMON)
+/*  defini ici que si l'on n'a pas inclu archeops.h qui contient les memes definitions */
+#ifndef version_num
+#define ECC_TOTAL 255
+#define ECC_DATA 239       /* Nb de bytes de data encodes */
+#define ECC_SIZE (ECC_TOTAL-ECC_DATA) /* Nb de bytes encodeurs */
+#define SIZE_HEAD sizeof(long)*3  /* 3 mots d'entete de blocs */
+#endif
+#if defined(_ECCLIB_MAIN_)
+
+int Kgood = ECC_DATA, /* Detection/correction de 8 bytes en erreur
+		    On peut aller jusqu'a 16 (Kgood = 223 ) */
+  Ntotal = 255 ;
+
+#else
+
+extern int Kgood, Ntotal ;
+
+#endif
+#endif
+#endif
Index: trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/fenetres_diabolo.h	(revision 649)
@@ -7,5 +7,5 @@
 #define fenetre_fichier			103
 #define fenetre_trace_DS		105
-#define fenetre_trace_tout		106
+//#define fenetre_trace_tout		106
 #define fenetre_trace_1_per		107
 #define fenetre_annexe	108
@@ -58,4 +58,14 @@
 #define fenetre_gyroscope_lecture_brute			146
 
+#define fenetre_lecture_blocks				147
+#define fenetre_Find_Period				148
+#define fenetre_Phase_SST				149
+#define fenetre_sstbrut					150
+
+#define fen_change_bolo 				965
+
+#define fenetre_trace_tout_temperature			151
+#define fenetre_trace_tout_bolos			152
+#define fenetre_trace_tout_gyros			153
 
 //  de préférence, utiliser les indices suivants :		i= position dans la periode     
Index: trunk/Poubelle/archediab.old/archediab.sources/h/menu.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/menu.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/menu.h	(revision 649)
@@ -19,9 +19,25 @@
 #define  d_regulation		12
 #define  d_dilution		13
-#define  d_senseur_stellaire	14
+#define  d_sst_brut		14
+#define  d_senseur_stellaire	15
+#define  d_recons_sst		16
+#define  d_gyros		17
 
-#define  d_trace_carte		16
-#define  d_pointage		17
-#define  d_foyer		18
+#define  d_trace_carte		19
+#define  d_pointage		20
+#define  d_foyer		21
+
+
+
+
+//----------------------------------  menu  trace_tout  -----------------------------------
+#define menu_trace_tout_id  65  		//  le id du menu dans la ressource
+
+
+void exec_menu_trace_tout(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+#define  d_trace_temperature	1
+#define  d_trace_bolos		2
+#define  d_trace_gyros		3
 
 
Index: trunk/Poubelle/archediab.old/archediab.sources/h/phaseSST.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/phaseSST.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/phaseSST.h	(revision 649)
@@ -0,0 +1,15 @@
+
+
+
+//debut_id=1600
+//----------------------------------  fenetre : phase  -----------------------------------
+
+#define phase_id  1600  //  le id de la fenetre dans la ressource
+
+void exec_phase(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+// liste des items de la fenetre (2) items 
+
+#define  PHS_dtdephase             1     //   graphique 
+void tracephase();
+//fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/recons_sst.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/recons_sst.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/recons_sst.h	(revision 649)
@@ -0,0 +1,32 @@
+
+
+// Cette fonction est appelee pour chaque echantillon du SST (donc
+// 72 fois par bloc SST).
+// nfoundstars, tfoundstars, mfoundstars et zfoundstars ont ete remplis.
+// tfoundstars est en secondes depuis le debut de la manip.
+/*
+	instant et flux servent a memoriser les 500 derniers instants ou on a vu des etoiles
+	et la somme des flux correspondants. cases sert a histogrammer les differences de temps
+	entre l'etoile courante et les etoiles memorisees.
+*/
+#define nmemechant 500
+#define ncasdiftps 600
+#define LowFlux 400 // coupure basse en flux pour reconstruction de la periode
+#define FourchTps .05
+#define LowSeek 10.
+#define HighSeek 40.
+#define QuorumRafrai 2000
+#define RafraiPhase 5000
+#define StatValidePeriode 6
+void init_recons_sst(void);
+void exec_recons_sst(void);
+void trace_point(int fen);
+void raz_fen_phase(void);
+void charge_calc_phase(float tempsmoy,float ecartps,float ecarz);
+int calc_phase(void);
+void tabulesincos(void);
+int CpFl(void);
+float DonnePeriod(void);
+float DonnePhase(void);
+int DonneSens(void);
+void chercheaccro(int seuilfluxcata);
Index: trunk/Poubelle/archediab.old/archediab.sources/h/senseur_stellaire.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/senseur_stellaire.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/senseur_stellaire.h	(revision 649)
@@ -1,2 +1,11 @@
+
+#define dbufsz 15
+#define MAXFOUNDSTARS 20
+
+extern int diodesbuffer[dbufsz][48];
+extern float zfoundstars[MAXFOUNDSTARS];
+extern float mfoundstars[MAXFOUNDSTARS];
+extern double tfoundstars[MAXFOUNDSTARS];
+extern int nfoundstars;
 
 
@@ -9,9 +18,22 @@
 void exec_senseur_stellaire(int fen,int item,double valeur,...);   //  prototype de la fonction
 
-// liste des items de la fenetre (4) items 
+// liste des items de la fenetre (14) items 
 
-#define  sst_azer                  1     //   edit texte 
-#define  sst_sortie_brute          3     //   controle 
-#define  sst_prem_diode            4     //   controle 
+#define  sst_txt                   1     //   edit texte 
+#define  sst_autolock              3     //   controle 
+#define  sst_etoiles               4     //   controle 
+#define  sst_radar                 5     //   controle 
+#define  sst_efface                6     //   controle 
+#define  sst_periode               7     //   edit texte 
+#define  sst_labper                8     //   static texte 
+#define  sst_twobars               9     //   controle 
+#define  sst_labphase              10     //   static texte 
+#define  sst_phase                 11     //   edit texte 
+#define  sst_sens_horaire          12     //   controle 
+#define  sst_labseuil              13     //   static texte 
+#define  sst_seuil                 14     //   edit texte 
 
 //fin_id
+
+
+
Index: trunk/Poubelle/archediab.old/archediab.sources/h/sstbrut.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/sstbrut.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/sstbrut.h	(revision 649)
@@ -0,0 +1,17 @@
+
+
+
+//debut_id=1630
+//----------------------------------  fenetre : senseur_stellaire  -----------------------------------
+
+#define sstbrut_id  1630  //  le id de la fenetre dans la ressource
+
+void exec_sstbrut(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+// liste des items de la fenetre (4) items 
+
+#define  sstb_azer                  1     //   edit texte 
+#define  sstb_sortie_brute          3     //   controle 
+#define  sstb_prem_diode            4     //   controle 
+
+//fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/stabilite.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/stabilite.h	(revision 649)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/stabilite.h	(revision 649)
@@ -0,0 +1,17 @@
+
+
+
+//debut_id=1600
+//----------------------------------  fenetre : stabilite  -----------------------------------
+
+#define stabilite_id  1600  //  le id de la fenetre dans la ressource
+
+void exec_stabilite(int fen,int item,double valeur,...);   //  prototype de la fonction
+
+// liste des items de la fenetre (2) items 
+
+#define  PHS_stabil                1     //   graphique 
+#define ncasphase 12
+
+void tracephase();
+//fin_id
Index: trunk/Poubelle/archediab.old/archediab.sources/h/structure.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/structure.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/structure.h	(revision 649)
@@ -34,4 +34,5 @@
 				short	don_bolo[nb_max_bolo];			 
 				char	sync[nb_sync];					// les synchro en cara (6 signaux)
+				double	gyro[3];
 				} F_donne;	  
 
Index: trunk/Poubelle/archediab.old/archediab.sources/h/tm.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/tm.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/tm.h	(revision 649)
@@ -164,6 +164,8 @@
 
 	int			nb_lec_fofo_int;	//  nombre maxi de lectures dans la fifo en un coups d'interrupt
-	int			nb_lec_fofo_ext;	//  communication avec le prog principal: remis a zero apres lecture
-		
+	int			val_con_fifo;		
+	int			val_con_donnee;		
+	int			val_con_pile;		
+	int			val_con_erreur;		
 	int 			signal_scan_immediat;	//  signal scan immediat pour savoir avant
 
Index: trunk/Poubelle/archediab.old/archediab.sources/h/trace_tout.h
===================================================================
--- trunk/Poubelle/archediab.old/archediab.sources/h/trace_tout.h	(revision 643)
+++ trunk/Poubelle/archediab.old/archediab.sources/h/trace_tout.h	(revision 649)
@@ -1,8 +1,10 @@
 #define max_couleur 10
+#define nb_max_trace	nb_max_bolo+3
+
 typedef struct
 	{
-	double y[nb_max_bolo+1];
-	double f1[nb_max_bolo+1];
-	double f2[nb_max_bolo+1];
+	double y[nb_max_trace];
+	double f1[nb_max_trace];
+	double f2[nb_max_trace];
 	int moyenne,ipas;
 	double fmini,fmaxi;
