Class: SDN::Message::ILT2::PostMotorPosition
- Inherits:
-
SDN::Message
- Object
- SDN::Message
- SDN::Message::ILT2::PostMotorPosition
- Defined in:
- lib/sdn/message/ilt2/post.rb
Constant Summary collapse
- MSG =
0x64- PARAMS_LENGTH =
3
Instance Attribute Summary collapse
-
#position_percent ⇒ Object
Returns the value of attribute position_percent.
-
#position_pulses ⇒ Object
Returns the value of attribute position_pulses.
Attributes inherited from SDN::Message
#ack_requested, #dest, #node_type, #src
Instance Method Summary collapse
-
#initialize(position_pulses = nil, position_percent = nil, **kwargs) ⇒ PostMotorPosition
constructor
A new instance of PostMotorPosition.
- #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, #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(position_pulses = nil, position_percent = nil, **kwargs) ⇒ PostMotorPosition
Returns a new instance of PostMotorPosition.
85 86 87 88 89 |
# File 'lib/sdn/message/ilt2/post.rb', line 85 def initialize(position_pulses = nil, position_percent = nil, **kwargs) super(**kwargs) self.position_pulses = position_pulses self.position_percent = position_percent end |
Instance Attribute Details
#position_percent ⇒ Object
Returns the value of attribute position_percent.
83 84 85 |
# File 'lib/sdn/message/ilt2/post.rb', line 83 def position_percent @position_percent end |
#position_pulses ⇒ Object
Returns the value of attribute position_pulses.
83 84 85 |
# File 'lib/sdn/message/ilt2/post.rb', line 83 def position_pulses @position_pulses end |
Instance Method Details
#params ⇒ Object
97 98 99 100 |
# File 'lib/sdn/message/ilt2/post.rb', line 97 def params from_number(position_pulses, 2) + from_number(position_percent && (position_percent * 255 / 100)) end |
#parse(params) ⇒ Object
91 92 93 94 95 |
# File 'lib/sdn/message/ilt2/post.rb', line 91 def parse(params) super self.position_pulses = to_number(params[0..1]) self.position_percent = to_number(params[2]).to_f / 255 * 100 end |