gps_pvt 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -2
- data/Rakefile +9 -4
- data/exe/gps_pvt +4 -4
- data/ext/gps_pvt/Coordinate/Coordinate_wrap.cxx +5 -3
- data/ext/gps_pvt/GPS/GPS_wrap.cxx +4229 -508
- data/ext/gps_pvt/SylphideMath/SylphideMath_wrap.cxx +7 -5
- data/ext/ninja-scan-light/tool/navigation/GPS.h +5 -4
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver.h +62 -15
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver_Base.h +6 -5
- data/ext/ninja-scan-light/tool/navigation/QZSS.h +62 -0
- data/ext/ninja-scan-light/tool/navigation/RINEX.h +571 -113
- data/ext/ninja-scan-light/tool/navigation/SBAS.h +2330 -0
- data/ext/ninja-scan-light/tool/navigation/SBAS_Solver.h +329 -0
- data/ext/ninja-scan-light/tool/swig/GPS.i +197 -65
- data/lib/gps_pvt/receiver.rb +311 -132
- data/lib/gps_pvt/version.rb +1 -1
- metadata +9 -7
- data/gps_pvt.gemspec +0 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b49839b2da332d30293697783114af90a441fe477dfb85e17ac166c381970836
|
4
|
+
data.tar.gz: 4227cc97c2bdd1c5994a598ab1723c9bad86331478f0cc60aaa8435302bc9838
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a81577f725c28dfe949342076d10826eb14238ec791bc58bc8b7797715b5bc6d6b014fd10454e8f2c56a66ac6b6d03965c79f9e94f39ac65b193fa815cd83924
|
7
|
+
data.tar.gz: f7eb1d3c1eb4e4ef61d8ada6b12efe1a0d4a9c167d87fc6d2ee7f829dcddb0f3b3c50c6a47a58b08cce57ca220283e2f73af24fafed27da3bb112e4af71a5efd
|
data/README.md
CHANGED
@@ -72,8 +72,9 @@ receiver.parse_rinex_obs(rinex_obs_file){|pvt, meas| # per epoch
|
|
72
72
|
}
|
73
73
|
|
74
74
|
# Customize solution
|
75
|
-
receiver.solver.
|
76
|
-
receiver.solver.
|
75
|
+
receiver.solver.gps_options.exclude(prn) # Exclude satellite; the default is to use every satellite if visible
|
76
|
+
receiver.solver.gps_options.include(prn) # Discard previous setting of exclusion
|
77
|
+
receiver.solver.gps_options.elevation_mask = Math::PI / 180 * 10 # example 10 [deg] elevation mask
|
77
78
|
receiver.solver.hooks[:relative_property] = proc{|prn, rel_prop, rcv_e, t_arv, usr_pos, usr_vel|
|
78
79
|
# control weight per satellite per iteration
|
79
80
|
weight, range_c, range_r, rate_rel_neg, *los_neg = rel_prop # relative property
|
data/Rakefile
CHANGED
@@ -30,6 +30,8 @@ namespace :git do
|
|
30
30
|
"sparse-checkout set" + (<<-__SPARSE_PATTERNS__).lines.collect{|str| str.chomp.gsub(/^ */, ' ')}.join,
|
31
31
|
/tool/param/
|
32
32
|
/tool/navigation/GPS*
|
33
|
+
/tool/navigation/SBAS*
|
34
|
+
/tool/navigation/QZSS*
|
33
35
|
/tool/navigation/coordinate.h
|
34
36
|
/tool/navigation/EGM.h
|
35
37
|
/tool/navigation/MagneticField.h
|
@@ -69,12 +71,15 @@ task :swig do
|
|
69
71
|
sh [:make, :clean, wrapper,
|
70
72
|
"BUILD_DIR=#{out_dir}",
|
71
73
|
"SWIGFLAGS='-c++ -ruby -prefix \"GPS_PVT::\"#{" -D__MINGW__" if ENV["MSYSTEM"]}'"].join(' ')
|
72
|
-
|
73
|
-
|
74
|
-
|
74
|
+
open(wrapper, 'r+'){|io|
|
75
|
+
lines = io.read.lines.collect{|line|
|
76
|
+
line.sub(/rb_require\(\"([^\"]+)\"\)/){ # from camel to underscore downcase style
|
77
|
+
"rb_require(\"#{$1.sub('GPS_PVT', 'gps_pvt')}\")"
|
78
|
+
}
|
75
79
|
}
|
80
|
+
io.rewind
|
81
|
+
io.write(lines.join)
|
76
82
|
}
|
77
|
-
open(wrapper, 'w').write(lines.join)
|
78
83
|
}
|
79
84
|
}
|
80
85
|
end
|
data/exe/gps_pvt
CHANGED
@@ -11,12 +11,12 @@ File format is automatically determined based on its extention described in abov
|
|
11
11
|
Note: YY = last two digit of year.
|
12
12
|
__STRING__
|
13
13
|
|
14
|
-
options =
|
14
|
+
options = []
|
15
15
|
|
16
16
|
# check options
|
17
17
|
ARGV.reject!{|arg|
|
18
18
|
next false unless arg =~ /^--([^=]+)=?/
|
19
|
-
options[$1.to_sym
|
19
|
+
options << [$1.to_sym, $']
|
20
20
|
true
|
21
21
|
}
|
22
22
|
|
@@ -27,11 +27,11 @@ ARGV.each{|arg|
|
|
27
27
|
|
28
28
|
rcv = GPS_PVT::Receiver::new(options)
|
29
29
|
|
30
|
-
puts
|
30
|
+
puts rcv.header
|
31
31
|
|
32
32
|
# parse RINEX NAV
|
33
33
|
ARGV.reject!{|arg|
|
34
|
-
next false unless arg =~ /\.\d{2}
|
34
|
+
next false unless arg =~ /\.\d{2}[nq]$/
|
35
35
|
rcv.parse_rinex_nav(arg)
|
36
36
|
}
|
37
37
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 4.0.
|
3
|
+
* Version 4.0.2
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -1612,6 +1612,8 @@ SWIGRUNTIMEINLINE char *
|
|
1612
1612
|
SWIG_Ruby_MangleStr(VALUE obj)
|
1613
1613
|
{
|
1614
1614
|
VALUE stype = rb_iv_get(obj, "@__swigtype__");
|
1615
|
+
if (NIL_P(stype))
|
1616
|
+
return NULL;
|
1615
1617
|
return StringValuePtr(stype);
|
1616
1618
|
}
|
1617
1619
|
|
@@ -1872,7 +1874,7 @@ static VALUE mCoordinate;
|
|
1872
1874
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
1873
1875
|
|
1874
1876
|
|
1875
|
-
#define SWIGVERSION
|
1877
|
+
#define SWIGVERSION 0x040002
|
1876
1878
|
#define SWIG_VERSION SWIGVERSION
|
1877
1879
|
|
1878
1880
|
|
@@ -2205,7 +2207,7 @@ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
|
|
2205
2207
|
}
|
2206
2208
|
|
2207
2209
|
|
2208
|
-
/*@SWIG:/usr/share/
|
2210
|
+
/*@SWIG:/usr/local/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2209
2211
|
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE arg)
|
2210
2212
|
{
|
2211
2213
|
VALUE *args = (VALUE *)arg;
|