63
63
CFUNCTYPE
64
64
from ctypes import c_int32 as c_enum
65
65
66
- import warnings
67
-
68
66
from picoscope .picobase import _PicoscopeBase
69
67
70
68
@@ -412,21 +410,7 @@ def getTimeBaseNum(self, sampleTimeS):
412
410
See "Timebases" section of the PS4000a programmer's guide
413
411
for more information.
414
412
"""
415
-
416
- if self .model == '4828' :
417
- # TODO does a model 4828 exist?
418
- maxSampleTime = (((2 ** 32 - 1 ) + 1 ) / 8E7 )
419
-
420
- if sampleTimeS <= 12.5E-9 :
421
- timebase = 0
422
- else :
423
- # Otherwise in range 2^32-1
424
- if sampleTimeS > maxSampleTime :
425
- sampleTimeS = maxSampleTime
426
-
427
- timebase = math .floor ((sampleTimeS * 2e7 ) + 1 )
428
-
429
- elif self .model == '4444' :
413
+ if self .model == '4444' :
430
414
maxSampleTime = (((2 ** 32 - 1 ) - 2 ) / 5.0E7 )
431
415
432
416
if (sampleTimeS <= 2.5E-9 and
@@ -442,49 +426,28 @@ def getTimeBaseNum(self, sampleTimeS):
442
426
443
427
timebase = math .floor ((sampleTimeS * 5.0E7 ) + 2 )
444
428
445
- elif self .model .startswith ('4824' ):
446
- maxSampleTime = (((2 ** 32 - 1 ) + 1 ) / 8E7 )
447
-
448
- if sampleTimeS > maxSampleTime :
449
- sampleTimeS = maxSampleTime
450
- timebase = math .floor (sampleTimeS * 8e7 - 1 )
451
- timebase = max (0 , timebase )
452
-
453
- else : # The original case from non "A" series
454
- warnings .warn ("The model PS4000a you are using may not be "
455
- "fully supported" , stacklevel = 2 )
456
- maxSampleTime = (((2 ** 32 - 1 ) - 4 ) / 2e7 )
457
-
458
- if sampleTimeS <= 12.5E-9 :
459
- timebase = math .floor (math .log (sampleTimeS * 8E7 , 2 ))
460
- timebase = max (timebase , 0 )
461
- else :
462
- # Otherwise in range 2^32-1
463
- if sampleTimeS > maxSampleTime :
464
- sampleTimeS = maxSampleTime
465
-
466
- timebase = math .floor ((sampleTimeS * 2e7 ) + 1 )
429
+ else :
430
+ timebase = math .floor (sampleTimeS / 12.5e-9 - 1 )
431
+ timebase = max (timebase , 0 )
432
+ timebase = min (timebase , 2 ** 32 - 1 )
467
433
468
434
return timebase
469
435
470
436
def getTimestepFromTimebase (self , timebase ):
471
- """Convert `timebase` index to sampletime in seconds."""
472
- if self .model == '4828' or self .model .startswith ('4824' ):
473
- dt = (timebase + 1 ) / 8.0E7
474
- elif self .model == '4444' :
437
+ """
438
+ Convert `timebase` index to sampletime in seconds.
439
+
440
+ See "Timebases" section of the PS4000a programmer's guide
441
+ for more information.
442
+ """
443
+ if self .model == '4444' :
475
444
if timebase <= 3 :
476
445
dt = 2 ** timebase / 4.0E8
477
446
else :
478
447
dt = (timebase - 2 ) / 5.0E7
479
448
480
- else : # The original case from non "A" series
481
- warnings .warn ("The model PS4000a you are using may not be "
482
- "fully supported" , stacklevel = 2 )
483
- if timebase < 3 :
484
- dt = 2. ** timebase / 8e7
485
- else :
486
- dt = (timebase - 1 ) / 2e7
487
- return dt
449
+ else :
450
+ dt = (timebase + 1 ) / 8.0E7
488
451
return dt
489
452
490
453
def _lowLevelSetAWGSimpleDeltaPhase (self , waveform , deltaPhase ,
0 commit comments