Class: SDN::Message::GetGroupAddr

Inherits:
Message
  • Object
show all
Defined in:
lib/sdn/message/get.rb

Overview

Request for a motor's configured group address at a given slot.

Constant Summary collapse

MSG =

Protocol message number

0x41
PARAMS_LENGTH =

Number of protocol parameter bytes expected

1

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dest = nil, group_index = 1, **kwargs) ⇒ GetGroupAddr

Creates a request for a specific group slot.

Parameters:

  • dest ((Integer, Integer, Integer), nil) (defaults to: nil)

    destination address

  • group_index (Integer) (defaults to: 1)

    group slot to query

  • kwargs (Hash)

    additional message options



24
25
26
27
28
# File 'lib/sdn/message/get.rb', line 24

def initialize(dest = nil, group_index = 1, **kwargs)
  kwargs[:dest] ||= dest
  super(**kwargs)
  self.group_index = group_index
end

Instance Attribute Details

#group_indexInteger

Group index in the range 1..16

Returns:

  • (Integer)


17
18
19
# File 'lib/sdn/message/get.rb', line 17

def group_index
  @group_index
end

Instance Method Details

#params<Integer>

Returns the protocol-specific payload bytes for this message.

Returns:

  • (<Integer>)


43
44
45
# File 'lib/sdn/message/get.rb', line 43

def params
  transform_param(group_index - 1)
end

#parse(params) ⇒ void

This method returns an undefined value.

Parses protocol-specific parameter bytes into this message instance.

Parameters:

  • params (<Integer>)

    raw parameter bytes

Raises:



31
32
33
34
# File 'lib/sdn/message/get.rb', line 31

def parse(params)
  super
  self.group_index = to_number(params[0]) + 1
end