1import logging; logger = logging.getLogger("morse." + __name__)
2from morse.core.services import service, async_service, interruptible
3from morse.core.overlay import MorseOverlay
4from morse.core import status
5from morse.middleware.pocolibs_datastream import DummyPoster
6
7class ViamModule(MorseOverlay):
8    def __init__(self, overlaid_object):
9        # Call the constructor of the parent class
10        MorseOverlay.__init__(self, overlaid_object)
11        self._cntrl = DummyPoster("viamCntrl")
12
13    def Acquire_cb(self, answer):
14        status, res = answer
15        return status, [ self._bench, self._n]
16
17    @service
18    def Init(self, *args):
19        pass
20
21    @service
22    def Configure(self, *args):
23        pass
24
25    @service
26    def Reset(self, *args):
27        pass
28
29    @service
30    def DriverLoad(self, *args):
31        pass
32
33    @service
34    def BusPrint(self, *args):
35        pass
36
37    @service
38    def BankCreate(self, *args):
39        pass
40
41    @service
42    def CameraCreate(self, *args):
43        pass
44
45    @service
46    def BankAddCamera(self, *args):
47        pass
48
49    @service
50    def PushFormatFilter(self, *args):
51        pass
52
53    @service
54    def UpdateFormatFilter(self, *args):
55        pass
56
57    @service
58    def PushGeoFilter(self, *args):
59        pass
60
61    @service
62    def UpdateGeoFilter(self, *args):
63        pass
64
65    @service
66    def PushLumFilter(self, *args):
67        pass
68
69    @service
70    def UpdateLumFilter(self, *args):
71        pass
72
73    @service
74    def PushColorFilter(self, *args):
75        pass
76
77    @service
78    def UpdateColorFilter(self, *args):
79        pass
80
81    @service
82    def PushImProcFilter(self, *args):
83        pass
84
85    @service
86    def UpdateImProcFilter(self, *args):
87        pass
88
89    @service
90    def PushMiscFilter(self, *args):
91        pass
92
93    @service
94    def UpdateMiscFilter(self, *args):
95        pass
96
97    @service
98    def FilterList(self, *args):
99        pass
100
101    @service
102    def FilterGetCap(self, *args):
103        pass
104
105    @service
106    def CameraListHWModes(self, *args):
107        pass
108
109    @service
110    def CameraSetHWMode(self, *args):
111        pass
112
113    @service
114    def Display(self, *args):
115        pass
116
117    @service
118    def Calibrate(self, *args):
119        pass
120
121    @service
122    def CalibrationIO(self, *args):
123        pass
124
125    @service
126    def Save(self, *args):
127        pass
128
129
130    @interruptible
131    @async_service
132    def Acquire(self, bench, n):
133        n = int(n)
134        self._n = n
135        self._bench = bench
136        if n == 0:
137            n = -1
138        self.overlaid_object.capture(self.chain_callback(self.Acquire_cb), n)
139
140    @async_service
141    def Stop(self, bench):
142        self.completed(status.SUCCESS)
143
144    def name(self):
145        return "viam"
146
147