Wiki

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