Skip to content

Commit e10de8e

Browse files
committed
Attempt to fix #109
1 parent 2d3b3e2 commit e10de8e

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

spectro.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,10 @@ def _getDeviceList(self):
535535

536536
for i, dev in enumerate(AvsDevList):
537537

538+
logger_ASH.debug(
539+
"Connecting with {}".format(dev.m_aUserFriendlyId)
540+
)
541+
538542
# As defined above, AvsDevList is an array of c_AvsIdentityType
539543
# thus we initialize each AvaSpec.
540544
# Some tests showed that DLL may be "lazy".
@@ -543,11 +547,29 @@ def _getDeviceList(self):
543547
# Further tests are needed to determine if this event happens for
544548
# every AvaSpec or only for Double-Channel ones.
545549

546-
if i != 0: # We patch beforehand identified problem.
547-
begin = AvsDevList[0].m_aSerialId[:-4]
550+
# We patch beforehand identified problem.
551+
if i != 0 and len(dev.m_aSerialId) != 9:
552+
553+
logger_ASH.debug(
554+
"Wrong ID detected : {}".format(dev.m_aSerialId)
555+
)
556+
begin = AvsDevList[i-1].m_aSerialId[:-4]
548557
dev.m_aSerialId = begin + dev.m_aSerialId
549558
dev.m_aUserFriendlyId = begin + dev.m_aUserFriendlyId
550-
avs_handle = AVS_DLL.AVS_Activate(ctypes.byref(dev))
559+
560+
logger_ASH.debug(
561+
"Attempted to fix it : {}".format(dev.m_aSerialId)
562+
)
563+
564+
avs_handle = AVS_DLL.AVS_Activate(ctypes.byref(dev))
565+
else:
566+
avs_handle = AVS_DLL.AVS_Activate(ctypes.byref(dev))
567+
568+
logger_ASH.debug(
569+
"Connected with {} with handle {}".format(
570+
dev.m_aUserFriendlyId, avs_handle
571+
)
572+
)
551573
devDict[avs_handle] = \
552574
(bytes.decode(dev.m_aUserFriendlyId), Callback_Measurment())
553575
AVS_DLL.AVS_SetSyncMode(avs_handle, 0)
@@ -937,7 +959,7 @@ def getInterpolated(self, startingLamb=None, endingLamb=None,
937959
# an error.
938960
if startingLamb < self.lambdas[0] or endingLamb > self.lambdas[-1]\
939961
or startingLamb > endingLamb or polDegree >= windowSize:
940-
962+
941963
startingLamb = self.lambdas[0]
942964
endingLamb = self.lambdas[-1]
943965
nrPoints = len(self.lambdas)

0 commit comments

Comments
 (0)