@@ -127,7 +127,7 @@ def set_refrig(self, value):
127
127
self .client .write_set (** value )
128
128
129
129
@exclusive
130
- def set_loop (self , N , loop_type , param_list = None , ** kwargs ):
130
+ def set_loop (self , identifier , loop_type = 'loop' , param_list = None , ** kwargs ):
131
131
#cannot use the default controllerInterface version.
132
132
lpfuncs = {
133
133
'cascade' :{
@@ -149,6 +149,18 @@ def set_loop(self, N, loop_type, param_list=None, **kwargs):
149
149
}
150
150
if param_list is None :
151
151
param_list = kwargs
152
+ if isinstance (identifier , basestring ):
153
+ my_loop_map = self .loop_map [self .named_loop_map [identifier ]]
154
+ loop_number = my_loop_map ['num' ]
155
+ loop_type = my_loop_map ['type' ]
156
+ elif isinstance (identifier , (int , long )):
157
+ loop_number = identifier
158
+ else :
159
+ raise ValueError (
160
+ 'invalid argument format, call w/: '
161
+ 'set_loop(int(identifier), str(loop_type), **kwargs) or '
162
+ 'get_loop(str(identifier), **kwargs)'
163
+ )
152
164
spt1 = 'setpoint' in param_list
153
165
spt2 = 'setPoint' in param_list
154
166
spt3 = 'setValue' in param_list
@@ -173,9 +185,9 @@ def set_loop(self, N, loop_type, param_list=None, **kwargs):
173
185
params = {'setpoint' :spv , 'enable' :enable }
174
186
if range in param_list :
175
187
params .update (param_list .pop ('range' ))
176
- if self .lpd [N ] == self .temp :
188
+ if self .lpd [loop_number ] == self .temp :
177
189
self .client .write_temp (** params )
178
- elif self .lpd [N ] == self .humi :
190
+ elif self .lpd [loop_number ] == self .humi :
179
191
self .client .write_humi (** params )
180
192
else :
181
193
raise ValueError (self .lp_exmsg )
@@ -188,7 +200,7 @@ def set_loop(self, N, loop_type, param_list=None, **kwargs):
188
200
self .client .write_temp_ptc (** params )
189
201
for key , val in param_list .items ():
190
202
params = {'value' :val }
191
- params .update ({'exclusive' :False , 'N' :N })
203
+ params .update ({'exclusive' :False , 'N' :loop_number })
192
204
try :
193
205
lpfuncs [loop_type ][key ](** params )
194
206
except KeyError :
0 commit comments