Class: BWA::Messages::FilterCycles

Inherits:
BWA::Message show all
Defined in:
lib/bwa/messages/filter_cycles.rb

Constant Summary collapse

MESSAGE_TYPE =
"\xbf\x23".force_encoding(Encoding::ASCII_8BIT)
MESSAGE_LENGTH =
8

Instance Attribute Summary collapse

Attributes inherited from BWA::Message

#raw_data, #src

Instance Method Summary collapse

Methods inherited from BWA::Message

format_duration, format_time, inherited, #initialize, parse, #serialize

Constructor Details

This class inherits a constructor from BWA::Message

Instance Attribute Details

#filter1_duration_hoursObject (readonly)

Returns the value of attribute filter1_duration_hours.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter1_duration_hours
  @filter1_duration_hours
end

#filter1_duration_minutesObject (readonly)

Returns the value of attribute filter1_duration_minutes.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter1_duration_minutes
  @filter1_duration_minutes
end

#filter1_hourObject (readonly)

Returns the value of attribute filter1_hour.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter1_hour
  @filter1_hour
end

#filter1_minuteObject (readonly)

Returns the value of attribute filter1_minute.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter1_minute
  @filter1_minute
end

#filter2_duration_hoursObject (readonly)

Returns the value of attribute filter2_duration_hours.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter2_duration_hours
  @filter2_duration_hours
end

#filter2_duration_minutesObject (readonly)

Returns the value of attribute filter2_duration_minutes.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter2_duration_minutes
  @filter2_duration_minutes
end

#filter2_enabledObject (readonly)

Returns the value of attribute filter2_enabled.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter2_enabled
  @filter2_enabled
end

#filter2_hourObject (readonly)

Returns the value of attribute filter2_hour.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter2_hour
  @filter2_hour
end

#filter2_minuteObject (readonly)

Returns the value of attribute filter2_minute.



4
5
6
# File 'lib/bwa/messages/filter_cycles.rb', line 4

def filter2_minute
  @filter2_minute
end

Instance Method Details

#inspectObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/bwa/messages/filter_cycles.rb', line 25

def inspect
  result = "#<BWA::Messages::FilterCycles "

  result << "filter1 "
  result << self.class.format_duration(filter1_duration_hours, filter1_duration_minutes)
  result << "@"
  result << self.class.format_time(filter1_hour, filter1_minute)

  result << " filter2(#{@filter2_enabled ? 'enabled' : 'disabled'}) "
  result << self.class.format_duration(filter2_duration_hours, filter2_duration_minutes)
  result << "@"
  result << self.class.format_time(filter2_hour, filter2_minute)

  result << ">"
end

#parse(data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/bwa/messages/filter_cycles.rb', line 11

def parse(data)
  @filter1_hour = data[0].ord
  @filter1_minute = data[1].ord
  @filter1_duration_hours = data[2].ord
  @filter1_duration_minutes = data[3].ord

  f2_hour = data[4].ord
  @filter2_enabled = !!(f2_hour & 0x80 == 0x80)
  @filter2_hour = f2_hour & 0x7f
  @filter2_minute = data[5].ord
  @filter2_duration_hours = data[6].ord
  @filter2_duration_minutes = data[7].ord
end