-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpiksi_py3_patch.patch
More file actions
237 lines (213 loc) · 8.63 KB
/
piksi_py3_patch.patch
File metadata and controls
237 lines (213 loc) · 8.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
From 6b7e54cef0d7201ef863bb2dda5c1c588d603e05 Mon Sep 17 00:00:00 2001
From: joshua-ns-jordan <joshua.jordan@aranzgeo.com>
Date: Thu, 22 Jul 2021 16:14:56 +0200
Subject: [PATCH 1/3] Updated package.xml install to include python libraries.
Added leapseconds to bin. Changed imports based on python version.
---
piksi_multi_rtk_ros/CMakeLists.txt | 2 +-
piksi_multi_rtk_ros/bin/leapseconds | 6 ++++++
piksi_multi_rtk_ros/package.xml | 7 ++++++-
.../src/piksi_multi_rtk_ros/__init__.py | 9 +++++++--
.../src/piksi_multi_rtk_ros/piksi_multi.py | 12 +++++++++---
5 files changed, 29 insertions(+), 7 deletions(-)
create mode 100644 piksi_multi_rtk_ros/bin/leapseconds
diff --git a/piksi_multi_rtk_ros/CMakeLists.txt b/piksi_multi_rtk_ros/CMakeLists.txt
index d74db76..cb9f8a3 100644
--- a/piksi_multi_rtk_ros/CMakeLists.txt
+++ b/piksi_multi_rtk_ros/CMakeLists.txt
@@ -42,7 +42,7 @@ catkin_python_setup()
#############
## Install ##
#############
- catkin_install_python(PROGRAMS bin/piksi_multi bin/geodetic_survey
+ catkin_install_python(PROGRAMS bin/piksi_multi bin/geodetic_survey bin/leapseconds
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
diff --git a/piksi_multi_rtk_ros/bin/leapseconds b/piksi_multi_rtk_ros/bin/leapseconds
new file mode 100644
index 0000000..1d9adeb
--- /dev/null
+++ b/piksi_multi_rtk_ros/bin/leapseconds
@@ -0,0 +1,6 @@
+#! /usr/bin/env python
+
+from piksi_multi_rtk_ros import leapseconds
+
+if __name__ == '__main__':
+ leapseconds = leapseconds()
diff --git a/piksi_multi_rtk_ros/package.xml b/piksi_multi_rtk_ros/package.xml
index 05a3ed4..438e25c 100644
--- a/piksi_multi_rtk_ros/package.xml
+++ b/piksi_multi_rtk_ros/package.xml
@@ -21,5 +21,10 @@
<depend>sensor_msgs</depend>
<depend>roslib</depend>
<depend>rospy</depend>
-
+ <depend>pbd</depend>
+ <depend>llvmlite</depend>
+ <depend>numpy-quaternion</depend>
+ <depend>scipy</depend>
+ <depend>pypro</depend>
+ <depend>numba</depend>
</package>
diff --git a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/__init__.py b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/__init__.py
index 90bfcee..6fa7b7c 100644
--- a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/__init__.py
+++ b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/__init__.py
@@ -1,3 +1,8 @@
-from piksi_multi import PiksiMulti
-from geodetic_survey import GeodeticSurvey
+import sys
+if sys.version_info[0] == 2:
+ from piksi_multi import PiksiMulti
+ from geodetic_survey import GeodeticSurvey
+else:
+ from .piksi_multi import PiksiMulti
+ from .geodetic_survey import GeodeticSurvey
diff --git a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
index 6455cb5..c3aab0e 100755
--- a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
+++ b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
@@ -9,9 +9,15 @@
import rospy
import math
-import quaternion
import numpy as np
-import datetime, time, leapseconds
+import quaternion
+import sys
+
+if sys.version_info[0] == 2:
+ import leapseconds
+else:
+ from .leapseconds import leapseconds
+import datetime, time
from collections import deque
import std_srvs.srv
# Import message types
@@ -721,7 +727,7 @@ class PiksiMulti:
rospy.signal_shutdown("Watchdog triggered, was gps disconnected?")
def gps_time_to_utc(self, wn, tow, ns_residual):
- epoch = datetime.datetime(1980,01,06)
+ epoch = datetime.datetime(1980,1,6)
secs, msecs = divmod(tow, 1000)
usec = ns_residual / 1000.0 # TODO(rikba): Handle nanoseconds.
elapsed = datetime.timedelta(seconds=secs, microseconds=usec, milliseconds=msecs, weeks=wn)
--
2.25.1
From 96700ea6941b7012556d57225fa324a69932c095 Mon Sep 17 00:00:00 2001
From: Jonathan <jonathan.schiphorst@ams-institute.org>
Date: Thu, 12 Aug 2021 14:20:34 +0200
Subject: [PATCH 2/3] Using sbp version 3.4.10 now, which works with python3
presumably
---
piksi_multi_rtk_ros/install/install_piksi_multi.sh | 2 +-
.../src/piksi_multi_rtk_ros/UdpHelpers.py | 10 +++++-----
.../src/piksi_multi_rtk_ros/piksi_multi.py | 7 +++++--
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/piksi_multi_rtk_ros/install/install_piksi_multi.sh b/piksi_multi_rtk_ros/install/install_piksi_multi.sh
index a36bbdf..0938dba 100755
--- a/piksi_multi_rtk_ros/install/install_piksi_multi.sh
+++ b/piksi_multi_rtk_ros/install/install_piksi_multi.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-REPO_TAG=v2.6.5 #version you want to checkout before installing
+REPO_TAG=v3.4.10 #version you want to checkout before installing
#---------------- SBP ----------------
echo " "
diff --git a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/UdpHelpers.py b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/UdpHelpers.py
index 9b69eea..296603c 100644
--- a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/UdpHelpers.py
+++ b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/UdpHelpers.py
@@ -37,7 +37,7 @@ class UDPDriver(BaseDriver):
try:
#self.handle.connect((host, port))
self.handle.bind(("", port))
- except socket.error, msg:
+ except socket.error as msg:
pass
super(UDPDriver, self).__init__(self.handle)
self._write_lock = threading.Lock()
@@ -47,11 +47,11 @@ class UDPDriver(BaseDriver):
try:
data, addr = self.handle.recvfrom(4096)
if not data:
- print "PIKSI UDP ERROR - no data from " + str(addr)
+ print("PIKSI UDP ERROR - no data from " + str(addr))
for d in data:
self.buf.append(d)
- except socket.error, msg:
- print "PIKSI UDP ERROR " + str(msg)
+ except socket.error as msg:
+ print("PIKSI UDP ERROR " + str(msg))
res = ''.join([self.buf.popleft() for i in xrange(min(size, len(self.buf)))])
return res
@@ -71,7 +71,7 @@ class UDPDriver(BaseDriver):
try:
self._write_lock.acquire()
self.handle.sendall(s)
- except socket.error, msg:
+ except socket.error as msg:
raise IOError
finally:
self._write_lock.release()
diff --git a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
index c3aab0e..3afcbce 100755
--- a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
+++ b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
@@ -15,8 +15,11 @@ import sys
if sys.version_info[0] == 2:
import leapseconds
+ import UdpHelpers
else:
from .leapseconds import leapseconds
+ from .UdpHelpers import UdpHelpers
+
import datetime, time
from collections import deque
import std_srvs.srv
@@ -54,7 +57,6 @@ from sbp.ext_events import *
# At the moment importing 'sbp.version' module causes ValueError: Cannot find the version number!
# import sbp.version
# networking stuff
-import UdpHelpers
import time
import subprocess
import re
@@ -505,6 +507,7 @@ class PiksiMulti:
ping = subprocess.Popen(command, stdout=subprocess.PIPE)
out, error = ping.communicate()
+ out = str(out)
# Search for 'min/avg/max/mdev' round trip delay time (rtt) numbers.
matcher = re.compile("(\d+.\d+)/(\d+.\d+)/(\d+.\d+)/(\d+.\d+)")
@@ -1459,7 +1462,7 @@ class PiksiMulti:
out, error = pip_show_output.communicate()
# Search for version number, output assumed in the form "Version: X.X.X"
- version_output = re.search("Version: \d+.\d+.\d+", out)
+ version_output = re.search("Version: \d+.\d+.\d+", str(out))
if version_output is None:
# No version found
--
2.25.1
From 2f1fb83ec7f2cb6385bc12212ec4ec3d107e8701 Mon Sep 17 00:00:00 2001
From: Jonathan <jonathan.schiphorst@ams-institute.org>
Date: Thu, 12 Aug 2021 14:39:43 +0200
Subject: [PATCH 3/3] import error fix
---
piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
index 3afcbce..bc9dd98 100755
--- a/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
+++ b/piksi_multi_rtk_ros/src/piksi_multi_rtk_ros/piksi_multi.py
@@ -18,7 +18,7 @@ if sys.version_info[0] == 2:
import UdpHelpers
else:
from .leapseconds import leapseconds
- from .UdpHelpers import UdpHelpers
+ import piksi_multi_rtk_ros.UdpHelpers as UdpHelpers
import datetime, time
from collections import deque
--
2.25.1