Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattriutes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text eol=lf
100 changes: 0 additions & 100 deletions .vscode/.ropeproject/config.py

This file was deleted.

Binary file removed .vscode/.ropeproject/objectdb
Binary file not shown.
107 changes: 0 additions & 107 deletions .vscode/launch.json

This file was deleted.

9 changes: 0 additions & 9 deletions .vscode/settings.json

This file was deleted.

15 changes: 15 additions & 0 deletions chamberconnectlibrary/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
'''
A standardized interface used to interact with process controllers that
Espec North America uses.

:copyright: (C) Espec North America, INC.
:license: MIT, see LICENSE for more details.
'''
from espec import Espec
from especp300 import EspecP300
from especp300extended import EspecP300Extended
from especp300vib import EspecP300Vib
from especscp220 import EspecSCP220
from watlowf4 import WatlowF4
from watlowf4t import WatlowF4T
from controllerinterface import ControllerInterfaceError
42 changes: 40 additions & 2 deletions chamberconnectlibrary/controllerinterface.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
'''
'''
Common interface for all All ChamberConnectLibrary upper level interfaces

:copyright: (C) Espec North America, INC.
Expand Down Expand Up @@ -824,6 +824,37 @@ def set_event(self, N, value):
'''
pass

@abstractmethod
def get_air_speed(self):
'''
Get the state of the programmable air speed

returns:
{"current": int, "constant": int}
'''
pass

@abstractmethod
def get_air_speeds(self):
'''
Get the available air speeds for the programmable air speed.

returns:
[int]
'''
pass

@abstractmethod
def set_air_speed(self, value):
'''
Set value for the chamber air speed

Args:
speed (int): The number of constant output
constant (int): The number of constant speed mode
'''
pass

@abstractmethod
def get_status(self):
'''
Expand Down Expand Up @@ -1044,7 +1075,7 @@ def sample(self, lookup=None, **kwargs):
if tmap['type'] == 'cascade':
items += ['enable_cascade', 'deviation']
lkps = [lkp for lkp in lookup[tmap['type']] if lkp['number'] == tmap['num']]
lpdata = lkps[0].copy() if lookup else {}
lpdata = lkps[0].copy() if lkps else {}
lpdata.update(self.get_loop(tmap['num'], tmap['type'], items, exclusive=False))
ret['loops'].append(lpdata)
if kwargs.get('get_status', True) or kwargs.get('get_program_status', False):
Expand Down Expand Up @@ -1079,6 +1110,13 @@ def sample(self, lookup=None, **kwargs):
ret['refrig'] = self.get_refrig(exclusive=False)
except NotImplementedError:
ret['refrig'] = None
if kwargs.get('get_air_speed', False):
try:
ret['air'] = self.get_air_speed(exclusive=False)
except NotImplementedError:
ret['air'] = None
except ControllerInterfaceError:
ret['air'] = None
return ret

@abstractmethod
Expand Down
15 changes: 14 additions & 1 deletion chamberconnectlibrary/espec.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
'''
'''
Upper level interface for Espec Corp. Controllers (just the P300 for now)

:copyright: (C) Espec North America, INC.
Expand Down Expand Up @@ -33,6 +33,7 @@ class Espec(ControllerInterface):
'''

def __init__(self, **kwargs):
print 'Warning: Espec Class is no longer being maintained as of version 2.3.0; use EspecP300 or EspecSCP220 classes instead.'
self.client, self.loops, self.cascades = None, None, None
self.init_common(**kwargs)
self.freshness = kwargs.get('freshness', 0)
Expand Down Expand Up @@ -482,6 +483,18 @@ def set_event(self, N, value):
raise ValueError('There are only 12 events')
self.client.write_relay([value if i == N else None for i in range(1, 13)])

@exclusive
def get_air_speed(self):
raise NotImplementedError

@exclusive
def get_air_speeds(self):
raise NotImplementedError

@exclusive
def set_air_speed(self, value):
raise NotImplementedError

@exclusive
def get_status(self):
if self.cached(self.client.read_mon)['alarms'] > 0:
Expand Down
Loading