Class: XBeeRuby::Address16

Inherits:
Address
  • Object
show all
Defined in:
lib/xbee-ruby/address_16.rb

Constant Summary collapse

BROADCAST =
Address16.new 0xff, 0xfe

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(msb, lsb) ⇒ Address16

Returns a new instance of Address16.



17
18
19
# File 'lib/xbee-ruby/address_16.rb', line 17

def initialize msb, lsb
	@address = [msb, lsb]
end

Class Method Details

.from_a(array) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/xbee-ruby/address_16.rb', line 29

def self.from_a array
	if array.length == 2 && array.all? {|x| (0..255).cover? x }
		self.new *array
	else
		raise ArgumentError, "#{array} is not a valid 16-bit address array"
	end
end

.from_s(string) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/xbee-ruby/address_16.rb', line 21

def self.from_s string
	if matcher = /^(\h\h)[^\h]*(\h\h)$/.match(string)
		self.new *(matcher[1..2].map &:hex)
	else
		raise ArgumentError, "#{string} is not a valid 16-bit address string"
	end
end

Instance Method Details

#==(other) ⇒ Object



45
46
47
# File 'lib/xbee-ruby/address_16.rb', line 45

def == other
	to_a == other.to_a
end

#to_aObject



41
42
43
# File 'lib/xbee-ruby/address_16.rb', line 41

def to_a
	@address
end

#to_sObject



37
38
39
# File 'lib/xbee-ruby/address_16.rb', line 37

def to_s
	'%02x%02x' % @address
end