Пример #1
0
    def test_unpack_location(self):

        location = (self.plate[0], (1, 0, -1))
        res = unpack_location(location)
        self.assertEqual(res, (self.plate[0], (1, 0, -1)))

        res = unpack_location(self.plate[0])
        self.assertEqual(
            res, (self.plate[0], self.plate[0].from_center(x=0, y=0, z=1)))
Пример #2
0
    def test_unpack_location(self):

        location = (self.plate[0], (1, 0, -1))
        res = unpack_location(location)
        self.assertEqual(res, (self.plate[0], (1, 0, -1)))

        res = unpack_location(self.plate[0])
        self.assertEqual(
            res,
            (self.plate[0], self.plate[0].from_center(x=0, y=0, z=1)))
Пример #3
0
    def calibrate(self,
                  calibration_data,
                  location,
                  actual):
        actual = Vector(actual)
        placeable, expected = unpack_location(location)
        coordinates_to_deck = placeable.coordinates(placeable.get_deck())
        expected_to_deck = expected + coordinates_to_deck

        delta = actual - expected_to_deck
        path = placeable.get_path()
        calibration_data = copy.deepcopy(calibration_data)

        current = {'children': calibration_data}
        for i, name in enumerate(path):
            children = current['children']
            if name not in children:
                if i == len(path) - 1:
                    children[name] = {}
                else:
                    children[name] = {'children': {}}
            current = children[name]

        current['delta'] = delta
        self.calibration_data = calibration_data

        self._apply_calibration(calibration_data, self.root_placeable)

        return calibration_data
Пример #4
0
    def calibrate(self, calibration_data, location, actual):
        actual = Vector(actual)
        placeable, expected = unpack_location(location)
        coordinates_to_deck = placeable.coordinates(placeable.get_deck())
        expected_to_deck = expected + coordinates_to_deck

        delta = actual - expected_to_deck
        path = placeable.get_path()
        calibration_data = copy.deepcopy(calibration_data)

        current = {'children': calibration_data}
        for i, name in enumerate(path):
            children = current['children']
            if name not in children:
                if i == len(path) - 1:
                    children[name] = {}
                else:
                    children[name] = {'children': {}}
            current = children[name]

        current['delta'] = delta
        self.calibration_data = calibration_data

        self._apply_calibration(calibration_data, self.root_placeable)

        return calibration_data