Wiki

Version 11 (Etienne Pallier, 03/16/2015 11:06 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 11 Etienne Pallier
7 11 Etienne Pallier
h2. SPECIFICATIONS
8 11 Etienne Pallier
9 11 Etienne Pallier
CAHIER DES CHARGES
10 11 Etienne Pallier
==================
11 11 Etienne Pallier
12 11 Etienne Pallier
13 11 Etienne Pallier
Schéma de connexion
14 11 Etienne Pallier
===================
15 11 Etienne Pallier
16 11 Etienne Pallier
PcEGSE <==RJ45==> EGSE <==serial==> ChemCam
17 11 Etienne Pallier
18 11 Etienne Pallier
ChemCam (garde tous les spectres en RAM) : serial==> BU (Body Unit) <== MU (Mast Unit)
19 11 Etienne Pallier
- MU : fait les tirs
20 11 Etienne Pallier
- BU : analyse les spectres
21 11 Etienne Pallier
22 11 Etienne Pallier
SOH (Spectra O? HK)
23 11 Etienne Pallier
24 11 Etienne Pallier
25 11 Etienne Pallier
26 11 Etienne Pallier
27 11 Etienne Pallier
Type d’observation : sur la ligne DOLIBS modifier controlWord
28 11 Etienne Pallier
==================
29 11 Etienne Pallier
30 11 Etienne Pallier
Bit # 	Bit Value	Fonction si activé
31 11 Etienne Pallier
-----	---------	------------------
32 11 Etienne Pallier
33 11 Etienne Pallier
0		1	 	Do focus : effectuer une focalisation (voir focusAlgorithm)
34 11 Etienne Pallier
35 11 Etienne Pallier
1		2	 	Pre dark spectra : acquisition d’un spectre dark AVANT les tirs
36 11 Etienne Pallier
37 11 Etienne Pallier
2		4 		Post dark spectra : acquisition d’un spectre dark APRES les tirs
38 11 Etienne Pallier
39 11 Etienne Pallier
***
40 11 Etienne Pallier
3		8 		Enable laser : effectuer un (des) tir(s) laser (voir Nshots) (sinon, c'est un DARK)
41 11 Etienne Pallier
***
42 11 Etienne Pallier
43 11 Etienne Pallier
4		16 		Collect spectra : acquisition de spectre pendant les tirs
44 11 Etienne Pallier
45 11 Etienne Pallier
5		32 		BS
46 11 Etienne Pallier
47 11 Etienne Pallier
48 11 Etienne Pallier
==> 25 = 1+8+16 = tir avec laser
49 11 Etienne Pallier
==> 17 = 1+0+16 = tir sans laser (DARK)
50 11 Etienne Pallier
51 11 Etienne Pallier
Bits 0 et 1 pas utilisés !!! :
52 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,
53 11 Etienne Pallier
ce qui génère tous ces spectres avec un controlWord =17 dans la liste.
54 11 Etienne Pallier
55 11 Etienne Pallier
56 11 Etienne Pallier
57 11 Etienne Pallier
58 11 Etienne Pallier
Fichier spectre :
59 11 Etienne Pallier
===============
60 11 Etienne Pallier
61 11 Etienne Pallier
Suite d'intensités pour chaque canal (dans l'ordre 0, 1, 2, 3, ... 6444)
62 11 Etienne Pallier
A représenter sur axe 
63 11 Etienne Pallier
- X : channel number, assimilable à longueur d'onde : 0 à 6444
64 11 Etienne Pallier
- Y : intensité
65 11 Etienne Pallier
66 11 Etienne Pallier
Si fichier DARK, alors intensités (à peu près) constantes (toutes égales) :
67 11 Etienne Pallier
==> donne le bruit de fond de l'instrument, puisque on a zero lumière
68 11 Etienne Pallier
69 11 Etienne Pallier
70 11 Etienne Pallier
71 11 Etienne Pallier
Stratégie :
72 11 Etienne Pallier
=========
73 11 Etienne Pallier
Prendre le last stack only
74 11 Etienne Pallier
75 11 Etienne Pallier
Lire fichier *_spect.TXT et *_SOH.TXT associé (celui qui est juste avant, < 5mn avant)
76 11 Etienne Pallier
77 11 Etienne Pallier
1 fich/jour
78 11 Etienne Pallier
79 11 Etienne Pallier
Methods to write :
80 11 Etienne Pallier
81 11 Etienne Pallier
findSOH(liste des *SOH.TXT du jour, spect.TXT)
82 11 Etienne Pallier
==> convertit les noms SOH en timestamps, trouve le SOH qui est juste avant le spect.TXT (< 5mn avant)
83 11 Etienne Pallier
84 11 Etienne Pallier
findDARK(liste des *spect.TXT (dark), le spect.TXT pour lequel on veut le dark)
85 11 Etienne Pallier
==> retourne le fichier dark qui est juste après (<5mn) (mais, peut être before...)
86 11 Etienne Pallier
==> regarde un peu autour (avant et après)
87 11 Etienne Pallier
88 11 Etienne Pallier
findAutofocus(...)
89 11 Etienne Pallier
==> *_afocus.TXT (juste prendre son nom, pas son contenu), qui est AVANT
90 11 Etienne Pallier
91 11 Etienne Pallier
 
92 11 Etienne Pallier
93 11 Etienne Pallier
94 11 Etienne Pallier
EXEMPLE DE FICHIER RESULTAT (LOG) A OBTENIR (1 par jour)
95 11 Etienne Pallier
===========================================
96 11 Etienne Pallier
97 11 Etienne Pallier
data_Feb25_2014_5 
98 11 Etienne Pallier
firstfile = Feb25_161115_2014_spect.TXT
99 11 Etienne Pallier
lastfile = Feb25_162059_2014_spect.TXT
100 11 Etienne Pallier
101 11 Etienne Pallier
id, SPECT_file, SOH_file, 
102 11 Etienne Pallier
103 11 Etienne Pallier
// from *_SOH.TXT file :
104 11 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
105 11 Etienne Pallier
temp_laser_min(degC), temp_laser_max(degC),	// prendre min et max des 4 HK_Temp_Laser_1-4
106 11 Etienne Pallier
temp_spect(C), 								// Spectrometer_Temp
107 11 Etienne Pallier
pm(cnts), 									// Motor_Position
108 11 Etienne Pallier
109 11 Etienne Pallier
// from *_spect.TXT file :
110 11 Etienne Pallier
dist(mm),									// distance to target distToTarget
111 11 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)
112 11 Etienne Pallier
controlWord, 								// 25 = tir avec laser,  17 = tir sans laser (DARK)
113 11 Etienne Pallier
data_mean,									// moyenne des data \ nbshots reels (= intensité moyenne ?) (à lire from >>>>>Begin Processed Spectral Data<<<<<)
114 11 Etienne Pallier
dark_file, 									// remplacer par dark_file_before, dark_file_after (file name)
115 11 Etienne Pallier
mean_spect_value - dark						// (= data_mean - ???)
116 11 Etienne Pallier
117 11 Etienne Pallier
118 11 Etienne Pallier
// Liste des fichiers *_spect.TXT associés avec leurs paramètres HK (trouvés dans *_SOH.TXT) :
119 11 Etienne Pallier
120 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
121 11 Etienne Pallier
122 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 
123 11 Etienne Pallier
DARK  2 Feb25_161142_2014_spect.TXT 161132 4.29 5.48 30.15 5499 3000 10  17   627.11 -        627.11 
124 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 
125 11 Etienne Pallier
  4 Feb25_161307_2014_spect.TXT 161257 4.25 5.55 30.15 5444 3000 10  17   629.35 -        629.35 
126 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 
127 11 Etienne Pallier
  6 Feb25_161404_2014_spect.TXT 161353 4.29 5.52 30.15 5454 3000 10  17   631.02 -        631.02 
128 11 Etienne Pallier
  7 Feb25_161435_2014_spect.TXT 161425 4.21 5.55 30.15 5463 2967 10  25   693.77 161500    60.76 
129 11 Etienne Pallier
  8 Feb25_161500_2014_spect.TXT 161450 4.33 5.59 30.15 5463 3000 10  17   633.01 -        633.01 
130 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 
131 11 Etienne Pallier
 10 Feb25_161556_2014_spect.TXT 161546 4.36 5.52 30.15 5473 3000 10  17   634.36 -        634.36 
132 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 
133 11 Etienne Pallier
 12 Feb25_161711_2014_spect.TXT 161701 4.33 5.59 30.15 5482 3000 10  17   634.24 -        634.24 
134 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 
135 11 Etienne Pallier
 14 Feb25_161808_2014_spect.TXT 161757 4.36 5.55 30.15 5493 3000 10  17   636.20 -        636.20 
136 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 
137 11 Etienne Pallier
 16 Feb25_161905_2014_spect.TXT 161854 4.40 5.59 30.15 5502 3000 10  17   637.20 -        637.20 
138 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 
139 11 Etienne Pallier
 18 Feb25_162002_2014_spect.TXT 161951 4.44 5.59 30.15 5513 3000 10  17   638.43 -        638.43 
140 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 
141 11 Etienne Pallier
DARK 20 Feb25_162059_2014_spect.TXT 162048 4.40 5.63 30.15 5522 3000 10  17   639.46 -        639.46
142 11 Etienne Pallier
143 11 Etienne Pallier
144 3 Etienne Pallier
h2. Dépôt SVN
145 1 Etienne Pallier
146 9 Etienne Pallier
(cliquer sur l'onglet Dépôt)
147 9 Etienne Pallier
148 6 Etienne Pallier
 * URL du dépôt : https://usvn-chemcam.irap.omp.eu/repo/c-spec-hk/trunk/
149 6 Etienne Pallier
150 6 Etienne Pallier
 * Administration du dépôt : https://usvn-chemcam.irap.omp.eu
151 6 Etienne Pallier
152 10 Etienne Pallier
 * Administrateur : Etienne Pallier
153 10 Etienne Pallier
154 10 Etienne Pallier
 * Groupes :
155 10 Etienne Pallier
   * grp-admin-chemcam : Admin du dépot CHEMCAM (RW sur racine).
156 10 Etienne Pallier
   * grp-chemcam : Les développeurs de CHEMCAM (RW sur branches).
157 10 Etienne Pallier
   * On peut également créer un groupe grp-readonly-chemcam (et mettre les droits en read-only sur tout le projet)
158 10 Etienne Pallier
159 10 Etienne Pallier
 * Ajout d'utilisateurs 
160 10 Etienne Pallier
161 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").
162 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.
163 10 Etienne Pallier
164 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)
165 10 Etienne Pallier
166 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/
167 10 Etienne Pallier
168 6 Etienne Pallier
169 3 Etienne Pallier
170 3 Etienne Pallier
171 5 Etienne Pallier
h2. Installation
172 4 Etienne Pallier
173 1 Etienne Pallier
S'assurer d'avoir python 2.7
174 1 Etienne Pallier
175 1 Etienne Pallier
Sur Mac, avec Macport, pour que la version 2.7 soit bien la version par défaut quand on tape "python" :
176 1 Etienne Pallier
177 1 Etienne Pallier
sudo port select --set python python27
178 1 Etienne Pallier
179 1 Etienne Pallier
$ which python
180 1 Etienne Pallier
/opt/local/bin/python
181 1 Etienne Pallier
182 1 Etienne Pallier
$ python --version
183 1 Etienne Pallier
Python 2.7.9
184 2 Etienne Pallier
185 2 Etienne Pallier
Mettre à jour MacPort :
186 2 Etienne Pallier
sudo port -v selfupdate
187 2 Etienne Pallier
sudo port upgrade outdated