Module: GPSTool::Devices::RBT2300
- Defined in:
- lib/gpstool/devices/rbt-2300.rb,
lib/gpstool/devices/rbt-2300/data-parser.rb,
lib/gpstool/devices/rbt-2300/data-buckets.rb
Defined Under Namespace
Classes: DataBuckets, DataParser, Message
Constant Summary
collapse
- MAX_PACKET_SIZE =
0xF0
Class Method Summary
collapse
Class Method Details
.estimate_packet_count(frame_sz, count) ⇒ Object
95
96
97
|
# File 'lib/gpstool/devices/rbt-2300.rb', line 95
def self.estimate_packet_count(frame_sz, count)
((frame_sz * count).to_f / MAX_PACKET_SIZE).ceil.to_i
end
|
8
9
10
|
# File 'lib/gpstool/devices/rbt-2300/data-parser.rb', line 8
def self.floats_for_format(format)
return 2 + format.to_i
end
|
.frame_size(format) ⇒ Object
12
13
14
15
|
# File 'lib/gpstool/devices/rbt-2300/data-parser.rb', line 12
def self.frame_size(format)
return 4 + (floats_for_format(format) * 4)
end
|
.frames_per_packet(format) ⇒ Object
17
18
19
|
# File 'lib/gpstool/devices/rbt-2300/data-parser.rb', line 17
def self.frames_per_packet(format)
return 240 / frame_size(format)
end
|
.parse_date(log) ⇒ Object
60
61
62
63
64
65
|
# File 'lib/gpstool/devices/rbt-2300.rb', line 60
def self.parse_date(log)
log[:date].match(/([0-9]{4})([0-9]{2})([0-9]{2})/)
date = Date.civil($1.to_i, $2.to_i, $3.to_i)
return date
end
|
.read_log_data(data) ⇒ Object
88
89
90
91
92
93
|
# File 'lib/gpstool/devices/rbt-2300.rb', line 88
def self.read_log_data(data)
= data[0..3].unpack("CCC")
data = data[3..-1]
return , data
end
|
.update_config(update_time, mode) ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/gpstool/devices/rbt-2300.rb', line 67
def self.update_config(update_time, mode)
update_time = update_time.to_i
if update_time < 1 or update_time > 60
raise ArgumentError.new("Update time must be between 1-60 inclusive.")
end
mode = mode.to_i
if mode < 0 || mode > 3
raise ArgumentError.new("Mode must be one of 0, 1, 2.")
end
a = 0
b = update_time.to_i
c = mode
d = 0
return Message.parse("PROY104,#{a},#{b},#{c},#{d}")
end
|