rsmp 0.9.2 → 0.9.5
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/rsmp/collect/alarm_collector.rb +35 -0
- data/lib/rsmp/collect/alarm_query.rb +15 -0
- data/lib/rsmp/site_proxy.rb +0 -9
- data/lib/rsmp/tlc/traffic_controller.rb +1 -1
- data/lib/rsmp/version.rb +1 -1
- data/lib/rsmp.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 774c3a61fac3a93f87f5d8512da860cbf28cbfb47ff568d2035006d08ac98cf1
|
4
|
+
data.tar.gz: 238b160b9786c76e78639f9c470abcb196aa24476466a1e2ca53cbca8f41eb03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8573e91e6d88cc6be7806d81098e4894d3b220f50997867fca64b8c1161f5f6019fed0383a70c7ee48d61182cdd0a38feb9be3509d2c624224235147839831c
|
7
|
+
data.tar.gz: 487cc05ad5fdb48ad7efbc5415640f2d1aeac49bebb7c2989b97e251a6d1d34e2bce6c6b03596190083c4eeb9b48eaaf33023d8ce382961c25f09a2c17c9db8b
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
module RSMP
|
2
|
+
# Class for waiting for specific command responses
|
3
|
+
class AlarmCollector < Collector
|
4
|
+
def initialize proxy,options={}
|
5
|
+
@query = options[:query] || {}
|
6
|
+
super proxy, options.merge(
|
7
|
+
type: 'Alarm',
|
8
|
+
title:'alarm'
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
def type_match? message
|
13
|
+
return false if super(message) == false
|
14
|
+
|
15
|
+
# match fixed attributes
|
16
|
+
%w{aCId aSp ack aS sS cat pri}.each do |key|
|
17
|
+
return false if @query[key] && @query[key] != message.attribute(key)
|
18
|
+
end
|
19
|
+
|
20
|
+
# match rvs items
|
21
|
+
if @query['rvs']
|
22
|
+
query_rvs = @query['rvs']
|
23
|
+
message_rvs = message.attributes['rvs']
|
24
|
+
return false unless message_rvs
|
25
|
+
return false unless query_rvs.all? do |query_item|
|
26
|
+
return false unless message_rvs.any? do |message_item|
|
27
|
+
next message_item['n'] == query_item['n'] && message_item['v'] == query_item['v']
|
28
|
+
end
|
29
|
+
next true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RSMP
|
2
|
+
# Match a specific alarm
|
3
|
+
class AlarmQuery < Query
|
4
|
+
# Match an alarm value against a query
|
5
|
+
def match? item
|
6
|
+
return false if @want['n'] && @want['n'] != item['n']
|
7
|
+
if @want['v'].is_a? Regexp
|
8
|
+
return false if item['v'] !~ @want['v']
|
9
|
+
elsif @want['v']
|
10
|
+
return false if item['v'] != @want['v']
|
11
|
+
end
|
12
|
+
true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/rsmp/site_proxy.rb
CHANGED
@@ -346,14 +346,5 @@ module RSMP
|
|
346
346
|
@supervisor.notify_error e, options if @supervisor
|
347
347
|
distribute_error e, options
|
348
348
|
end
|
349
|
-
|
350
|
-
def collect_alarms options={}
|
351
|
-
collect(@task,options.merge(type: "Alarm")) do |alarm|
|
352
|
-
next if options[:aCId] && options[:aCId] != alarm.attribute("aCId")
|
353
|
-
next if options[:aSp] && options[:aSp] != alarm.attribute("aSp")
|
354
|
-
next if options[:aS] && options[:aS] != alarm.attribute("aS")
|
355
|
-
:keep
|
356
|
-
end
|
357
|
-
end
|
358
349
|
end
|
359
350
|
end
|
@@ -272,7 +272,7 @@ module RSMP
|
|
272
272
|
return unless idx>=0 && input<@num_inputs # TODO should NotAck
|
273
273
|
@input_activations[idx] = bool_string_to_digit arg['status']
|
274
274
|
recompute_input idx
|
275
|
-
if @input_activations[idx]
|
275
|
+
if @input_activations[idx] == '1'
|
276
276
|
log "Activating input #{idx+1}", level: :info
|
277
277
|
else
|
278
278
|
log "Deactivating input #{idx+1}", level: :info
|
data/lib/rsmp/version.rb
CHANGED
data/lib/rsmp.rb
CHANGED
@@ -25,9 +25,11 @@ require 'rsmp/collect/filter'
|
|
25
25
|
require 'rsmp/collect/query'
|
26
26
|
require 'rsmp/collect/status_query'
|
27
27
|
require 'rsmp/collect/command_query'
|
28
|
+
require 'rsmp/collect/alarm_query'
|
28
29
|
require 'rsmp/collect/status_collector'
|
29
30
|
require 'rsmp/collect/command_response_collector'
|
30
31
|
require 'rsmp/collect/aggregated_status_collector'
|
32
|
+
require 'rsmp/collect/alarm_collector'
|
31
33
|
require 'rsmp/component'
|
32
34
|
require 'rsmp/site'
|
33
35
|
require 'rsmp/proxy'
|
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.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emil Tin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|
@@ -211,6 +211,8 @@ files:
|
|
211
211
|
- lib/rsmp/archive.rb
|
212
212
|
- lib/rsmp/cli.rb
|
213
213
|
- lib/rsmp/collect/aggregated_status_collector.rb
|
214
|
+
- lib/rsmp/collect/alarm_collector.rb
|
215
|
+
- lib/rsmp/collect/alarm_query.rb
|
214
216
|
- lib/rsmp/collect/collector.rb
|
215
217
|
- lib/rsmp/collect/command_query.rb
|
216
218
|
- lib/rsmp/collect/command_response_collector.rb
|