Class: BWA::Messages::SetTime

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

Constant Summary collapse

MESSAGE_TYPE =
"\xbf\x21".force_encoding(Encoding::ASCII_8BIT)
MESSAGE_LENGTH =
2

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, parse

Constructor Details

#initialize(hour = nil, minute = nil, twenty_four_hour_time = nil) ⇒ SetTime

Returns a new instance of SetTime.



9
10
11
# File 'lib/bwa/messages/set_time.rb', line 9

def initialize(hour = nil, minute = nil, twenty_four_hour_time = nil)
  self.hour, self.minute, self.twenty_four_hour_time = hour, minute, twenty_four_hour_time
end

Instance Attribute Details

#hourObject

Returns the value of attribute hour.



7
8
9
# File 'lib/bwa/messages/set_time.rb', line 7

def hour
  @hour
end

#minuteObject

Returns the value of attribute minute.



7
8
9
# File 'lib/bwa/messages/set_time.rb', line 7

def minute
  @minute
end

#twenty_four_hour_timeObject

Returns the value of attribute twenty_four_hour_time.



7
8
9
# File 'lib/bwa/messages/set_time.rb', line 7

def twenty_four_hour_time
  @twenty_four_hour_time
end

Instance Method Details

#inspectObject



25
26
27
# File 'lib/bwa/messages/set_time.rb', line 25

def inspect
  "#<BWA::Messages::SetTime #{Status.format_time(hour, minute, twenty_four_hour_time)}>"
end

#parse(data) ⇒ Object



13
14
15
16
17
# File 'lib/bwa/messages/set_time.rb', line 13

def parse(data)
  self.hour = data[0].ord & 0x7f
  self.minute = data[1].ord
  self.twenty_four_hour_time = !!(data[0].ord & 0x80)
end

#serializeObject



19
20
21
22
23
# File 'lib/bwa/messages/set_time.rb', line 19

def serialize
  hour_encoded = hour
  hour_encoded |= 0x80 if twenty_four_hour_time
  super("#{hour_encoded.chr}#{minute.chr}")
end