Class: SDN::Message::SetMotorIP
- Inherits:
-
SDN::Message
- Object
- SDN::Message
- SDN::Message::SetMotorIP
- Defined in:
- lib/sdn/message/set.rb
Constant Summary collapse
- MSG =
0x15
- PARAMS_LENGTH =
4
- TYPE =
for distribute, value is how many IPs to distribute over
{ delete: 0x00, current_position: 0x01, position_pulses: 0x02, position_percent: 0x03, distribute: 0x04 }.freeze
Instance Attribute Summary collapse
-
#ip ⇒ Object
Returns the value of attribute ip.
-
#type ⇒ Object
Returns the value of attribute type.
-
#value ⇒ Object
Returns the value of attribute value.
Attributes inherited from SDN::Message
#ack_requested, #dest, #node_type, #src
Instance Method Summary collapse
-
#initialize(dest = nil, type = :delete, ip = nil, value = nil, **kwargs) ⇒ SetMotorIP
constructor
A new instance of SetMotorIP.
- #params ⇒ Object
- #parse(params) ⇒ Object
Methods inherited from SDN::Message
#==, #class_inspect, expected_response?, inherited, #inspect, parse, #serialize
Methods included from Helpers
#checksum, #from_number, #from_string, #is_group_address?, #node_type_from_number, #node_type_to_number, #node_type_to_string, #parse_address, #print_address, #to_number, #to_string, #transform_param
Constructor Details
#initialize(dest = nil, type = :delete, ip = nil, value = nil, **kwargs) ⇒ SetMotorIP
Returns a new instance of SetMotorIP.
104 105 106 107 108 109 110 |
# File 'lib/sdn/message/set.rb', line 104 def initialize(dest = nil, type = :delete, ip = nil, value = nil, **kwargs) kwargs[:dest] ||= dest super(**kwargs) self.type = type self.ip = ip self.value = value end |
Instance Attribute Details
#ip ⇒ Object
Returns the value of attribute ip.
102 103 104 |
# File 'lib/sdn/message/set.rb', line 102 def ip @ip end |
#type ⇒ Object
Returns the value of attribute type.
102 103 104 |
# File 'lib/sdn/message/set.rb', line 102 def type @type end |
#value ⇒ Object
Returns the value of attribute value.
102 103 104 |
# File 'lib/sdn/message/set.rb', line 102 def value @value end |
Instance Method Details
#params ⇒ Object
135 136 137 |
# File 'lib/sdn/message/set.rb', line 135 def params transform_param(TYPE[type]) + transform_param(ip || 0) + from_number(value || 0, 2) end |
#parse(params) ⇒ Object
112 113 114 115 116 117 118 119 |
# File 'lib/sdn/message/set.rb', line 112 def parse(params) super self.type = TYPE.invert[to_number(params[0])] ip = to_number(params[1]) ip = nil if ip == 0 self.ip = ip self.value = to_number(params[2..3]) end |