Lomiri
Loading...
Searching...
No Matches
sensors.py
1# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2#
3# Lomiri Autopilot Test Suite
4# Copyright (C) 2015 Canonical Ltd.
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18#
19
20"""Control module for event injection to the fake/test platform sensors."""
21
22from lomiri import process_helpers
23
24
25class FakePlatformSensors:
26
27 def __init__(self, pid=None):
28 self.pid = pid or process_helpers._get_lomiri_pid()
29
30 def set_orientation(self, action):
31 if action == 'top_up':
32 with open("/tmp/sensor-fifo-{0}".format(self.pid), "w") as fifo:
33 fifo.write("70 accel -10.050858 -0.598550 0.756568\n")
34 fifo.write("70 accel -9.797073 -0.555455 1.019930\n")
35 fifo.write("70 accel -10.141838 -0.770933 0.632069\n")
36 fifo.write("70 accel -12.057199 -1.259350 1.690306\n")
37 fifo.write("70 accel -19.282900 -3.926491 3.098097\n")
38 fifo.write("70 accel -14.480132 -14.269443 1.216254\n")
39 fifo.write("70 accel 16.419436 4.242526 -7.714118\n")
40 fifo.write("70 accel 5.583278 8.279149 -1.848324\n")
41 fifo.write("70 accel 1.422156 8.547300 0.416591\n")
42 fifo.write("70 accel 4.357447 9.988609 -0.110133\n")
43 fifo.write("70 accel 0.699107 9.840169 0.756568\n")
44 fifo.write("70 accel 1.364695 9.844957 -0.287304\n")
45 fifo.flush()
46 elif action == 'top_down':
47 with open("/tmp/sensor-fifo-{0}".format(self.pid), "w") as fifo:
48 fifo.write("70 accel -10.050858 -0.598550 0.756568\n")
49 fifo.write("70 accel 9.538500 -0.603339 1.292869\n")
50 fifo.write("70 accel 9.485827 -0.636858 1.422156\n")
51 fifo.write("70 accel 9.677363 -0.402226 1.374272\n")
52 fifo.write("70 accel 9.303867 -0.507571 1.283292\n")
53 fifo.write("70 accel 8.604761 -1.015141 1.436521\n")
54 fifo.write("70 accel 7.580042 -2.001553 0.521936\n")
55 fifo.write("70 accel 7.503428 -4.247314 0.502782\n")
56 fifo.write("70 accel 7.067683 -7.240066 0.842759\n")
57 fifo.write("70 accel 6.488286 -9.873688 -0.541090\n")
58 fifo.write("70 accel 6.229713 -9.241618 -1.048660\n")
59 fifo.write("70 accel 4.046201 -9.198523 -0.057461\n")
60 fifo.write("70 accel 2.398990 -9.629479 0.957681\n")
61 fifo.write("70 accel 1.632846 -9.361329 -0.311246\n")
62 fifo.write("70 accel -0.181959 -9.696517 -0.301669\n")
63 fifo.flush()
64 elif action == 'left_up':
65 with open("/tmp/sensor-fifo-{0}".format(self.pid), "w") as fifo:
66 fifo.write("70 accel -10.050858 -0.598550 0.756568\n")
67 fifo.write("70 accel 0.196325 9.878476 0.948104\n")
68 fifo.write("70 accel 0.258574 9.955091 1.091756\n")
69 fifo.write("70 accel 0.287304 10.041282 1.134852\n")
70 fifo.write("70 accel 1.537078 10.553641 1.561020\n")
71 fifo.write("70 accel 8.130709 10.093954 2.561796\n")
72 fifo.write("70 accel -0.229843 5.348647 1.723825\n")
73 fifo.write("70 accel -9.916783 0.488417 -3.418920\n")
74 fifo.write("70 accel -13.417107 -0.416591 -2.360683\n")
75 fifo.write("70 accel -13.872005 -2.049437 -0.574608\n")
76 fifo.flush()
77 elif action == 'right_up':
78 with open("/tmp/sensor-fifo-{0}".format(self.pid), "w") as fifo:
79 fifo.write("70 accel -10.050858 -0.598550 0.756568\n")
80 fifo.write("70 accel -4.550858 -0.598550 0.856568\n")
81 fifo.write("70 accel -0.799663 9.988609 1.197101\n")
82 fifo.write("70 accel -0.861913 9.864111 1.066701\n")
83 fifo.write("70 accel -0.861913 9.864111 0.866701\n")
84 fifo.write("70 accel -1.776498 9.830592 1.273715\n")
85 fifo.write("70 accel -2.376498 9.830592 1.273715\n")
86 fifo.write("70 accel -13.158532 2.217031 1.091756\n")
87 fifo.write("70 accel 5.056554 1.067814 0.799663\n")
88 fifo.write("70 accel 5.056554 1.767814 0.799663\n")
89 fifo.write("70 accel 14.882358 2.896984 1.221043\n")
90 fifo.write("70 accel 9.466674 -0.363919 -1.029507\n")
91 fifo.write("70 accel 11.253524 -0.186748 -0.311246\n")
92 fifo.write("70 accel 12.253524 -0.186748 -0.311246\n")
93 fifo.flush()