Statistics
| Branch: | Tag: | Revision:

hlrc / client / python / hlrc_client / RobotTimestamp.py @ 82f22e4a

History | View | Annotate | Download (1.659 KB)

1 5628de6c Simon Schulz
"""
2
This file is part of hlrc
3

4
Copyright(c) sschulz <AT> techfak.uni-bielefeld.de
5
http://opensource.cit-ec.de/projects/hlrc
6

7
This file may be licensed under the terms of the
8
GNU General Public License Version 3 (the ``GPL''),
9
or (at your option) any later version.
10

11
Software distributed under the License is distributed
12
on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
13
express or implied. See the GPL for the specific language
14
governing rights and limitations.
15

16
You should have received a copy of the GPL along with this
17
program. If not, go to http://www.gnu.org/licenses/gpl.html
18
or write to the Free Software Foundation, Inc.,
19
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20

21
The development of this software was supported by the
22
Excellence Cluster EXC 277 Cognitive Interaction Technology.
23
The Excellence Cluster EXC 277 is a grant of the Deutsche
24
Forschungsgemeinschaft (DFG) in the context of the German
25
Excellence Initiative.
26
"""
27
import time
28 04cf2b6f Sebastian Meyer zu Borgsen
import sys
29 5628de6c Simon Schulz
30
class RobotTimestamp:
31
    def __init__(self):
32
        seconds = time.time()
33 82f22e4a Sebastian Meyer zu Borgsen
        self.init_from_sec(seconds)
34 5628de6c Simon Schulz
35 82f22e4a Sebastian Meyer zu Borgsen
    @classmethod
36
    def from_sec(cls, _float_sec):
37
        cls.set_to_floatsec(_float_sec)
38 04cf2b6f Sebastian Meyer zu Borgsen
39 5628de6c Simon Schulz
    @classmethod
40
    def from_sec_nsec(cls, _sec, _nsec):
41
        cls.sec  = _sec
42
        cls.nsec = _nsec
43
44 04cf2b6f Sebastian Meyer zu Borgsen
    @classmethod
45
    def from_system_time(cls):
46
        seconds = time.time()
47 82f22e4a Sebastian Meyer zu Borgsen
        cls.init_from_sec(seconds)
48
49
    def init_from_sec(self, seconds):
50
        self.secs  = int(seconds)
51
        self.nsecs = int((seconds - self.secs) * 1000000000)
52 04cf2b6f Sebastian Meyer zu Borgsen
53 5628de6c Simon Schulz
    def to_seconds(self):
54 04cf2b6f Sebastian Meyer zu Borgsen
        return self.secs + ((float(self.nsecs)) / 1000000000)
55 5628de6c Simon Schulz
56
    def __str__(self):
57
        return "%f" % self.to_seconds()