Wiki

Version 17 (Etienne Pallier, 03/16/2015 11:12 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 16 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 16 Etienne Pallier
=> retourne le fichier dark qui est juste après (<5mn) (mais, peut être before...)
79 16 Etienne Pallier
=> regarde un peu autour (avant et après)
80 11 Etienne Pallier
81 11 Etienne Pallier
findAutofocus(...)
82 16 Etienne Pallier
=> *_afocus.TXT (juste prendre son nom, pas son contenu), qui est AVANT
83 11 Etienne Pallier
84 15 Etienne Pallier
h3. EXEMPLE DE FICHIER RESULTAT (LOG) A OBTENIR (1 par jour)
85 11 Etienne Pallier
86 11 Etienne Pallier
data_Feb25_2014_5 
87 11 Etienne Pallier
firstfile = Feb25_161115_2014_spect.TXT
88 11 Etienne Pallier
lastfile = Feb25_162059_2014_spect.TXT
89 1 Etienne Pallier
90 11 Etienne Pallier
id, SPECT_file, SOH_file, 
91 1 Etienne Pallier
92 11 Etienne Pallier
// from *_SOH.TXT file :
93 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
94 1 Etienne Pallier
temp_laser_min(degC), temp_laser_max(degC),	// prendre min et max des 4 HK_Temp_Laser_1-4
95 15 Etienne Pallier
temp_spect(C), 					// Spectrometer_Temp
96 15 Etienne Pallier
pm(cnts), 					// Motor_Position
97 11 Etienne Pallier
98 11 Etienne Pallier
// from *_spect.TXT file :
99 15 Etienne Pallier
dist(mm),					// distance to target distToTarget
100 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)
101 15 Etienne Pallier
controlWord, 					// 25 = tir avec laser,  17 = tir sans laser (DARK)
102 15 Etienne Pallier
data_mean,					// moyenne des data \ nbshots reels (= intensité moyenne ?) (à lire from >>>>>Begin Processed Spectral Data<<<<<)
103 15 Etienne Pallier
dark_file, 					// remplacer par dark_file_before, dark_file_after (file name)
104 15 Etienne Pallier
mean_spect_value - dark				// (= data_mean - ???)
105 11 Etienne Pallier
106 11 Etienne Pallier
107 11 Etienne Pallier
// Liste des fichiers *_spect.TXT associés avec leurs paramètres HK (trouvés dans *_SOH.TXT) :
108 11 Etienne Pallier
109 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
110 11 Etienne Pallier
111 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 
112 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 
113 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 
114 11 Etienne Pallier
  4 Feb25_161307_2014_spect.TXT 161257 4.25 5.55 30.15 5444 3000 10  17   629.35 -        629.35 
115 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 
116 1 Etienne Pallier
  6 Feb25_161404_2014_spect.TXT 161353 4.29 5.52 30.15 5454 3000 10  17   631.02 -        631.02 
117 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 
118 11 Etienne Pallier
  8 Feb25_161500_2014_spect.TXT 161450 4.33 5.59 30.15 5463 3000 10  17   633.01 -        633.01 
119 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 
120 11 Etienne Pallier
 10 Feb25_161556_2014_spect.TXT 161546 4.36 5.52 30.15 5473 3000 10  17   634.36 -        634.36 
121 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 
122 11 Etienne Pallier
 12 Feb25_161711_2014_spect.TXT 161701 4.33 5.59 30.15 5482 3000 10  17   634.24 -        634.24 
123 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 
124 11 Etienne Pallier
 14 Feb25_161808_2014_spect.TXT 161757 4.36 5.55 30.15 5493 3000 10  17   636.20 -        636.20 
125 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 
126 11 Etienne Pallier
 16 Feb25_161905_2014_spect.TXT 161854 4.40 5.59 30.15 5502 3000 10  17   637.20 -        637.20 
127 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 
128 11 Etienne Pallier
 18 Feb25_162002_2014_spect.TXT 161951 4.44 5.59 30.15 5513 3000 10  17   638.43 -        638.43 
129 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 
130 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
131 15 Etienne Pallier
132 17 Etienne Pallier
---
133 11 Etienne Pallier
134 3 Etienne Pallier
h2. Dépôt SVN
135 1 Etienne Pallier
136 9 Etienne Pallier
(cliquer sur l'onglet Dépôt)
137 9 Etienne Pallier
138 6 Etienne Pallier
 * URL du dépôt : https://usvn-chemcam.irap.omp.eu/repo/c-spec-hk/trunk/
139 6 Etienne Pallier
140 6 Etienne Pallier
 * Administration du dépôt : https://usvn-chemcam.irap.omp.eu
141 6 Etienne Pallier
142 10 Etienne Pallier
 * Administrateur : Etienne Pallier
143 10 Etienne Pallier
144 10 Etienne Pallier
 * Groupes :
145 10 Etienne Pallier
   * grp-admin-chemcam : Admin du dépot CHEMCAM (RW sur racine).
146 10 Etienne Pallier
   * grp-chemcam : Les développeurs de CHEMCAM (RW sur branches).
147 10 Etienne Pallier
   * On peut également créer un groupe grp-readonly-chemcam (et mettre les droits en read-only sur tout le projet)
148 10 Etienne Pallier
149 10 Etienne Pallier
 * Ajout d'utilisateurs 
150 10 Etienne Pallier
151 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").
152 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.
153 10 Etienne Pallier
154 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)
155 10 Etienne Pallier
156 3 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/
157 3 Etienne Pallier
158 5 Etienne Pallier
h2. Installation
159 4 Etienne Pallier
160 1 Etienne Pallier
S'assurer d'avoir python 2.7
161 1 Etienne Pallier
162 1 Etienne Pallier
Sur Mac, avec Macport, pour que la version 2.7 soit bien la version par défaut quand on tape "python" :
163 1 Etienne Pallier
164 1 Etienne Pallier
sudo port select --set python python27
165 1 Etienne Pallier
166 1 Etienne Pallier
$ which python
167 1 Etienne Pallier
/opt/local/bin/python
168 1 Etienne Pallier
169 1 Etienne Pallier
$ python --version
170 1 Etienne Pallier
Python 2.7.9
171 2 Etienne Pallier
172 2 Etienne Pallier
Mettre à jour MacPort :
173 2 Etienne Pallier
sudo port -v selfupdate
174 2 Etienne Pallier
sudo port upgrade outdated