rsmp 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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