observatory_tnc.yml
28.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# Schema file to check the syntax of this config file
schema: schema_observatory-2.0.yml
# Here is the description of the configuration of an observatory
OBSERVATORY:
name: TNC
INVENTORY:
# === Inventory of available devices
# A device is a hardware with a maximum of one connection to drive it with a computer.
# As a device can be shared with various units, it is defined at the observatory level.
DEVICES:
# Each device is defined by a specific configuration file that enumarates the components.
- DEVICE:
name: AstroMecCA_TM350
file: device_Astromecca_TM350_sn011.yml
- DEVICE:
name: TAROT_meteo
file: device_Raspberry_TAROT_sn002.yml
# Describe here the configuration of the device in operation
network_interface_index: 0
network_ip: 192.168.0.20
- DEVICE:
name: AstroMecaCA_CS100 # roof of the observatory
file: device_Astromecca_CS100_sn001.yml
# Describe here the configuration of the device in operation
network_interface_index: 0
network_ip: 192.168.0.21
- DEVICE:
name: Takahashi_Epsilon_180ED_001
file: device_Takahashi_180ED_sn001.yml
- DEVICE:
name: Takahashi_Epsilon_180ED_002
file: device_Takahashi_180ED_sn002.yml
- DEVICE:
name: Takahashi_Epsilon_180ED_003
file: device_Takahashi_180ED_sn003.yml
- DEVICE:
name: Takahashi_Epsilon_180ED_004
file: device_Takahashi_180ED_sn004.yml
- DEVICE:
name: FLI_Kepler4040_001
file: device_FLI_Kepler4040_sn28212x1.yml
- DEVICE:
name: FLI_Kepler4040_002
file: device_FLI_Kepler4040_sn28212x2.yml
- DEVICE:
name: FLI_Kepler4040_003
file: device_FLI_Kepler4040_sn28212x3.yml
- DEVICE:
name: FLI_Kepler4040_004
file: device_FLI_Kepler4040_sn28212x4.yml
- DEVICE:
name: FLI_KeplerGPS_001
file: device_FLI_KITS_sn2x1.yml
- DEVICE:
name: FLI_KeplerGPS_002
file: device_FLI_KITS_sn2x2.yml
- DEVICE:
name: FLI_KeplerGPS_003
file: device_FLI_KITS_sn2x3.yml
- DEVICE:
name: FLI_KeplerGPS_004
file: device_FLI_KITS_sn2x4.yml
- DEVICE:
name: Optec_TFC19740_001
file: device_Optec_TFC19740_sn001.yml
- DEVICE:
name: Optec_TFC19740_002
file: device_Optec_TFC19740_sn002.yml
- DEVICE:
name: Optec_TFC19740_003
file: device_Optec_TFC19740_sn003.yml
- DEVICE:
name: Optec_TFC19740_004
file: device_Optec_TFC19740_sn004.yml
# === Inventory of available computers
# A computer is a hardware of a virtual machine.
# As a computer can be shared with various units, it is defined at the observatory level.
COMPUTERS:
- COMPUTER:
name: MainComputer
file: computer_XCY_X26A_snAA478.yml
# Describe here the configuration of the computer in operation
role: Main
# Choice of the interface to connect the computer to the network (cf. _network_interfaces in _file)
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.0.11
- COMPUTER:
name: AKlotzPersoComputer
file: computer_Dell_Precision5550_snLW2134IRC3.yml
# Describe here the configuration of the computer in operation
role: Main
# Choice of the interface to connect the computer to the network (cf. _network_interfaces in _file)
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.1.7
- COMPUTER:
name: AKoralewskiPersoComputer
file: computer_HP_EliteBook840_snKoralevski.yml
# Describe here the configuration of the computer in operation
role: Main
# Choice of the interface to connect the computer to the network (cf. _network_interfaces in _file)
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.1.7
- COMPUTER:
name: EtienneComputer
file: computer_XYZ_EP.yml
# Describe here the configuration of the computer in operation
role: Main
# Choice of the interface to connect the computer to the network (cf.network_interfaces infile)
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.0.11
- COMPUTER:
name: IRAP_SERVER
file: computer_hyperion2.yml
# Describe here the configuration of the computer in operation
role: Main
# Choice of the interface to connect the computer to the network (cf.network_interfaces infile)
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.0.12
- COMPUTER:
name: astroguitaComputer
file: computer_astroguita.yml
role: Main
network_interface_index: 0
# IP attributed by the Router
network_ip: 192.168.0.13
# === Assembly of devices into units
# A unit is a robotic telescope
UNITS:
- UNIT:
name: TNC
home: "GPS 2.0375 E 43.6443484725 136.9"
horizon:
type: ALTAZ
line: [ [0,0], [360,0] ]
DATABASE:
computer: MainComputer
file: .database.env
DEPENDENCIES:
- DEPENDENCY:
computers:
- MainComputer
- AKlotzPersoComputer
- AKoralewskiPersoComputer
- EtienneComputer
links:
- link:
type: git
name: guitastro_mount_astromecca
url: https://gitlab.irap.omp.eu/guitastrolib/guitastro_mount_astromecca
install:
shell: /bin/sh
script: "guitastro/install/install.sh"
- link:
type: git
name: guitastro_camera_indi
url: https://gitlab.irap.omp.eu/guitastrolib/guitastro_camera_indi
install:
shell: /bin/sh
script: "guitastro/install/install.sh"
AGENTS:
# ============================================
- AGENT_DEVICE:
name: AgentM
computer: MainComputer
path: private/plugin/agent_devices
device: TAROT_meteo
protocol: private/plugin/agent_devices/AgentM.py
is_real: False
# - AGENT_DEVICE:
# name: AgentScheduler
# computer: MainComputer
# path: private/plugin/agent_devices
# device: TAROT_meteo
# protocol: private/plugin/agent_devices/plc_protocol.py
# is_real: False
- AGENT_DEVICE:
name: mount
computer: MainComputer
path: private/plugin/agent_devices
device: AstroMecCA_TM350
protocol: private/plugin/agent_devices/mount_protocol.py
is_real: False
- AGENT:
name: plc
computer: MainComputer
path: private/plugin/agent_devices
# ============================================
- AGENT_DEVICE:
name: optic_up1
computer: MainComputer
path: ~
device: Takahashi_Epsilon_180ED_001
is_real: False
- AGENT_DEVICE:
name: focuser_up1
computer: MainComputer
path: private/plugin/agent_devices
device: Optec_TFC19740_001
is_real: False
- AGENT_DEVICE:
name: camera_up1
computer: MainComputer
path: private/plugin/agent_devices
device: FLI_Kepler4040_001
protocol: private/plugin/agent_devices/camera_protocol.py
is_real: False
# ============================================
- AGENT_DEVICE:
name: optic_up2
computer: MainComputer
path: ~
device: Takahashi_Epsilon_180ED_002
is_real: False
- AGENT_DEVICE:
name: focuser_up2
computer: MainComputer
path: private/plugin/agent_devices
device: Optec_TFC19740_002
is_real: False
- AGENT_DEVICE:
name: camera_up2
computer: MainComputer
path: private/plugin/agent_devices
device: FLI_Kepler4040_002
protocol: private/plugin/agent_devices/camera_protocol.py
is_real: False
# ============================================
- AGENT_DEVICE:
name: optic_down1
computer: MainComputer
path: ~
device: Takahashi_Epsilon_180ED_003
is_real: False
- AGENT_DEVICE:
name: focuser_down1
computer: MainComputer
path: private/plugin/agent_devices
device: Optec_TFC19740_003
is_real: False
- AGENT_DEVICE:
name: camera_down1
computer: MainComputer
path: private/plugin/agent_devices
device: FLI_Kepler4040_003
protocol: private/plugin/agent_devices/camera_protocol.py
is_real: False
# ============================================
- AGENT_DEVICE:
name: optic_down2
computer: MainComputer
path: ~
device: Takahashi_Epsilon_180ED_004
is_real: False
- AGENT_DEVICE:
name: focuser_down2
computer: MainComputer
path: private/plugin/agent_devices
device: Optec_TFC19740_004
is_real: False
- AGENT_DEVICE:
name: camera_down2
computer: MainComputer
path: private/plugin/agent_devices
device: FLI_Kepler4040_004
protocol: private/plugin/agent_devices/camera_protocol.py
is_real: False
# ============================================
- AGENT:
name: AgentMajordome
computer: MainComputer
path: ~
- AGENT:
name: AgentSP
computer: MainComputer
protocol: private/plugin/agent/AgentSP.py
# SF07-PLN (for AKz)
- AGENT:
name: AgentScheduler
computer: MainComputer
protocol: private/plugin/agent/AgentScheduler.py
# SF10-CAL (for AKz)
- AGENT:
name: AgentImagesCalibrator
computer: MainComputer
# SF11-IPC (for AKz)
- AGENT:
name: AgentImagesProcessor
computer: MainComputer
# SF11-IPC (for AKz)
- AGENT:
name: AgentImagesProcessor_tnc_up1_akz
computer: AKlotzPersoComputer
protocol: privatedev/plugin/agent/AgentImagesProcessor_tnc_up1.py
- AGENT:
name: AgentImagesProcessor_tnc_up1_ako
computer: AKoralewskiPersoComputer
protocol: privatedev/plugin/agent/AgentImagesProcessor_tnc_up1.py
- AGENT:
name: AgentTriton
computer: AKoralewskiPersoComputer
protocol: private/plugin/agent/AgentTriton.py
path: private/plugin/agent/triton
- AGENT:
name: AgentTriton_akz
computer: AKlotzPersoComputer
protocol: private/plugin/agent/AgentTriton.py
path: private/plugin/agent/triton
# AgentSST no protocol so AgentSST doesn't start himself
- AGENT:
name: AgentSST1
computer: AKoralewskiPersoComputer
- AGENT:
name: AgentSST4
computer: astroguitaComputer
- AGENT:
name: AgentSST2
computer: AKlotzPersoComputer
# Agents EP
- AGENT:
name: AgentImagesProcessor_tnc_up1_ep
computer: EtienneComputer
protocol: privatedev/plugin/agent/AgentImagesProcessor_tnc_up1.py
is_active: True
- AGENT:
name: AgentSST3
computer: EtienneComputer
is_active: True
- AGENT:
name: AgentTriton_ep
computer: EtienneComputer
protocol: private/plugin/agent/AgentTriton.py
path: private/plugin/agent/triton
is_active: True
# Basic Agent (for EP, to test the Agent base class)
- AGENT:
name: AgentBasic
computer: EtienneComputer
protocol: private/plugin/agent/AgentBasic.py
# Agents IRAP SERVER
- AGENT:
name: AgentSST_irap
computer: IRAP_SERVER
- AGENT:
name: AgentImagesProcessor_tnc_up1_irap
computer: IRAP_SERVER
protocol: privatedev/plugin/agent/AgentImagesProcessor_tnc_up1.py
is_active: False
- AGENT:
name: AgentTriton_irap
computer: IRAP_SERVER
protocol: private/plugin/agent/AgentTriton.py
path: private/plugin/agent/triton
is_active: False
- AGENT_DEVICE:
name: AgentM_irap
computer: IRAP_SERVER
protocol: private/plugin/agent/AgentM.py
path: private/plugin/agent_devices
device: TAROT_meteo
is_real: False
is_active: True
# Basic Agent (for EP, to test the Agent base class)
- AGENT:
name: AgentBasic_irap
computer: IRAP_SERVER
protocol: private/plugin/agent/AgentBasic.py
is_active: True
TOPOLOGY:
SECURITY:
name: PLC
COMPONENT_AGENTS:
- WeatherStation: plc
- BuildingCover: plc
MOUNT:
name: TM350
COMPONENT_AGENTS:
- MountPointing: mount
CHANNELS:
- CHANNEL:
name: OpticalChannel_up1
COMPONENT_AGENTS:
- OpticImager: optic_up1
- DetectorFocuser: focuser_up1
- DetectorSensor: camera_up1
- DetectorShutter: camera_up1
- DetectorTimer: camera_up1
- CHANNEL:
name: OpticalChannel_up2
COMPONENT_AGENTS:
- OpticImager: optic_up2
- DetectorFocuser: focuser_up2
- DetectorSensor: camera_up2
- DetectorShutter: camera_up2
- DetectorTimer: camera_up2
- CHANNEL:
name: OpticalChannel_down1
COMPONENT_AGENTS:
- OpticImager: optic_down1
- DetectorFocuser: focuser_down1
- DetectorSensor: camera_down1
- DetectorShutter: camera_down1
- DetectorTimer: camera_down1
- CHANNEL:
name: OpticalChannel_down2
COMPONENT_AGENTS:
- OpticImager: optic_down2
- DetectorFocuser: focuser_down2
- DetectorSensor: camera_down2
- DetectorShutter: camera_down2
- DetectorTimer: camera_down2
ALBUMS:
- ALBUM :
name: Altogether
description: All channels
CHANNELS:
- OpticalChannel_down2
- OpticalChannel_down1
- OpticalChannel_up2
- OpticalChannel_up1
- ALBUM :
name: TwoDown
description: Two channel of the down side
CHANNELS:
- OpticalChannel_down2
- OpticalChannel_down1
- ALBUM :
name: TwoUp
description: Two channel of the up side
CHANNELS:
- OpticalChannel_up2
- OpticalChannel_up1
- ALBUM :
name: Three
description: Two channel of the down side and one up side (2nd up)
CHANNELS:
- OpticalChannel_down2
- OpticalChannel_down1
- OpticalChannel_up2
- ALBUM :
name: One
description: One up channel (first)
CHANNELS:
- OpticalChannel_up1
LAYOUTS:
- LAYOUT:
name: AlTogether
description: All 4 cameras working altogether in sync
ALBUMS:
- AlTogether
- LAYOUT:
name: TwoTwo
description: Two groups (TwoUp & TwoDown) with 2 cameras each
ALBUMS:
- TwoDown
- TwoUp
- LAYOUT:
name: ThreeOne
description: Two groups, one with 3 cameras ("Three") and one with 1 camera ("One")
ALBUMS:
- Three
- One
IMAGE_CALIBRATIONS:
SERIES:
- SERIE:
when: dawn
category: BI
name: bias1
mount: TM350
target: "HADEC 12h 0d"
CHANNELS:
- CHANNEL:
name: OpticalChannel_up1
filter: None
shutter: closed
nb_images: 5
exptime: 0
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_up2
filter: None
shutter: closed
nb_images: 5
exptime: 0
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down1
filter: None
shutter: closed
nb_images: 5
exptime: 0
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down2
filter: None
shutter: closed
nb_images: 5
exptime: 0
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- SERIE:
when: dawn
category: DA
name: dark100s
mount: TM350
target: "HADEC 12h 0d"
CHANNELS:
- CHANNEL:
name: OpticalChannel_up1
filter: None
shutter: closed
nb_images: 5
exptime: 100
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_up2
filter: None
shutter: closed
nb_images: 5
exptime: 100
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down1
filter: None
shutter: closed
nb_images: 5
exptime: 100
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down2
filter: None
shutter: closed
nb_images: 5
exptime: 100
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- SERIE:
when: dawn
category: DA
name: dark10s
mount: TM350
target: "HADEC 12h 0d"
CHANNELS:
- CHANNEL:
name: OpticalChannel_up1
filter: None
shutter: closed
nb_images: 5
exptime: 10
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_up2
filter: None
shutter: closed
nb_images: 5
exptime: 10
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down1
filter: None
shutter: closed
nb_images: 5
exptime: 10
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- CHANNEL:
name: OpticalChannel_down2
filter: None
shutter: closed
nb_images: 5
exptime: 10
binning: (1,1)
valid_level_mean_minmax: (10, 5000)
- SERIE:
when: dawn
category: FL
name: flat
mount: TM350
target: "HADEC 12h 0d"
CHANNELS:
- CHANNEL:
name: OpticalChannel_up1
filter: None
shutter: opened
nb_images: 5
exptime: 1
binning: (1,1)
valid_level_mean_minmax: (8000, 50000)
- CHANNEL:
name: OpticalChannel_up2
filter: None
shutter: opened
nb_images: 5
exptime: 1
binning: (1,1)
valid_level_mean_minmax: (8000, 50000)
- CHANNEL:
name: OpticalChannel_down1
filter: None
shutter: opened
nb_images: 5
exptime: 1
binning: (1,1)
valid_level_mean_minmax: (8000, 50000)
- CHANNEL:
name: OpticalChannel_down2
filter: None
shutter: opened
nb_images: 5
exptime: 1
binning: (1,1)
valid_level_mean_minmax: (8000, 50000)