Wiki

Version 15 (Etienne Pallier, 03/16/2015 11:11 am)

1 1 Etienne Pallier
h1. Wiki
2 1 Etienne Pallier
3 8 Etienne Pallier
{{toc}}
4 3 Etienne Pallier
5 11 Etienne Pallier
6 12 Etienne Pallier
---
7 11 Etienne Pallier
8 11 Etienne Pallier
h2. SPECIFICATIONS
9 1 Etienne Pallier
10 11 Etienne Pallier
11 12 Etienne Pallier
h3. Schéma de connexion
12 11 Etienne Pallier
13 11 Etienne Pallier
PcEGSE <==RJ45==> EGSE <==serial==> ChemCam
14 11 Etienne Pallier
15 11 Etienne Pallier
ChemCam (garde tous les spectres en RAM) : serial==> BU (Body Unit) <== MU (Mast Unit)
16 11 Etienne Pallier
- MU : fait les tirs
17 11 Etienne Pallier
- BU : analyse les spectres
18 11 Etienne Pallier
19 11 Etienne Pallier
SOH (Spectra O? HK)
20 11 Etienne Pallier
21 11 Etienne Pallier
22 11 Etienne Pallier
23 11 Etienne Pallier
24 13 Etienne Pallier
h3. Type d’observation : sur la ligne DOLIBS modifier controlWord
25 11 Etienne Pallier
26 11 Etienne Pallier
Bit # 	Bit Value	Fonction si activé
27 11 Etienne Pallier
-----	---------	------------------
28 11 Etienne Pallier
29 11 Etienne Pallier
0		1	 	Do focus : effectuer une focalisation (voir focusAlgorithm)
30 11 Etienne Pallier
31 11 Etienne Pallier
1		2	 	Pre dark spectra : acquisition d’un spectre dark AVANT les tirs
32 11 Etienne Pallier
33 11 Etienne Pallier
2		4 		Post dark spectra : acquisition d’un spectre dark APRES les tirs
34 11 Etienne Pallier
35 11 Etienne Pallier
***
36 11 Etienne Pallier
3		8 		Enable laser : effectuer un (des) tir(s) laser (voir Nshots) (sinon, c'est un DARK)
37 11 Etienne Pallier
***
38 11 Etienne Pallier
39 11 Etienne Pallier
4		16 		Collect spectra : acquisition de spectre pendant les tirs
40 11 Etienne Pallier
41 11 Etienne Pallier
5		32 		BS
42 11 Etienne Pallier
43 11 Etienne Pallier
44 14 Etienne Pallier
=> 25 = 1+8+16 = tir avec laser
45 14 Etienne Pallier
=> 17 = 1+0+16 = tir sans laser (DARK)
46 11 Etienne Pallier
47 11 Etienne Pallier
Bits 0 et 1 pas utilisés !!! :
48 11 Etienne Pallier
Le mode (Bit0 ET Bit1 activés) ne fait pas des darks after et before satisfaisant donc on le fait séparément en faisant un spectre sans enable laser,
49 11 Etienne Pallier
ce qui génère tous ces spectres avec un controlWord =17 dans la liste.
50 11 Etienne Pallier
51 11 Etienne Pallier
52 1 Etienne Pallier
53 11 Etienne Pallier
54 13 Etienne Pallier
h3. Fichier spectre :
55 11 Etienne Pallier
56 11 Etienne Pallier
Suite d'intensités pour chaque canal (dans l'ordre 0, 1, 2, 3, ... 6444)
57 11 Etienne Pallier
A représenter sur axe 
58 11 Etienne Pallier
- X : channel number, assimilable à longueur d'onde : 0 à 6444
59 11 Etienne Pallier
- Y : intensité
60 11 Etienne Pallier
61 11 Etienne Pallier
Si fichier DARK, alors intensités (à peu près) constantes (toutes égales) :
62 14 Etienne Pallier
=> donne le bruit de fond de l'instrument, puisque on a zero lumière
63 1 Etienne Pallier
64 13 Etienne Pallier
h3. Stratégie de développement :
65 13 Etienne Pallier
66 11 Etienne Pallier
Prendre le last stack only
67 11 Etienne Pallier
68 11 Etienne Pallier
Lire fichier *_spect.TXT et *_SOH.TXT associé (celui qui est juste avant, < 5mn avant)
69 11 Etienne Pallier
70 11 Etienne Pallier
1 fich/jour
71 11 Etienne Pallier
72 11 Etienne Pallier
Methods to write :
73 11 Etienne Pallier
74 11 Etienne Pallier
findSOH(liste des *SOH.TXT du jour, spect.TXT)
75 11 Etienne Pallier
==> convertit les noms SOH en timestamps, trouve le SOH qui est juste avant le spect.TXT (< 5mn avant)
76 11 Etienne Pallier
77 11 Etienne Pallier
findDARK(liste des *spect.TXT (dark), le spect.TXT pour lequel on veut le dark)
78 11 Etienne Pallier
==> retourne le fichier dark qui est juste après (<5mn) (mais, peut être before...)
79 11 Etienne Pallier
==> regarde un peu autour (avant et après)
80 11 Etienne Pallier
81 11 Etienne Pallier
findAutofocus(...)
82 11 Etienne Pallier
==> *_afocus.TXT (juste prendre son nom, pas son contenu), qui est AVANT
83 11 Etienne Pallier
84 11 Etienne Pallier
 
85 1 Etienne Pallier
86 11 Etienne Pallier
87 15 Etienne Pallier
h3. EXEMPLE DE FICHIER RESULTAT (LOG) A OBTENIR (1 par jour)
88 11 Etienne Pallier
89 11 Etienne Pallier
data_Feb25_2014_5 
90 11 Etienne Pallier
firstfile = Feb25_161115_2014_spect.TXT
91 11 Etienne Pallier
lastfile = Feb25_162059_2014_spect.TXT
92 1 Etienne Pallier
93 11 Etienne Pallier
id, SPECT_file, SOH_file, 
94 1 Etienne Pallier
95 11 Etienne Pallier
// from *_SOH.TXT file :
96 15 Etienne Pallier
nbStacks					// Nb de stacks (indiqué par le nb occurences de "mast SOH" qui indique le début d'un nouveau stack) - Prendre seulement les HK du LAST stack
97 1 Etienne Pallier
temp_laser_min(degC), temp_laser_max(degC),	// prendre min et max des 4 HK_Temp_Laser_1-4
98 15 Etienne Pallier
temp_spect(C), 					// Spectrometer_Temp
99 15 Etienne Pallier
pm(cnts), 					// Motor_Position
100 11 Etienne Pallier
101 11 Etienne Pallier
// from *_spect.TXT file :
102 15 Etienne Pallier
dist(mm),					// distance to target distToTarget
103 15 Etienne Pallier
nshots, 					// (Nshots) ajouter ici "nshots_real" car le laser fait parfois plus de shots que prévu (erreur) (lire 1ère ligne pour savoir le nb de col)
104 15 Etienne Pallier
controlWord, 					// 25 = tir avec laser,  17 = tir sans laser (DARK)
105 15 Etienne Pallier
data_mean,					// moyenne des data \ nbshots reels (= intensité moyenne ?) (à lire from >>>>>Begin Processed Spectral Data<<<<<)
106 15 Etienne Pallier
dark_file, 					// remplacer par dark_file_before, dark_file_after (file name)
107 15 Etienne Pallier
mean_spect_value - dark				// (= data_mean - ???)
108 11 Etienne Pallier
109 11 Etienne Pallier
110 11 Etienne Pallier
// Liste des fichiers *_spect.TXT associés avec leurs paramètres HK (trouvés dans *_SOH.TXT) :
111 11 Etienne Pallier
112 11 Etienne Pallier
id, SPECT_file, SOH_file, nbStacks, temp_laser_min, temp_laser_max, temp_spect, pm, dist(mm), nshots, controlWord, data_mean, dark_file_before, dark_file_after, mean_spect_value - dark
113 11 Etienne Pallier
114 11 Etienne Pallier
  1 Feb25_161115_2014_spect.TXT 161055 nbStacks 4.25 5.44 30.15 5499 3000 10  25   677.39 161142 dark_file_after 50.28 
115 15 Etienne Pallier
  2 (D)Feb25_161142_2014_spect.TXT 161132 4.29 5.48 30.15 5499 3000 10  17   627.11 -        627.11 
116 11 Etienne Pallier
  3 Feb25_161243_2014_spect.TXT 161210 4.29 5.33 30.15 5444 2951 10  25   649.07 161307    19.72 
117 11 Etienne Pallier
  4 Feb25_161307_2014_spect.TXT 161257 4.25 5.55 30.15 5444 3000 10  17   629.35 -        629.35 
118 11 Etienne Pallier
  5 Feb25_161339_2014_spect.TXT 161329 4.25 5.59 30.15 5454 2959 10  25   674.78 161404    43.76 
119 1 Etienne Pallier
  6 Feb25_161404_2014_spect.TXT 161353 4.29 5.52 30.15 5454 3000 10  17   631.02 -        631.02 
120 1 Etienne Pallier
  7 Feb25_161435_2014_spect.TXT 161425 4.21 5.55 30.15 5463 2967 10  25   693.77 161500    60.76 
121 11 Etienne Pallier
  8 Feb25_161500_2014_spect.TXT 161450 4.33 5.59 30.15 5463 3000 10  17   633.01 -        633.01 
122 11 Etienne Pallier
  9 Feb25_161532_2014_spect.TXT 161521 4.29 5.59 30.15 5473 2975 10  25   703.08 161556    68.71 
123 11 Etienne Pallier
 10 Feb25_161556_2014_spect.TXT 161546 4.36 5.52 30.15 5473 3000 10  17   634.36 -        634.36 
124 11 Etienne Pallier
 11 Feb25_161646_2014_spect.TXT 161636 4.33 5.63 30.15 5482 2983 10  25   702.22 161711    67.98 
125 11 Etienne Pallier
 12 Feb25_161711_2014_spect.TXT 161701 4.33 5.59 30.15 5482 3000 10  17   634.24 -        634.24 
126 11 Etienne Pallier
 13 Feb25_161743_2014_spect.TXT 161733 4.36 5.55 30.15 5493 2992 10  25   695.08 161808    58.88 
127 11 Etienne Pallier
 14 Feb25_161808_2014_spect.TXT 161757 4.36 5.55 30.15 5493 3000 10  17   636.20 -        636.20 
128 11 Etienne Pallier
 15 Feb25_161840_2014_spect.TXT 161829 4.40 5.59 30.15 5502 3000 10  25   683.94 161905    46.74 
129 11 Etienne Pallier
 16 Feb25_161905_2014_spect.TXT 161854 4.40 5.59 30.15 5502 3000 10  17   637.20 -        637.20 
130 11 Etienne Pallier
 17 Feb25_161937_2014_spect.TXT 161926 4.40 5.59 30.15 5513 3009 10  25   675.67 162002    37.24 
131 11 Etienne Pallier
 18 Feb25_162002_2014_spect.TXT 161951 4.44 5.59 30.15 5513 3000 10  17   638.43 -        638.43 
132 11 Etienne Pallier
 19 Feb25_162034_2014_spect.TXT 162023 4.36 5.63 30.15 5522 3017 10  25   663.56 162059    24.10 
133 15 Etienne Pallier
 20 (D) Feb25_162059_2014_spect.TXT 162048 4.40 5.63 30.15 5522 3000 10  17   639.46 -        639.46
134 15 Etienne Pallier
135 11 Etienne Pallier
136 11 Etienne Pallier
137 3 Etienne Pallier
h2. Dépôt SVN
138 1 Etienne Pallier
139 9 Etienne Pallier
(cliquer sur l'onglet Dépôt)
140 9 Etienne Pallier
141 6 Etienne Pallier
 * URL du dépôt : https://usvn-chemcam.irap.omp.eu/repo/c-spec-hk/trunk/
142 6 Etienne Pallier
143 6 Etienne Pallier
 * Administration du dépôt : https://usvn-chemcam.irap.omp.eu
144 6 Etienne Pallier
145 10 Etienne Pallier
 * Administrateur : Etienne Pallier
146 10 Etienne Pallier
147 10 Etienne Pallier
 * Groupes :
148 10 Etienne Pallier
   * grp-admin-chemcam : Admin du dépot CHEMCAM (RW sur racine).
149 10 Etienne Pallier
   * grp-chemcam : Les développeurs de CHEMCAM (RW sur branches).
150 10 Etienne Pallier
   * On peut également créer un groupe grp-readonly-chemcam (et mettre les droits en read-only sur tout le projet)
151 10 Etienne Pallier
152 10 Etienne Pallier
 * Ajout d'utilisateurs 
153 10 Etienne Pallier
154 10 Etienne Pallier
  * On peut ajouter des utilisateurs extérieurs via l'interface web, puis les ajouter dans les groupes (en tant que "Utilisateurs affectés").
155 10 Etienne Pallier
  * Dans le cas des utilisateurs IRAP, il faut qu'ils se connectent une première fois sur https://usvn-idems.irap.omp.eu avec leur login/mdp IRAP avant de pouvoir être affectés dans les groupes du repository.
156 10 Etienne Pallier
157 10 Etienne Pallier
 * Dashboard : le dashboard du projet est https://usvn-chemcam.irap.omp.eu (=interface de gestion des utilisateurs, groupes et droits d'accès sur le repo, et également navigateur/explorateur du repo)
158 10 Etienne Pallier
159 10 Etienne Pallier
 * Accès : Le repo SVN est accessible depuis partout dans le monde (svn-over-https only), la racine du repo est https://usvn-chemcam.irap.omp.eu/repo/chemcam/
160 10 Etienne Pallier
161 6 Etienne Pallier
162 3 Etienne Pallier
163 3 Etienne Pallier
164 5 Etienne Pallier
h2. Installation
165 4 Etienne Pallier
166 1 Etienne Pallier
S'assurer d'avoir python 2.7
167 1 Etienne Pallier
168 1 Etienne Pallier
Sur Mac, avec Macport, pour que la version 2.7 soit bien la version par défaut quand on tape "python" :
169 1 Etienne Pallier
170 1 Etienne Pallier
sudo port select --set python python27
171 1 Etienne Pallier
172 1 Etienne Pallier
$ which python
173 1 Etienne Pallier
/opt/local/bin/python
174 1 Etienne Pallier
175 1 Etienne Pallier
$ python --version
176 1 Etienne Pallier
Python 2.7.9
177 2 Etienne Pallier
178 2 Etienne Pallier
Mettre à jour MacPort :
179 2 Etienne Pallier
sudo port -v selfupdate
180 2 Etienne Pallier
sudo port upgrade outdated