rsmp 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf205a7a04823c34cc07dc8b0f67ede5a6ef23526ddad4786babc2d79f1d4869
4
- data.tar.gz: f63deaeaace582207b320895d7b93cdb5f8772bb9fa8891b5f47616eae9b200d
3
+ metadata.gz: 86e6971159c3de6157fdb7fd34884adc1a62aff9fee429798d7841b8c66be7cb
4
+ data.tar.gz: 2860409f7063b95317fb7bac60a12fdd50d0a48ae48cb97d888b452157ee9444
5
5
  SHA512:
6
- metadata.gz: '06580d98b22a7e1570821362bd770f06715637b57abb5c172dc3ceed1be4a887289081382787e2df2661beb20c8487e3be051c3cc66ffebd491766423c160c6d'
7
- data.tar.gz: 732432f40ab180bf37aa39c2f54f8c296678a9c7c673c694eae7334d041be10c80fff84f47625f153f0f3389cabb40b31cdae5168014c306b6a44ba5ca41f8f9
6
+ metadata.gz: ab3400ead4fe96f24ff033f48bf8c47a5eb1b7497ffff876232b5797a6b99ab73907469b2699d2159ad15d9a7c06b3c189c936e16dc1d693f31c513ccd91b984
7
+ data.tar.gz: 51b681148cad227590653ac1d7834e5d4375374c6d89228bdaa019896cb882560ca3b71c225d0db473bde05a8b34f7788078f02ab48c9a50d94f47cc6791df23
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.22.0)
4
+ rsmp (0.23.0)
5
5
  async (~> 2.6.4)
6
6
  async-io (~> 1.36.0)
7
7
  colorize (~> 0.8.1)
@@ -106,6 +106,7 @@ GEM
106
106
 
107
107
  PLATFORMS
108
108
  arm64-darwin-22
109
+ arm64-darwin-23
109
110
  x64-mingw-ucrt
110
111
  x64-mingw32
111
112
  x86_64-darwin-19
data/config/tlc.yaml CHANGED
@@ -2,9 +2,9 @@ site_id: RN+SI0001
2
2
  supervisors:
3
3
  - ip: 127.0.0.1
4
4
  port: 12111
5
- core_versions: '3.2'
5
+ core_versions: '3.2.1'
6
6
  sxl: tlc
7
- sxl_version: '1.1'
7
+ sxl_version: '1.2'
8
8
  components:
9
9
  main:
10
10
  TC:
@@ -302,7 +302,7 @@ module RSMP
302
302
  end
303
303
 
304
304
  def rsmpify_value v
305
- return v if v.is_a? Array
305
+ return v if v.is_a?(Array) || v.is_a?(Set)
306
306
  v.to_s
307
307
  end
308
308
 
@@ -58,8 +58,8 @@ module RSMP
58
58
  @plan_source = 'startup'
59
59
  @intersection = 0
60
60
  @intersection_source = 'startup'
61
- @emergency_route = false
62
- @emergency_route_number = 0
61
+ @emergency_routes = Set.new
62
+ @last_emergency_route = nil
63
63
  @traffic_situation = 0
64
64
  @traffic_situation_source = 'startup'
65
65
  @day_time_table = {}
@@ -286,13 +286,22 @@ module RSMP
286
286
 
287
287
  def handle_m0005 arg, options={}
288
288
  @node.verify_security_code 2, arg['securityCode']
289
- @emergency_route = (arg['status'] == 'True')
290
- @emergency_route_number = arg['emergencyroute'].to_i
289
+ route = arg['emergencyroute'].to_i
290
+ enable = (arg['status'] == 'True')
291
+ @last_emergency_route = route
291
292
 
292
- if @emergency_route
293
- log "Switching to emergency route #{@emergency_route_number}", level: :info
293
+ if enable
294
+ if @emergency_routes.add? route
295
+ log "Enabling emergency route #{route}", level: :info
296
+ else
297
+ log "Emergency route #{route} already enabled", level: :info
298
+ end
294
299
  else
295
- log "Switching off emergency route", level: :info
300
+ if @emergency_routes.delete? route
301
+ log "Disabling emergency route #{route}", level: :info
302
+ else
303
+ log "Emergency route #{route} already disabled", level: :info
304
+ end
296
305
  end
297
306
  end
298
307
 
@@ -604,7 +613,7 @@ module RSMP
604
613
  'S0008', 'S0009', 'S0010', 'S0011', 'S0012', 'S0013', 'S0014',
605
614
  'S0015', 'S0016', 'S0017', 'S0018', 'S0019', 'S0020', 'S0021',
606
615
  'S0022', 'S0023', 'S0024', 'S0026', 'S0027', 'S0028',
607
- 'S0029', 'S0030', 'S0031', 'S0032', 'S0033',
616
+ 'S0029', 'S0030', 'S0031', 'S0032', 'S0033', 'S0035',
608
617
  'S0091', 'S0092', 'S0095', 'S0096', 'S0097',
609
618
  'S0205', 'S0206', 'S0207', 'S0208'
610
619
  return send("handle_#{code.downcase}", code, name, options)
@@ -661,9 +670,17 @@ module RSMP
661
670
  def handle_s0006 status_code, status_name=nil, options={}
662
671
  case status_name
663
672
  when 'status'
664
- TrafficControllerSite.make_status @emergency_route
673
+ TrafficControllerSite.make_status @emergency_routes.include?(@last_emergency_route)
665
674
  when 'emergencystage'
666
- TrafficControllerSite.make_status @emergency_route_number
675
+ TrafficControllerSite.make_status @last_emergency_route || 0
676
+ end
677
+ end
678
+
679
+ def handle_s0035 status_code, status_name=nil, options={}
680
+ case status_name
681
+ when 'emergencyroutes'
682
+ list = @emergency_routes.sort.map {|route| {'id'=>route.to_s}}
683
+ TrafficControllerSite.make_status list
667
684
  end
668
685
  end
669
686
 
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.22.0"
2
+ VERSION = "0.23.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-29 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async