Class: McProtocolE::Frame3e::AccessRoute
- Inherits:
-
Object
- Object
- McProtocolE::Frame3e::AccessRoute
- Defined in:
- lib/mc_protocol_e/frame_3e/access_route.rb
Overview
This class shows a access route.
Constant Summary collapse
- OWN_NETWORK_NUM =
0
- OWN_PC_NUM =
255
- NORMAL_UNIT_IO_NUM =
1023
- NORMAL_UNIT_STATION_NUM =
0
Instance Attribute Summary collapse
-
#network_num ⇒ Object
readonly
Returns the value of attribute network_num.
-
#pc_num ⇒ Object
readonly
Returns the value of attribute pc_num.
-
#unit_io_num ⇒ Object
readonly
Returns the value of attribute unit_io_num.
-
#unit_station_num ⇒ Object
readonly
Returns the value of attribute unit_station_num.
Class Method Summary collapse
-
.from_raw(raw) ⇒ AccessRoute
Returns instance from binary string.
-
.own_station ⇒ AccessRoute
Returns instance of own station.
Instance Method Summary collapse
-
#initialize(network_num:, pc_num:, unit_io_num:, unit_station_num:) ⇒ AccessRoute
constructor
Constructor.
-
#to_b ⇒ String
Returns binary string.
-
#to_s ⇒ String
Returns string.
Constructor Details
#initialize(network_num:, pc_num:, unit_io_num:, unit_station_num:) ⇒ AccessRoute
Constructor.
20 21 22 23 24 25 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 20 def initialize(network_num:, pc_num:, unit_io_num:, unit_station_num:) @network_num = network_num @pc_num = pc_num @unit_io_num = unit_io_num @unit_station_num = unit_station_num end |
Instance Attribute Details
#network_num ⇒ Object (readonly)
Returns the value of attribute network_num.
13 14 15 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 13 def network_num @network_num end |
#pc_num ⇒ Object (readonly)
Returns the value of attribute pc_num.
13 14 15 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 13 def pc_num @pc_num end |
#unit_io_num ⇒ Object (readonly)
Returns the value of attribute unit_io_num.
13 14 15 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 13 def unit_io_num @unit_io_num end |
#unit_station_num ⇒ Object (readonly)
Returns the value of attribute unit_station_num.
13 14 15 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 13 def unit_station_num @unit_station_num end |
Class Method Details
.from_raw(raw) ⇒ AccessRoute
Returns instance from binary string.
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 30 def self.from_raw(raw) raise ArgumentError, "raw string is not access route" unless raw && raw.size >= 5 new( network_num: raw[0].unpack1("C"), pc_num: raw[1].unpack1("C"), unit_io_num: raw[2..3].unpack1("v"), unit_station_num: raw[4].unpack1("C"), ) end |
.own_station ⇒ AccessRoute
Returns instance of own station.
43 44 45 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 43 def self.own_station new(network_num: OWN_NETWORK_NUM, pc_num: OWN_PC_NUM, unit_io_num: NORMAL_UNIT_IO_NUM, unit_station_num: NORMAL_UNIT_STATION_NUM) end |
Instance Method Details
#to_b ⇒ String
Returns binary string.
49 50 51 52 53 54 55 56 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 49 def to_b [ [network_num].pack("v")[0], [pc_num].pack("v")[0], [unit_io_num].pack("v"), [unit_station_num].pack("v")[0], ].join end |
#to_s ⇒ String
Returns string.
60 61 62 |
# File 'lib/mc_protocol_e/frame_3e/access_route.rb', line 60 def to_s "network num: #{network_num} pc num: #{pc_num} unit io num: #{unit_io_num} unit station num: #{unit_station_num}" end |