Class: SDN::Message::SetMotorIP
- Inherits:
-
SDN::Message
- Object
- SDN::Message
- SDN::Message::SetMotorIP
- Defined in:
- lib/sdn/messages/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, #reserved, #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, #inspect, parse, readpartial, #serialize
Methods included from Helpers
#checksum, #from_number, #from_string, #is_group_address?, #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.
108 109 110 111 112 113 114 |
# File 'lib/sdn/messages/set.rb', line 108 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.
106 107 108 |
# File 'lib/sdn/messages/set.rb', line 106 def ip @ip end |
#type ⇒ Object
Returns the value of attribute type.
106 107 108 |
# File 'lib/sdn/messages/set.rb', line 106 def type @type end |
#value ⇒ Object
Returns the value of attribute value.
106 107 108 |
# File 'lib/sdn/messages/set.rb', line 106 def value @value end |
Instance Method Details
#params ⇒ Object
139 140 141 |
# File 'lib/sdn/messages/set.rb', line 139 def params transform_param(TYPE[type]) + transform_param(ip || 0) + from_number(value || 0, 2) end |
#parse(params) ⇒ Object
116 117 118 119 120 121 122 123 |
# File 'lib/sdn/messages/set.rb', line 116 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 |