Class: SDN::Message::PostMotorIP
- Inherits:
-
Message
- Object
- Message
- SDN::Message::PostMotorIP
- Defined in:
- lib/sdn/message/post.rb
Overview
Response carrying a stored intermediate position value.
Constant Summary collapse
- MSG =
Protocol message number
0x35- PARAMS_LENGTH =
Number of protocol parameter bytes expected
4
Instance Attribute Summary collapse
-
#ip ⇒ Integer?
Reported intermediate position slot.
- #position_percent ⇒ Integer?
- #position_pulses ⇒ Integer?
Instance Method Summary collapse
-
#initialize(ip = nil, position_pulses = nil, position_percent = nil) ⇒ PostMotorIP
constructor
Creates a motor IP response message.
-
#params ⇒ <Integer>
Returns the protocol-specific payload bytes for this message.
-
#parse(params) ⇒ void
Parses protocol-specific parameter bytes into this message instance.
Constructor Details
#initialize(ip = nil, position_pulses = nil, position_percent = nil) ⇒ PostMotorIP
Creates a motor IP response message.
95 96 97 98 99 100 |
# File 'lib/sdn/message/post.rb', line 95 def initialize(ip = nil, position_pulses = nil, position_percent = nil, **) super(**) self.ip = ip self.position_pulses = position_pulses self.position_percent = position_percent end |
Instance Attribute Details
#ip ⇒ Integer?
Reported intermediate position slot.
82 83 84 |
# File 'lib/sdn/message/post.rb', line 82 def ip @ip end |
#position_percent ⇒ Integer?
88 89 90 |
# File 'lib/sdn/message/post.rb', line 88 def position_percent @position_percent end |
#position_pulses ⇒ Integer?
85 86 87 |
# File 'lib/sdn/message/post.rb', line 85 def position_pulses @position_pulses end |
Instance Method Details
#params ⇒ <Integer>
Returns the protocol-specific payload bytes for this message.
111 112 113 |
# File 'lib/sdn/message/post.rb', line 111 def params from_number(ip) + from_number(position_pulses, 2) + from_number(position_percent) end |
#parse(params) ⇒ void
This method returns an undefined value.
Parses protocol-specific parameter bytes into this message instance.
103 104 105 106 107 108 |
# File 'lib/sdn/message/post.rb', line 103 def parse(params) super self.ip = to_number(params[0]) self.position_pulses = to_number(params[1..2], nillable: true) self.position_percent = to_number(params[3], nillable: true) end |