53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
from openflexure_microscope.camera.pi import StreamingCamera
|
|
from openflexure_stage import OpenFlexureStage
|
|
from openflexure_microscope import Microscope
|
|
|
|
import os
|
|
import io
|
|
import sys
|
|
import time
|
|
import numpy as np
|
|
import uuid
|
|
|
|
from PIL import Image
|
|
|
|
import unittest
|
|
from pprint import pprint
|
|
|
|
import logging, sys
|
|
logging.basicConfig(stream=sys.stderr, level=logging.INFO)
|
|
|
|
|
|
class TestMicroscope(unittest.TestCase):
|
|
|
|
def test_movement(self):
|
|
move_distance = 500
|
|
for axis in range(3):
|
|
for direction in [1, -1]:
|
|
pos_i = stage.position
|
|
logging.debug(pos_i)
|
|
|
|
logging.info("Moving axis {} by {}".format(axis, move_distance*direction))
|
|
move = [0, 0, 0]
|
|
move[axis] = move_distance*direction
|
|
|
|
stage.move_rel(move)
|
|
|
|
pos_f = stage.position
|
|
diff = np.subtract(pos_f, pos_i)
|
|
logging.debug("{} > {}".format(pos_i, pos_f))
|
|
|
|
self.assertTrue(np.array_equal(diff, move))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
with OpenFlexureStage("/dev/ttyUSB0") as stage:
|
|
|
|
suites = [
|
|
unittest.TestLoader().loadTestsFromTestCase(TestMicroscope),
|
|
]
|
|
|
|
alltests = unittest.TestSuite(suites)
|
|
|
|
result = unittest.TextTestRunner(verbosity=2).run(alltests)
|