definitions.txt
4.49 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
================================================================================
=== INTRODUCTION
================================================================================
definitions.txt = This file
1) First version (V1.0) of config and verification
observatory_v1.yml
schema_observatory-1.0.yml
schema_observatory_verify.py
2) Second version (V2.0) of config and verification
observatory_guitalens.yml
computer_XCY_X26A_snAA478.yml
device_Astromecca_TM350_sn001.yml
device_Raspberry_MiFe_sn004.yml
device_SkyWatcher_L80_snxx1.yml
device_ZWO_ASI1600MM_snxx1.yml
info_observatory.py = script to load the config files and display a summary.
================================================================================
=== DEFINITIONS
================================================================================
Device
Entitée hardware indissociable
Correspond a un matériel inventorié (pas nécessairement installé)
Contient une description et des DComp et décrit leur attributs
Computer
Entitée hardware indissociable
Correspond a un ordinateur inventorié (pas nécessairement installé)
Contient une description et ses attributs
DComp = Device Component
C'est une classe qui décrit un seul type de Component.
Liste des différentes classes de Component:
* Components de type SECURITY:
WeatherStation
BuildingCover
ElectricalManager
MountManager
* Components de type MOUNT:
MountPointing
* Components de type CHANNEL:
OpticImager
FilterSelector
DetectorSensor
DetectorShutter
DetectorTimer
DetectorFocuser
* Components de type MOTOR:
MotorAxis
Chaque DComp hérite d'un simulateur et de méthodes (commandes génériques)
Chaque DComp est associé à une série de devices d'une même marque (Astromecca, SBig, ZWO, etc.)
Chaque DComp est pourvue d'attributs de configuration
Chaque DComp recoit une commande générique et la traduit vers la commande en language natif
Chaque DComp peut inclure d'autres DComp:
ex. 1 MountPointing va inclure 2 MotorAxis
DCrtl = Device Controller
C'est une classe qui contrôle un seul device.
Un DCrtl gère la communication du canal de communication avec le device réel.
Un DCrtl est constitué d'instances de classes de Component (DComp) qui partagent le même channel de communication.
AD = Agent Device
C'est un processus.
Constitué de un seul DCtrl.
Recoit une commande générique et la transmet telle quelle vers le bon DComp.
Observatory
Liste de hardware référencés (devices et computers).
Liste de Units.
Unit
Assemblage de Database + Agents + Topology
Topology
Assemblage de Security + Mount + Channels + Channel_groups
Possibilité de générer un diagramme pour visualiser l'assemblage de la topologie
Appels depuis un agent PyROS
Exemples:
res = config.get_agent(channel = "OpticalChannel-up", component = "DetectorSensor")
res should be 'camera_up'
================================================================================================================================
==========================
schema_observaotry-2.0.yml
--------------------------
schema;schema_DATABASE:
schema;schema_AGENT_DEVICE:
schema;schema_AGENT:
schema;schema_GROUP:
schema;schema_CHANNEL_GROUPS:
GROUPS:
type: seq
sequence:
- include: schema_GROUP
schema;schema_MOUNT:
schema;schema_CHANNEL:
schema;schema_SECURITY:
schema;schema_TOPOLOGY:
SECURITY:
include: schema_SECURITY
MOUNT:
include: schema_MOUNT
CHANNELS:
include: schema_CHANNELS
CHANNEL_GROUPS:
include: schema_CHANNEL_GROUPS
schema;schema_COMPUTER:
schema;schema_AGENTS:
AGENT_DEVICE:
include: schema_AGENT_DEVICE
AGENT:
include: schema_AGENT
schema;schema_COMPUTERS:
COMPUTER:
include: schema_COMPUTER
schema;schema_UNIT:
DATABASE:
include: schema_DATABASE
AGENTS:
include: schema_AGENTS
TOPOLOGY:
include: schema_TOPOLOGY
schema;schema_UNITS:
UNIT:
include: schema_UNIT
schema;schema_CHANNELS:
CHANNEL:
include: schema_CHANNEL
schema;schema_DEVICE:
schema;schema_DEVICES:
DEVICE:
include: schema_DEVICE
schema;schema_OBSERVATORY:
DEVICES:
include: schema_DEVICES
COMPUTERS:
include: schema_COMPUTERS
UNITS:
include: schema_UNITS
OBSERVATORY:
include: schema_OBSERVATORY