You need to sign in before continuing.
Commit 510c6bf1e3a6298cf244cc9bb1f75dc8442576ed
Exists in
master
Merge branch 'master' of https://gitlab.irap.omp.eu/guitastrolib/guitastro
Showing
2 changed files
with
172 additions
and
163 deletions
Show diff stats
gui/tp_audine_elec/main.cpp
1 | /* | 1 | /* |
2 | - * Fichier pour travaux pratiques | ||
3 | - * Universite de Toulouse | 2 | + * Title: Code C de pilotage de camera Audine avec Raspberry |
3 | + * Author: A. Klotz. Universite de Toulouse | ||
4 | * | 4 | * |
5 | - * --- rappel des bits de donnes du port parallele pour Audine | ||
6 | - * ordre : 87654321 | ||
7 | - * bit 1 : horloge V1 | ||
8 | - * bit 2 : horloge V2 | ||
9 | - * bit 3 : horloge H1 | ||
10 | - * bit 4 : horloge R (reset) | ||
11 | - * bit 5 : horloge CL (clamp) | ||
12 | - * bit 6 : horloge Start Convert (CAN) | ||
13 | - * bit 7 : horloge Select Byte (CAN) | ||
14 | - * bit 8 : horloge Select Nibble | 5 | + * To install the GPIO access library BCM2835 for Ubuntu: |
6 | + * Some infos: http://www.airspayce.com/mikem/bcm2835/ | ||
7 | + * Install procedure: https://raspberry-projects.com/pi/programming-in-c/io-pins/bcm2835-by-mike-mccauley | ||
8 | + * Do not forget to change the rights of the driver: | ||
9 | + * $ sudo chown user:user /dev/gpiomem | ||
10 | + * $ sudo crontab -e and add the line @reboot chown user:user /dev/gpiomem | ||
15 | * | 11 | * |
12 | + * Code::Blocks configuration to use the GPIO library BCM2835 in C code: | ||
13 | + * Menu Settings -> Compiler... | ||
14 | + * Tab "Linker Settings", "Link libraries" [Add] bcm2835 [OK] | ||
16 | */ | 15 | */ |
17 | 16 | ||
18 | - // https://raspberry-projects.com/pi/programming-in-c/io-pins/bcm2835-by-mike-mccauley | ||
19 | -// http://www.airspayce.com/mikem/bcm2835/ | ||
20 | -// sudo chown user:user /dev/gpiomem | ||
21 | -// Dans CodeBlocks, Menu Settings -> Compiler Settings, tab Other compiler options: Add -lbcm2835 | ||
22 | -// spyder : https://stackoverflow.com/questions/72114520/error-when-starting-spyder-on-ubuntu-22-04 | ||
23 | - | ||
24 | #include <stdlib.h> | 17 | #include <stdlib.h> |
25 | #include <stdio.h> | 18 | #include <stdio.h> |
26 | #include <string.h> | 19 | #include <string.h> |
@@ -46,8 +39,8 @@ | @@ -46,8 +39,8 @@ | ||
46 | #define LEVEL_HIGH 0 | 39 | #define LEVEL_HIGH 0 |
47 | #define LEVEL_LOW 1 | 40 | #define LEVEL_LOW 1 |
48 | 41 | ||
42 | +// -- Structure of camera informations | ||
49 | struct camprop { | 43 | struct camprop { |
50 | - /* --- parametres standards, ne pas changer --- */ | ||
51 | char msg[2048]; | 44 | char msg[2048]; |
52 | float exptime; | 45 | float exptime; |
53 | int binx, biny; | 46 | int binx, biny; |
@@ -62,30 +55,22 @@ struct camprop { | @@ -62,30 +55,22 @@ struct camprop { | ||
62 | int nb_deadendphotoy; | 55 | int nb_deadendphotoy; |
63 | int nb_photox; | 56 | int nb_photox; |
64 | int nb_photoy; | 57 | int nb_photoy; |
65 | - unsigned short *p; | ||
66 | - /* --- pour l'amplificateur des Kaf-401 --- */ | ||
67 | - int ampliindex; | ||
68 | - int nbampliclean; | ||
69 | - timespec t1; | ||
70 | - timespec t2; | 58 | + float *p; |
71 | }; | 59 | }; |
72 | 60 | ||
73 | -int cmdAudineAcqNormal(struct camprop *cam); | ||
74 | - | 61 | +// -- Declaration of functions |
62 | +int tp_acquisition_fullframe(struct camprop *cam); | ||
75 | static int tp_fast_vidage(struct camprop *cam); | 63 | static int tp_fast_vidage(struct camprop *cam); |
76 | -static int tp_read_win(struct camprop *cam); | ||
77 | -static void libcam_sleep(float us); | ||
78 | - | 64 | +static int tp_read_frame(struct camprop *cam); |
65 | +static void tp_sleep(float us); | ||
79 | static int tp_zi_zh(struct camprop *cam); | 66 | static int tp_zi_zh(struct camprop *cam); |
80 | static int tp_read_pel_fast2(struct camprop *cam); | 67 | static int tp_read_pel_fast2(struct camprop *cam); |
81 | - | ||
82 | int tp_fast_line(struct camprop *cam); | 68 | int tp_fast_line(struct camprop *cam); |
83 | 69 | ||
84 | - | ||
85 | /* | 70 | /* |
86 | - * Attente en micro-secondes. | 71 | + * Wait in micro-seconds. |
87 | */ | 72 | */ |
88 | -void libcam_sleep(float us) | 73 | +void tp_sleep(float us) |
89 | { | 74 | { |
90 | int i,n; | 75 | int i,n; |
91 | n = (int)(us*10); | 76 | n = (int)(us*10); |
@@ -94,32 +79,32 @@ void libcam_sleep(float us) | @@ -94,32 +79,32 @@ void libcam_sleep(float us) | ||
94 | } | 79 | } |
95 | } | 80 | } |
96 | 81 | ||
97 | -int cmdAudineAcqNormal(struct camprop *cam) | 82 | +int tp_acquisition_fullframe(struct camprop *cam) |
98 | { | 83 | { |
99 | int i; | 84 | int i; |
100 | - int nb_vidages = 1; | 85 | + int nb_vidages = 2; |
101 | /* =============================================== */ | 86 | /* =============================================== */ |
102 | /* === Etape de rincage de la matrice CCD === */ | 87 | /* === Etape de rincage de la matrice CCD === */ |
103 | /* =============================================== */ | 88 | /* =============================================== */ |
104 | - /* vidage de la matrice */ | 89 | + // Vidage de la matrice |
105 | for (i = 0; i < nb_vidages; i++) { | 90 | for (i = 0; i < nb_vidages; i++) { |
106 | tp_fast_vidage(cam); | 91 | tp_fast_vidage(cam); |
107 | } | 92 | } |
108 | /* =============================================== */ | 93 | /* =============================================== */ |
109 | /* === Integration de l'image (attente) === */ | 94 | /* === Integration de l'image (attente) === */ |
110 | /* =============================================== */ | 95 | /* =============================================== */ |
111 | - /* Delais du temps de pose (en micro-secondes) */ | ||
112 | - libcam_sleep((int) (1e6 * cam->exptime)); | 96 | + // Delais du temps de pose (en micro-secondes) |
97 | + tp_sleep((int) (1e6 * cam->exptime)); | ||
113 | /* =============================================== */ | 98 | /* =============================================== */ |
114 | /* === Etape de lecture de la matrice CCD === */ | 99 | /* === Etape de lecture de la matrice CCD === */ |
115 | /* =============================================== */ | 100 | /* =============================================== */ |
116 | - /* Parametres de dimensions pour allouer le pointeur image */ | 101 | + // Parametres de dimensions pour allouer le pointeur image |
117 | cam->w = cam->nb_photox / cam->binx; | 102 | cam->w = cam->nb_photox / cam->binx; |
118 | cam->h = cam->nb_photoy / cam->biny; | 103 | cam->h = cam->nb_photoy / cam->biny; |
119 | - /* Allocation memoire du pointeur image */ | ||
120 | - cam->p = (unsigned short *) calloc(cam->w*cam->h, sizeof(unsigned short)); | ||
121 | - /* Lecture et numรฏยฟยฝrisation de l'image vers le pointeur p */ | ||
122 | - tp_read_win(cam); | 104 | + // Allocation memoire du pointeur image |
105 | + cam->p = (float *) calloc(cam->w*cam->h, sizeof(float)); | ||
106 | + // Lecture et numรฏยฟยฝrisation de l'image vers le pointeur p | ||
107 | + tp_read_frame(cam); | ||
123 | return 0; | 108 | return 0; |
124 | } | 109 | } |
125 | 110 | ||
@@ -133,25 +118,25 @@ int tp_fast_vidage(struct camprop *cam) | @@ -133,25 +118,25 @@ int tp_fast_vidage(struct camprop *cam) | ||
133 | int i, j; | 118 | int i, j; |
134 | int imax, jmax, decaligne; | 119 | int imax, jmax, decaligne; |
135 | 120 | ||
136 | - /* Nombre total de photocellules dans le registre horizontal. */ | 121 | + // -- Nombre total de photocellules dans le registre horizontal. |
137 | imax = cam->nb_photox + cam->nb_deadbeginphotox + cam->nb_deadendphotox; | 122 | imax = cam->nb_photox + cam->nb_deadbeginphotox + cam->nb_deadendphotox; |
138 | 123 | ||
139 | - /* Nombre total de photocellules dans une colonne de la matrice. */ | 124 | + // -- Nombre total de photocellules dans une colonne de la matrice. |
140 | jmax = cam->nb_photoy + cam->nb_deadbeginphotoy + cam->nb_deadendphotoy; | 125 | jmax = cam->nb_photoy + cam->nb_deadbeginphotoy + cam->nb_deadendphotoy; |
141 | 126 | ||
142 | - /* Nombre de lignes decalees a chaque boucle sur l'axe vertical. */ | 127 | + // -- Nombre de lignes decalees a chaque boucle sur l'axe vertical. |
143 | decaligne = 20; | 128 | decaligne = 20; |
144 | 129 | ||
145 | - /* Nombre total de boucles sur l'axe vertical. */ | 130 | + // -- Nombre total de boucles sur l'axe vertical. |
146 | jmax = (int) ceil (1. * jmax / decaligne) ; | 131 | jmax = (int) ceil (1. * jmax / decaligne) ; |
147 | 132 | ||
148 | - /* Boucle sur les paquets de lignes. */ | 133 | + // -- Boucle sur les paquets de lignes. |
149 | for (j = 0; j < jmax; j++) { | 134 | for (j = 0; j < jmax; j++) { |
150 | - /* Decalage d'un paquet de 20 lignes. */ | 135 | + // -- Decalage d'un paquet de 'decaligne' lignes. |
151 | for (i = 0; i < decaligne; i++) { | 136 | for (i = 0; i < decaligne; i++) { |
152 | tp_zi_zh(cam); | 137 | tp_zi_zh(cam); |
153 | } | 138 | } |
154 | - /* Lecture du registre horizontal sans reset */ | 139 | + // -- Lecture du registre horizontal sans reset |
155 | for (i = 0; i < imax; i++) { | 140 | for (i = 0; i < imax; i++) { |
156 | tp_read_pel_fast2(cam); | 141 | tp_read_pel_fast2(cam); |
157 | } | 142 | } |
@@ -171,38 +156,38 @@ int tp_zi_zh(struct camprop *cam) | @@ -171,38 +156,38 @@ int tp_zi_zh(struct camprop *cam) | ||
171 | float tphiV=2.0; | 156 | float tphiV=2.0; |
172 | float tphiHS=1.0; | 157 | float tphiHS=1.0; |
173 | // --- | 158 | // --- |
174 | - bcm2835_gpio_write (PHI_V1, LEVEL_HIGH) ; | ||
175 | - libcam_sleep(tphiV); | ||
176 | - bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; | ||
177 | - bcm2835_gpio_write (PHI_V2, LEVEL_HIGH) ; | ||
178 | - libcam_sleep(tphiV); | ||
179 | - bcm2835_gpio_write (PHI_V1, LEVEL_HIGH) ; | ||
180 | - bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; | ||
181 | - libcam_sleep(tphiV); | ||
182 | - bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; | ||
183 | - libcam_sleep(tphiHS); | 159 | + bcm2835_gpio_write (PHI_V1, LEVEL_HIGH); |
160 | + tp_sleep(tphiV); | ||
161 | + bcm2835_gpio_write (PHI_V1, LEVEL_LOW); | ||
162 | + bcm2835_gpio_write (PHI_V2, LEVEL_HIGH); | ||
163 | + tp_sleep(tphiV); | ||
164 | + bcm2835_gpio_write (PHI_V1, LEVEL_HIGH); | ||
165 | + bcm2835_gpio_write (PHI_V2, LEVEL_LOW); | ||
166 | + tp_sleep(tphiV); | ||
167 | + bcm2835_gpio_write (PHI_V1, LEVEL_LOW); | ||
168 | + tp_sleep(tphiHS); | ||
184 | return 0; | 169 | return 0; |
185 | } | 170 | } |
186 | 171 | ||
187 | /* | 172 | /* |
188 | tp_read_pel_fast2(struct camprop *cam) -- | 173 | tp_read_pel_fast2(struct camprop *cam) -- |
189 | - Lecture rapide d'un pixel : decalage du registre horizontal | 174 | + Lecture rapide d'une photocellule : decalage du registre horizontal |
190 | sans Reset, mais sans lecture du CAN, | 175 | sans Reset, mais sans lecture du CAN, |
191 | */ | 176 | */ |
192 | int tp_read_pel_fast2(struct camprop *cam) | 177 | int tp_read_pel_fast2(struct camprop *cam) |
193 | { | 178 | { |
194 | float tphiPIX=0.25; | 179 | float tphiPIX=0.25; |
195 | // --- | 180 | // --- |
196 | - bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | ||
197 | - libcam_sleep(tphiPIX); | ||
198 | - bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; | ||
199 | - libcam_sleep(tphiPIX); | 181 | + bcm2835_gpio_write (PHI_H1, LEVEL_LOW); |
182 | + tp_sleep(tphiPIX); | ||
183 | + bcm2835_gpio_write (PHI_H1, LEVEL_HIGH); | ||
184 | + tp_sleep(tphiPIX); | ||
200 | return 0; | 185 | return 0; |
201 | } | 186 | } |
202 | 187 | ||
203 | /* | 188 | /* |
204 | tp_read_pel_fast(struct camprop *cam) -- | 189 | tp_read_pel_fast(struct camprop *cam) -- |
205 | - Lecture rapide d'un pixel : decalage du registre horizontal | 190 | + Lecture rapide d'une photocellule : decalage du registre horizontal |
206 | avec Reset, mais sans lecture du CAN, | 191 | avec Reset, mais sans lecture du CAN, |
207 | */ | 192 | */ |
208 | int tp_read_pel_fast(struct camprop *cam) | 193 | int tp_read_pel_fast(struct camprop *cam) |
@@ -210,25 +195,25 @@ int tp_read_pel_fast(struct camprop *cam) | @@ -210,25 +195,25 @@ int tp_read_pel_fast(struct camprop *cam) | ||
210 | float tphiPIX=0.25; | 195 | float tphiPIX=0.25; |
211 | float tphiR=0.020; | 196 | float tphiR=0.020; |
212 | // --- | 197 | // --- |
213 | - bcm2835_gpio_write (PHI_R, LEVEL_HIGH) ; | ||
214 | - libcam_sleep(tphiR); | ||
215 | - bcm2835_gpio_write (PHI_R, LEVEL_LOW) ; | ||
216 | - libcam_sleep(tphiR); | ||
217 | - bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | ||
218 | - libcam_sleep(tphiPIX); | ||
219 | - bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; | ||
220 | - libcam_sleep(tphiPIX); | 198 | + bcm2835_gpio_write (PHI_R, LEVEL_HIGH); |
199 | + tp_sleep(tphiR); | ||
200 | + bcm2835_gpio_write (PHI_R, LEVEL_LOW); | ||
201 | + tp_sleep(tphiR); | ||
202 | + bcm2835_gpio_write (PHI_H1, LEVEL_LOW); | ||
203 | + tp_sleep(tphiPIX); | ||
204 | + bcm2835_gpio_write (PHI_H1, LEVEL_HIGH); | ||
205 | + tp_sleep(tphiPIX); | ||
221 | return 0; | 206 | return 0; |
222 | } | 207 | } |
223 | 208 | ||
224 | /* | 209 | /* |
225 | tp_fast_line_() -- | 210 | tp_fast_line_() -- |
226 | - Lecture rapide du registre horizontal, avec la fonction read_pel_fast. | 211 | + Lecture rapide du registre horizontal, avec la fonction tp_read_pel_fast. |
227 | */ | 212 | */ |
228 | int tp_fast_line(struct camprop *cam) | 213 | int tp_fast_line(struct camprop *cam) |
229 | { | 214 | { |
230 | int i, imax; | 215 | int i, imax; |
231 | - /* Nombre total de photocellules dans le registre horizontal. */ | 216 | + // Nombre total de photocellules dans le registre horizontal. |
232 | imax = cam->nb_photox + cam->nb_deadbeginphotox + cam->nb_deadendphotox; | 217 | imax = cam->nb_photox + cam->nb_deadbeginphotox + cam->nb_deadendphotox; |
233 | for (i = 0; i < imax; i++) { | 218 | for (i = 0; i < imax; i++) { |
234 | tp_read_pel_fast(cam); | 219 | tp_read_pel_fast(cam); |
@@ -236,7 +221,7 @@ int tp_fast_line(struct camprop *cam) | @@ -236,7 +221,7 @@ int tp_fast_line(struct camprop *cam) | ||
236 | return 0; | 221 | return 0; |
237 | } | 222 | } |
238 | 223 | ||
239 | -int tp_read_win(struct camprop *cam) | 224 | +int tp_read_frame(struct camprop *cam) |
240 | { | 225 | { |
241 | 226 | ||
242 | int i, j; | 227 | int i, j; |
@@ -244,143 +229,148 @@ int tp_read_win(struct camprop *cam) | @@ -244,143 +229,148 @@ int tp_read_win(struct camprop *cam) | ||
244 | int imax, jmax; | 229 | int imax, jmax; |
245 | int cx1, cx2, cy1; | 230 | int cx1, cx2, cy1; |
246 | unsigned short buffer[2048]; | 231 | unsigned short buffer[2048]; |
247 | - int x; | 232 | + unsigned short x; |
248 | 233 | ||
249 | - /* dimensions de l'image a digitaliser */ | 234 | + // -- Dimensions de l'image a digitaliser |
250 | imax = cam->w; | 235 | imax = cam->w; |
251 | jmax = cam->h; | 236 | jmax = cam->h; |
252 | - /* nombre de colonnes de debut a ne pas digitaliser */ | 237 | + // -- Nombre de photocellules de debut de ligne a ne pas digitaliser |
253 | cx1 = cam->nb_deadbeginphotox; | 238 | cx1 = cam->nb_deadbeginphotox; |
254 | - /* nombre de colonnes de fin a ne pas digitaliser */ | 239 | + // -- Nombre de photocellules de fin de ligne a ne pas digitaliser |
255 | cx2 = cam->nb_deadendphotox; | 240 | cx2 = cam->nb_deadendphotox; |
256 | - /* nombre de lignes de debut a ne pas digitaliser */ | 241 | + // -- Nombre de lignes de debut a ne pas digitaliser |
257 | cy1 = cam->nb_deadbeginphotoy; | 242 | cy1 = cam->nb_deadbeginphotoy; |
258 | 243 | ||
259 | - /* On supprime les cy1 premieres lignes */ | 244 | + // -- On supprime les cy1 premieres lignes |
260 | for (i = 0; i < cy1; i++) { | 245 | for (i = 0; i < cy1; i++) { |
261 | tp_zi_zh(cam); | 246 | tp_zi_zh(cam); |
262 | } | 247 | } |
263 | 248 | ||
264 | - /* On nettoie le registre horizontal */ | 249 | + // -- On nettoie le registre horizontal |
265 | for (i = 0; i < 1; i++) { | 250 | for (i = 0; i < 1; i++) { |
266 | tp_fast_line(cam); | 251 | tp_fast_line(cam); |
267 | } | 252 | } |
268 | 253 | ||
269 | - /* boucle sur l'horloge verticale (transfert) */ | 254 | + // -- Boucle sur le transfert vertical |
270 | for (i = 0; i < jmax; i++) { | 255 | for (i = 0; i < jmax; i++) { |
271 | 256 | ||
272 | - /* boucle de binning vertical */ | 257 | + // -- Boucle de binning vertical |
273 | for (k = 0; k < cam->biny; k++) { | 258 | for (k = 0; k < cam->biny; k++) { |
274 | tp_zi_zh(cam); | 259 | tp_zi_zh(cam); |
275 | } | 260 | } |
276 | 261 | ||
277 | - /* On retire les cx1 premiers pixels avec reset */ | 262 | + // -- On retire les cx1 premieres photocellules avec reset |
278 | for (j = 0; j < cx1; j++) { | 263 | for (j = 0; j < cx1; j++) { |
279 | tp_read_pel_fast(cam); | 264 | tp_read_pel_fast(cam); |
280 | } | 265 | } |
281 | 266 | ||
282 | - /* boucle sur l'horloge horizontale (registre de sortie) */ | 267 | + // -- Boucle sur le transfert horizontal |
283 | for (j = 0; j < imax; j++) { | 268 | for (j = 0; j < imax; j++) { |
284 | - float tphiR=0.020; | 269 | + float tphiR=2.0; //0.020; |
285 | float tRef1=4.0; | 270 | float tRef1=4.0; |
286 | float tRef2=1.0; | 271 | float tRef2=1.0; |
287 | float tRef3=1.0; | 272 | float tRef3=1.0; |
288 | - float tphiPIX=0.25; | 273 | + float tphiPIX=1.0; // 0.25 |
289 | float tVid1=4.0; | 274 | float tVid1=4.0; |
290 | - // palier de reset | ||
291 | - bcm2835_gpio_write (PHI_R, LEVEL_HIGH) ; | 275 | + float tVid2=1.0; |
276 | + float tSel=1.0; | ||
277 | + | ||
278 | + // -- Palier de reset | ||
292 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | 279 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; |
293 | - libcam_sleep(tphiR); | 280 | + bcm2835_gpio_write (PHI_R, LEVEL_HIGH) ; |
281 | + tp_sleep(tphiR); | ||
294 | bcm2835_gpio_write (PHI_R, LEVEL_LOW) ; | 282 | bcm2835_gpio_write (PHI_R, LEVEL_LOW) ; |
295 | - libcam_sleep(tphiR); | ||
296 | - // palier de reference | ||
297 | - libcam_sleep(tRef1); | 283 | + |
284 | + // -- Palier de reference | ||
285 | + tp_sleep(tRef1); | ||
298 | bcm2835_gpio_write (PHI_CL, LEVEL_HIGH) ; | 286 | bcm2835_gpio_write (PHI_CL, LEVEL_HIGH) ; |
299 | - libcam_sleep(tRef2); | 287 | + tp_sleep(tRef2); |
300 | bcm2835_gpio_write (PHI_CL, LEVEL_LOW) ; | 288 | bcm2835_gpio_write (PHI_CL, LEVEL_LOW) ; |
301 | - libcam_sleep(tRef3); | 289 | + tp_sleep(tRef3); |
302 | 290 | ||
303 | - /* boucle de binning horizontal */ | 291 | + // -- Boucle de binning horizontal |
304 | for (l = 0; l < cam->binx; l++) { | 292 | for (l = 0; l < cam->binx; l++) { |
305 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | 293 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; |
306 | - libcam_sleep(tphiPIX); | 294 | + tp_sleep(tphiPIX); |
307 | bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; | 295 | bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; |
308 | - libcam_sleep(tphiPIX); | 296 | + tp_sleep(tphiPIX); |
309 | } | 297 | } |
310 | 298 | ||
311 | - // palier video | ||
312 | - libcam_sleep(tVid1); | 299 | + // -- Palier video |
300 | + tp_sleep(tVid1); | ||
313 | bcm2835_gpio_write (PHI_SC, LEVEL_HIGH) ; | 301 | bcm2835_gpio_write (PHI_SC, LEVEL_HIGH) ; |
302 | + tp_sleep(tVid2); | ||
314 | 303 | ||
315 | - // -- recupere le nibble _ _ _ _ _ _ _ _ _ _ _ _ 3 2 1 0 | 304 | + // -- Recupere le nibble _ _ _ _ _ _ _ _ _ _ _ _ 3 2 1 0 |
316 | // SB = Select Byte <---- SB=1 ----> <---- SB=0 ----> | 305 | // SB = Select Byte <---- SB=1 ----> <---- SB=0 ----> |
317 | // SN = Select Nibble <SN=1 > <SN=0 > <SN=1 > <SN=0 > | 306 | // SN = Select Nibble <SN=1 > <SN=0 > <SN=1 > <SN=0 > |
318 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; | 307 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; |
319 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | 308 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; |
320 | - x = (int)bcm2835_gpio_lev(BIT_0); | ||
321 | - x += (int)bcm2835_gpio_lev(BIT_1) << 1; | ||
322 | - x += (int)bcm2835_gpio_lev(BIT_2) << 2; | ||
323 | - x += (int)bcm2835_gpio_lev(BIT_3) << 3; | 309 | + tp_sleep(tSel); |
310 | + x = (unsigned short)bcm2835_gpio_lev(BIT_0) ; | ||
311 | + x += (unsigned short)bcm2835_gpio_lev(BIT_1) << 1; | ||
312 | + x += (unsigned short)bcm2835_gpio_lev(BIT_2) << 2; | ||
313 | + x += (unsigned short)bcm2835_gpio_lev(BIT_3) << 3; | ||
324 | 314 | ||
325 | - // -- recupere le nibble _ _ _ _ _ _ _ _ 3 2 1 0 _ _ _ _ | 315 | + // -- Recupere le nibble _ _ _ _ _ _ _ _ 3 2 1 0 _ _ _ _ |
326 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; | 316 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; |
327 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; | 317 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; |
328 | - x += (int)bcm2835_gpio_lev(BIT_0) << 4; | ||
329 | - x += (int)bcm2835_gpio_lev(BIT_1) << 5; | ||
330 | - x += (int)bcm2835_gpio_lev(BIT_2) << 6; | ||
331 | - x += (int)bcm2835_gpio_lev(BIT_3) << 7; | 318 | + tp_sleep(tSel); |
319 | + x += (unsigned short)bcm2835_gpio_lev(BIT_0) << 4; | ||
320 | + x += (unsigned short)bcm2835_gpio_lev(BIT_1) << 5; | ||
321 | + x += (unsigned short)bcm2835_gpio_lev(BIT_2) << 6; | ||
322 | + x += (unsigned short)bcm2835_gpio_lev(BIT_3) << 7; | ||
332 | 323 | ||
333 | - // -- recupere le nibble _ _ _ _ 3 2 1 0 _ _ _ _ _ _ _ _ | 324 | + // -- Recupere le nibble _ _ _ _ 3 2 1 0 _ _ _ _ _ _ _ _ |
334 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; | 325 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; |
335 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | 326 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; |
336 | - x += (int)bcm2835_gpio_lev(BIT_0) << 8; | ||
337 | - x += (int)bcm2835_gpio_lev(BIT_1) << 9; | ||
338 | - x += (int)bcm2835_gpio_lev(BIT_2) << 10; | ||
339 | - x += (int)bcm2835_gpio_lev(BIT_3) << 11; | 327 | + tp_sleep(tSel); |
328 | + x += (unsigned short)bcm2835_gpio_lev(BIT_0) << 8; | ||
329 | + x += (unsigned short)bcm2835_gpio_lev(BIT_1) << 9; | ||
330 | + x += (unsigned short)bcm2835_gpio_lev(BIT_2) << 10; | ||
331 | + x += (unsigned short)bcm2835_gpio_lev(BIT_3) << 11; | ||
340 | 332 | ||
341 | - // -- recupere le nibble 3 2 1 0 _ _ _ _ _ _ _ _ _ _ _ _ | 333 | + // -- Recupere le nibble 3 2 1 0 _ _ _ _ _ _ _ _ _ _ _ _ |
342 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; | 334 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; |
343 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; | 335 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; |
344 | - x += (int)bcm2835_gpio_lev(BIT_0) << 12; | ||
345 | - x += (int)bcm2835_gpio_lev(BIT_1) << 13; | ||
346 | - x += (int)bcm2835_gpio_lev(BIT_2) << 14; | ||
347 | - x += (int)bcm2835_gpio_lev(BIT_3) << 15; | 336 | + tp_sleep(tSel); |
337 | + x += (unsigned short)bcm2835_gpio_lev(BIT_0) << 12; | ||
338 | + x += (unsigned short)bcm2835_gpio_lev(BIT_1) << 13; | ||
339 | + x += (unsigned short)bcm2835_gpio_lev(BIT_2) << 14; | ||
340 | + x += (unsigned short)bcm2835_gpio_lev(BIT_3) << 15; | ||
348 | 341 | ||
349 | - // -- remises au niveaux bas | 342 | + // -- Remises aux niveaux bas |
350 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; | 343 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; |
351 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; | 344 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; |
352 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | 345 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; |
353 | 346 | ||
354 | - if (x > 32767) { | ||
355 | - x = 32767; | ||
356 | - } | ||
357 | - /* Stockage dans un buffer dans la meme page mem */ | ||
358 | - buffer[j] = (unsigned short) x; | 347 | + // -- Stockage du pixel dans un buffer de ligne |
348 | + buffer[j] = x; | ||
359 | 349 | ||
360 | } | 350 | } |
361 | 351 | ||
362 | - /* On retire cx2 pixels a la fin */ | 352 | + // -- On retire cx2 photocellules a la fin |
363 | for (j = 0; j < cx2; j++) { | 353 | for (j = 0; j < cx2; j++) { |
364 | tp_read_pel_fast(cam); | 354 | tp_read_pel_fast(cam); |
365 | } | 355 | } |
366 | 356 | ||
367 | - /* On transfere le tableau vers la matrice image */ | 357 | + // -- On transfere le buffer de ligne vers la matrice image |
368 | if (i != 0) { | 358 | if (i != 0) { |
369 | - cam->p[(i - 1) * imax] = buffer[0]; | 359 | + cam->p[(i - 1) * imax] = (float)buffer[0]; |
370 | } | 360 | } |
371 | for (j = 1; j < imax; j++) { | 361 | for (j = 1; j < imax; j++) { |
372 | - cam->p[(i + 1) * imax - j] = buffer[j]; | 362 | + cam->p[(i + 1) * imax - j] = (float)buffer[j]; |
373 | } | 363 | } |
374 | 364 | ||
375 | } | 365 | } |
376 | return 0; | 366 | return 0; |
377 | } | 367 | } |
378 | 368 | ||
379 | -void mc_savefits(struct camprop *cam, char *filename) | 369 | +void tp_savefits(struct camprop *cam, char *filename) |
380 | { | 370 | { |
381 | FILE *f; | 371 | FILE *f; |
382 | char line[1024],car; | 372 | char line[1024],car; |
383 | - float value0; | 373 | + short value0; |
384 | char *cars0; | 374 | char *cars0; |
385 | int k,k0; | 375 | int k,k0; |
386 | long one= 1; | 376 | long one= 1; |
@@ -396,9 +386,9 @@ void mc_savefits(struct camprop *cam, char *filename) | @@ -396,9 +386,9 @@ void mc_savefits(struct camprop *cam, char *filename) | ||
396 | fwrite(line,80,sizeof(char),f); | 386 | fwrite(line,80,sizeof(char),f); |
397 | sprintf(line,"NAXIS2 = %3d / length of data axis 2 ",cam->h); | 387 | sprintf(line,"NAXIS2 = %3d / length of data axis 2 ",cam->h); |
398 | fwrite(line,80,sizeof(char),f); | 388 | fwrite(line,80,sizeof(char),f); |
399 | - strcpy(line,"BZERO = 32768 / uint16 "); | 389 | + strcpy(line,"BZERO = 32768 / uint16 32768 "); |
400 | fwrite(line,80,sizeof(char),f); | 390 | fwrite(line,80,sizeof(char),f); |
401 | - strcpy(line,"BSCALE = 1 / uint16 "); | 391 | + strcpy(line,"BSCALE = 1 / uint16 1 "); |
402 | fwrite(line,80,sizeof(char),f); | 392 | fwrite(line,80,sizeof(char),f); |
403 | k0=9; | 393 | k0=9; |
404 | strcpy(line,"END "); | 394 | strcpy(line,"END "); |
@@ -407,25 +397,24 @@ void mc_savefits(struct camprop *cam, char *filename) | @@ -407,25 +397,24 @@ void mc_savefits(struct camprop *cam, char *filename) | ||
407 | for (k=k0;k<=36;k++) { | 397 | for (k=k0;k<=36;k++) { |
408 | fwrite(line,80,sizeof(char),f); | 398 | fwrite(line,80,sizeof(char),f); |
409 | } | 399 | } |
410 | - /* byte order test */ | 400 | + // -- Byte order test |
411 | if (!(*((char *)(&one)))) { | 401 | if (!(*((char *)(&one)))) { |
412 | big_endian=1; | 402 | big_endian=1; |
413 | } else { | 403 | } else { |
414 | big_endian=0; | 404 | big_endian=0; |
415 | } | 405 | } |
416 | - /* write data */ | 406 | + // -- Write data |
417 | for (k=0;k<cam->h*cam->w;k++) { | 407 | for (k=0;k<cam->h*cam->w;k++) { |
418 | - value0=cam->p[k]; // 32=4*8bits | 408 | + value0 = cam->p[k]-32768; |
419 | if (big_endian==0) { | 409 | if (big_endian==0) { |
420 | cars0=(char*)&value0; | 410 | cars0=(char*)&value0; |
421 | car=cars0[0]; | 411 | car=cars0[0]; |
422 | cars0[0]=cars0[1]; | 412 | cars0[0]=cars0[1]; |
423 | cars0[1]=car; | 413 | cars0[1]=car; |
424 | } | 414 | } |
425 | - fwrite(&value0,1,sizeof(unsigned short),f); | 415 | + fwrite(&value0,1,sizeof(short),f); |
426 | } | 416 | } |
427 | int n= (cam->h*cam->w) % 2880 -1; | 417 | int n= (cam->h*cam->w) % 2880 -1; |
428 | - //printf("big_endian=%d n=%d",big_endian, n); | ||
429 | value0=(float)0.; | 418 | value0=(float)0.; |
430 | for (k=0;k<n;k++) { | 419 | for (k=0;k<n;k++) { |
431 | if (big_endian==0) { | 420 | if (big_endian==0) { |
@@ -434,22 +423,24 @@ void mc_savefits(struct camprop *cam, char *filename) | @@ -434,22 +423,24 @@ void mc_savefits(struct camprop *cam, char *filename) | ||
434 | cars0[0]=cars0[1]; | 423 | cars0[0]=cars0[1]; |
435 | cars0[1]=car; | 424 | cars0[1]=car; |
436 | } | 425 | } |
437 | - fwrite(&value0,1,sizeof(unsigned short),f); | 426 | + fwrite(&value0,1,sizeof(short),f); |
438 | } | 427 | } |
439 | fclose(f); | 428 | fclose(f); |
440 | } | 429 | } |
441 | 430 | ||
431 | +// -- This is the start point of the program | ||
442 | int main(int argc, char* argv[]) | 432 | int main(int argc, char* argv[]) |
443 | { | 433 | { |
444 | 434 | ||
445 | - // decode la ligne de commandes. Exemple : tp_ccd.exe 0.5 1 | 435 | + // -- Decode la ligne de commandes. Exemple : tp_ccd.exe full_frame 0.5 1 |
446 | char method[1024]; | 436 | char method[1024]; |
447 | float exptime = 0.5; | 437 | float exptime = 0.5; |
448 | int binning = 1; | 438 | int binning = 1; |
439 | + strcpy(method,"full_frame"); | ||
449 | if(argc < 3) | 440 | if(argc < 3) |
450 | { | 441 | { |
451 | printf("ERR 1 : Not enough command line parameters\n: method exptime binningn"); | 442 | printf("ERR 1 : Not enough command line parameters\n: method exptime binningn"); |
452 | - //exit(1); | 443 | + return 1; |
453 | } else { | 444 | } else { |
454 | strcpy(method,argv[1]); | 445 | strcpy(method,argv[1]); |
455 | exptime = atof(argv[2]); | 446 | exptime = atof(argv[2]); |
@@ -457,8 +448,8 @@ int main(int argc, char* argv[]) | @@ -457,8 +448,8 @@ int main(int argc, char* argv[]) | ||
457 | } | 448 | } |
458 | printf("ERR 0 : %s %f %d\n", method, exptime, binning); | 449 | printf("ERR 0 : %s %f %d\n", method, exptime, binning); |
459 | 450 | ||
451 | + // -- Initialise la structure des donnees de la camera | ||
460 | struct camprop cam; | 452 | struct camprop cam; |
461 | - // === initialise la structure des donnees de la camera | ||
462 | strcpy(cam.msg,""); | 453 | strcpy(cam.msg,""); |
463 | cam.exptime=exptime; // sec | 454 | cam.exptime=exptime; // sec |
464 | cam.binx=binning; | 455 | cam.binx=binning; |
@@ -477,15 +468,14 @@ int main(int argc, char* argv[]) | @@ -477,15 +468,14 @@ int main(int argc, char* argv[]) | ||
477 | cam.nb_deadbeginphotoy=4; | 468 | cam.nb_deadbeginphotoy=4; |
478 | cam.nb_deadendphotoy=4; | 469 | cam.nb_deadendphotoy=4; |
479 | cam.p=NULL; | 470 | cam.p=NULL; |
480 | - /* --- pour l'amplificateur des Kaf-401 --- */ | ||
481 | - cam.ampliindex=0; | ||
482 | - cam.nbampliclean=0; | ||
483 | - // === initialise le GPIO | 471 | + |
472 | + // -- Initialise le GPIO | ||
484 | if (!bcm2835_init()) { | 473 | if (!bcm2835_init()) { |
485 | printf("Probleme bcm2835_init"); | 474 | printf("Probleme bcm2835_init"); |
486 | return 1; | 475 | return 1; |
487 | } | 476 | } |
488 | - // Set the pin to be an output | 477 | + |
478 | + // -- Set the pin to be an output | ||
489 | bcm2835_gpio_fsel(PHI_V1, BCM2835_GPIO_FSEL_OUTP); | 479 | bcm2835_gpio_fsel(PHI_V1, BCM2835_GPIO_FSEL_OUTP); |
490 | bcm2835_gpio_fsel(PHI_V2, BCM2835_GPIO_FSEL_OUTP); | 480 | bcm2835_gpio_fsel(PHI_V2, BCM2835_GPIO_FSEL_OUTP); |
491 | bcm2835_gpio_fsel(PHI_H1, BCM2835_GPIO_FSEL_OUTP); | 481 | bcm2835_gpio_fsel(PHI_H1, BCM2835_GPIO_FSEL_OUTP); |
@@ -495,12 +485,14 @@ int main(int argc, char* argv[]) | @@ -495,12 +485,14 @@ int main(int argc, char* argv[]) | ||
495 | bcm2835_gpio_fsel(PHI_SC, BCM2835_GPIO_FSEL_OUTP); | 485 | bcm2835_gpio_fsel(PHI_SC, BCM2835_GPIO_FSEL_OUTP); |
496 | bcm2835_gpio_fsel(PHI_SN, BCM2835_GPIO_FSEL_OUTP); | 486 | bcm2835_gpio_fsel(PHI_SN, BCM2835_GPIO_FSEL_OUTP); |
497 | bcm2835_gpio_fsel(DELAY, BCM2835_GPIO_FSEL_OUTP); // special delay us | 487 | bcm2835_gpio_fsel(DELAY, BCM2835_GPIO_FSEL_OUTP); // special delay us |
498 | - // Set the pin to be an input | 488 | + |
489 | + // -- Set the pin to be an input | ||
499 | bcm2835_gpio_fsel(BIT_0, BCM2835_GPIO_FSEL_INPT); | 490 | bcm2835_gpio_fsel(BIT_0, BCM2835_GPIO_FSEL_INPT); |
500 | bcm2835_gpio_fsel(BIT_1, BCM2835_GPIO_FSEL_INPT); | 491 | bcm2835_gpio_fsel(BIT_1, BCM2835_GPIO_FSEL_INPT); |
501 | bcm2835_gpio_fsel(BIT_2, BCM2835_GPIO_FSEL_INPT); | 492 | bcm2835_gpio_fsel(BIT_2, BCM2835_GPIO_FSEL_INPT); |
502 | bcm2835_gpio_fsel(BIT_3, BCM2835_GPIO_FSEL_INPT); | 493 | bcm2835_gpio_fsel(BIT_3, BCM2835_GPIO_FSEL_INPT); |
503 | - // Set default values for outputs | 494 | + |
495 | + // -- Set default values for outputs | ||
504 | bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; | 496 | bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; |
505 | bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; | 497 | bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; |
506 | bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; | 498 | bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; |
@@ -510,14 +502,12 @@ int main(int argc, char* argv[]) | @@ -510,14 +502,12 @@ int main(int argc, char* argv[]) | ||
510 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; | 502 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; |
511 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | 503 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; |
512 | 504 | ||
505 | + // -- Select the method to apply | ||
513 | if (strcmp(method, "full_frame")==0) { | 506 | if (strcmp(method, "full_frame")==0) { |
514 | - printf("=== init OK\n"); | ||
515 | - cmdAudineAcqNormal(&cam); | ||
516 | - printf("=== acq OK\n"); | 507 | + tp_acquisition_fullframe(&cam); |
517 | char filename[1024]; | 508 | char filename[1024]; |
518 | strcpy(filename,"/home/user/Documents/image.fit"); | 509 | strcpy(filename,"/home/user/Documents/image.fit"); |
519 | - mc_savefits(&cam, filename); | ||
520 | - | 510 | + tp_savefits(&cam, filename); |
521 | } else if (strcmp(method, "zi_zh")==0) { | 511 | } else if (strcmp(method, "zi_zh")==0) { |
522 | for (int i = 0; i <1; i++) { | 512 | for (int i = 0; i <1; i++) { |
523 | tp_zi_zh(&cam); | 513 | tp_zi_zh(&cam); |
@@ -551,7 +541,7 @@ int main(int argc, char* argv[]) | @@ -551,7 +541,7 @@ int main(int argc, char* argv[]) | ||
551 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; | 541 | bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; |
552 | bcm2835_gpio_write (PHI_SC, LEVEL_HIGH) ; | 542 | bcm2835_gpio_write (PHI_SC, LEVEL_HIGH) ; |
553 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; | 543 | bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; |
554 | - libcam_sleep(tphiV); | 544 | + tp_sleep(tphiV); |
555 | bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; | 545 | bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; |
556 | bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; | 546 | bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; |
557 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | 547 | bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; |
@@ -560,8 +550,27 @@ int main(int argc, char* argv[]) | @@ -560,8 +550,27 @@ int main(int argc, char* argv[]) | ||
560 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; | 550 | bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; |
561 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; | 551 | bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; |
562 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | 552 | bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; |
563 | - libcam_sleep(tphiHS); | 553 | + tp_sleep(tphiHS); |
564 | } | 554 | } |
555 | + } else if (strcmp(method, "set_255")==0) { | ||
556 | + bcm2835_gpio_write (PHI_V1, LEVEL_HIGH) ; | ||
557 | + bcm2835_gpio_write (PHI_V2, LEVEL_HIGH) ; | ||
558 | + bcm2835_gpio_write (PHI_H1, LEVEL_HIGH) ; | ||
559 | + bcm2835_gpio_write (PHI_R, LEVEL_HIGH) ; | ||
560 | + bcm2835_gpio_write (PHI_CL, LEVEL_HIGH) ; | ||
561 | + bcm2835_gpio_write (PHI_SB, LEVEL_HIGH) ; | ||
562 | + bcm2835_gpio_write (PHI_SC, LEVEL_HIGH) ; | ||
563 | + bcm2835_gpio_write (PHI_SN, LEVEL_HIGH) ; | ||
564 | + tp_sleep(5e6); | ||
565 | + } else if (strcmp(method, "set_0")==0) { | ||
566 | + bcm2835_gpio_write (PHI_V1, LEVEL_LOW) ; | ||
567 | + bcm2835_gpio_write (PHI_V2, LEVEL_LOW) ; | ||
568 | + bcm2835_gpio_write (PHI_H1, LEVEL_LOW) ; | ||
569 | + bcm2835_gpio_write (PHI_R, LEVEL_LOW) ; | ||
570 | + bcm2835_gpio_write (PHI_CL, LEVEL_LOW) ; | ||
571 | + bcm2835_gpio_write (PHI_SB, LEVEL_LOW) ; | ||
572 | + bcm2835_gpio_write (PHI_SC, LEVEL_LOW) ; | ||
573 | + bcm2835_gpio_write (PHI_SN, LEVEL_LOW) ; | ||
565 | } | 574 | } |
566 | printf("=== Termine\n"); | 575 | printf("=== Termine\n"); |
567 | return 0; | 576 | return 0; |
gui/tp_audine_elec/tp_audine_elec.py
@@ -55,7 +55,7 @@ if __name__ == "__main__": | @@ -55,7 +55,7 @@ if __name__ == "__main__": | ||
55 | print(exc) | 55 | print(exc) |
56 | 56 | ||
57 | # --- Global variable to select the method | 57 | # --- Global variable to select the method |
58 | - methods = ["full_frame", "zi_zh", "fast_line", "read_pel_fast", "read_pel_fast2", "fast_vidage", "square_signal"] | 58 | + methods = ["full_frame", "zi_zh", "fast_line", "read_pel_fast", "read_pel_fast2", "fast_vidage"] #, "square_signal", "set_0", "set_255"] |
59 | 59 | ||
60 | # --- Global variable to define info messages | 60 | # --- Global variable to define info messages |
61 | infos = {} | 61 | infos = {} |
@@ -236,7 +236,7 @@ if __name__ == "__main__": | @@ -236,7 +236,7 @@ if __name__ == "__main__": | ||
236 | #entry_method('<<ComboboxSelected>>', var_method) | 236 | #entry_method('<<ComboboxSelected>>', var_method) |
237 | # --- | 237 | # --- |
238 | var_exp = tk.DoubleVar() | 238 | var_exp = tk.DoubleVar() |
239 | - var_exp.set(2.0) | 239 | + var_exp.set(0.0) |
240 | label_exp = tk.Label(frame101m, text="Temps de pose (s)") | 240 | label_exp = tk.Label(frame101m, text="Temps de pose (s)") |
241 | label_exp.pack(side = tk.LEFT) | 241 | label_exp.pack(side = tk.LEFT) |
242 | entry_exp = tk.Entry(frame101m, width=4, textvariable=var_exp) | 242 | entry_exp = tk.Entry(frame101m, width=4, textvariable=var_exp) |