gps_pvt 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/README.md +86 -0
- data/Rakefile +86 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/ext/gps_pvt/Coordinate/Coordinate_wrap.cxx +6613 -0
- data/ext/gps_pvt/GPS/GPS_wrap.cxx +16019 -0
- data/ext/gps_pvt/SylphideMath/SylphideMath_wrap.cxx +21050 -0
- data/ext/gps_pvt/extconf.rb +70 -0
- data/ext/ninja-scan-light/tool/navigation/EGM.h +2971 -0
- data/ext/ninja-scan-light/tool/navigation/GPS.h +2432 -0
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver.h +479 -0
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver_Base.h +1081 -0
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver_MultiFrequency.h +199 -0
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver_RAIM.h +210 -0
- data/ext/ninja-scan-light/tool/navigation/MagneticField.h +928 -0
- data/ext/ninja-scan-light/tool/navigation/NTCM.h +211 -0
- data/ext/ninja-scan-light/tool/navigation/RINEX.h +1781 -0
- data/ext/ninja-scan-light/tool/navigation/WGS84.h +186 -0
- data/ext/ninja-scan-light/tool/navigation/coordinate.h +406 -0
- data/ext/ninja-scan-light/tool/param/bit_array.h +145 -0
- data/ext/ninja-scan-light/tool/param/complex.h +558 -0
- data/ext/ninja-scan-light/tool/param/matrix.h +4049 -0
- data/ext/ninja-scan-light/tool/param/matrix_fixed.h +665 -0
- data/ext/ninja-scan-light/tool/param/matrix_special.h +562 -0
- data/ext/ninja-scan-light/tool/param/quaternion.h +765 -0
- data/ext/ninja-scan-light/tool/param/vector3.h +651 -0
- data/ext/ninja-scan-light/tool/swig/Coordinate.i +177 -0
- data/ext/ninja-scan-light/tool/swig/GPS.i +1102 -0
- data/ext/ninja-scan-light/tool/swig/SylphideMath.i +1234 -0
- data/ext/ninja-scan-light/tool/swig/extconf.rb +5 -0
- data/ext/ninja-scan-light/tool/swig/makefile +53 -0
- data/ext/ninja-scan-light/tool/swig/spec/GPS_spec.rb +417 -0
- data/ext/ninja-scan-light/tool/swig/spec/SylphideMath_spec.rb +489 -0
- data/gps_pvt.gemspec +57 -0
- data/lib/gps_pvt/receiver.rb +375 -0
- data/lib/gps_pvt/ubx.rb +148 -0
- data/lib/gps_pvt/version.rb +5 -0
- data/lib/gps_pvt.rb +9 -0
- data/sig/gps_pvt.rbs +4 -0
- metadata +117 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
ninja_tool_dir = File::absolute_path(File::join(
|
2
|
+
File::dirname(__FILE__), '..', 'ninja-scan-light', 'tool'))
|
3
|
+
|
4
|
+
require "mkmf"
|
5
|
+
cflags = " -Wall -I#{ninja_tool_dir}"
|
6
|
+
$CFLAGS += cflags
|
7
|
+
$CPPFLAGS += cflags if RUBY_VERSION >= "2.0.0"
|
8
|
+
$LOCAL_LIBS += " -lstdc++ "
|
9
|
+
|
10
|
+
IO_TARGETS = [
|
11
|
+
[Kernel, :instance_eval],
|
12
|
+
[(class << File; self; end), :class_eval], # https://github.com/ruby/ruby/commit/19beb028
|
13
|
+
]
|
14
|
+
def IO_TARGETS.mod(&b)
|
15
|
+
self.each{|class_, func| class_.send(func, &b)}
|
16
|
+
end
|
17
|
+
|
18
|
+
IO_TARGETS.mod{
|
19
|
+
alias_method(:open_orig, :open)
|
20
|
+
}
|
21
|
+
|
22
|
+
Dir::glob(File::join(File::dirname(__FILE__), "*/")).each{|dir|
|
23
|
+
mod_name = File::basename(dir)
|
24
|
+
|
25
|
+
dst = File::join(Dir.getwd, mod_name)
|
26
|
+
FileUtils::mkdir_p(dst) if dir != dst
|
27
|
+
|
28
|
+
$stderr.puts "For #{mod_name} ..."
|
29
|
+
|
30
|
+
# @see https://stackoverflow.com/a/35842162/15992898
|
31
|
+
$srcs = Dir::glob(File::join(dir, '*.cxx')).collect{|path|
|
32
|
+
File::join(mod_name, File::basename(path))
|
33
|
+
}
|
34
|
+
$objs = $srcs.collect{|path|
|
35
|
+
path.sub(/\.[^\.]+$/, '.o')
|
36
|
+
}
|
37
|
+
|
38
|
+
IO_TARGETS.mod{
|
39
|
+
# rename Makefile to Makefile.#{mod_name}
|
40
|
+
define_method(:open){|*args, &b|
|
41
|
+
args[0] += ".#{mod_name}" if (args[0] && (args[0] == "Makefile"))
|
42
|
+
open_orig(*args, &b)
|
43
|
+
}
|
44
|
+
}
|
45
|
+
create_makefile("gps_pvt/#{mod_name}")
|
46
|
+
}
|
47
|
+
|
48
|
+
IO_TARGETS.mod{
|
49
|
+
alias_method(:open, :open_orig)
|
50
|
+
}
|
51
|
+
|
52
|
+
# manual generation of top-level Makefile
|
53
|
+
# @see https://yorickpeterse.com/articles/hacking-extconf-rb/
|
54
|
+
open("Makefile", 'w'){|io|
|
55
|
+
# @see https://stackoverflow.com/a/17845120/15992898
|
56
|
+
io.write(<<-__TOPLEVEL_MAKEFILE__)
|
57
|
+
TOPTARGETS := all clean distclean realclean install site-install
|
58
|
+
|
59
|
+
SUBMFS := $(wildcard Makefile.*)
|
60
|
+
|
61
|
+
$(TOPTARGETS): $(SUBMFS)
|
62
|
+
$(SUBMFS):
|
63
|
+
#{"\t"}$(MAKE) -f $@ $(MAKECMDGOALS)
|
64
|
+
|
65
|
+
.PHONY: $(TOPTARGETS) $(SUBMFS)
|
66
|
+
__TOPLEVEL_MAKEFILE__
|
67
|
+
}
|
68
|
+
|
69
|
+
require 'fileutils'
|
70
|
+
FileUtils::touch("gps_pvt.so") # dummy
|