seriamp 0.1.3 → 0.1.4
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/lib/seriamp/sonamp/app.rb +6 -0
- data/lib/seriamp/version.rb +1 -1
- data/lib/seriamp/yamaha/client.rb +36 -4
- data/lib/seriamp/yamaha/cmd.rb +5 -2
- data/seriamp.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 630564090e5fbf436a4384d2aff86c3f51d8dcd60e69e82121730107dcb82deb
|
4
|
+
data.tar.gz: 4dfffa50df36bf315fb476d472d9de125e01c670c823e1c881b66189e5a5351b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2abd880200ab09af611fe31b31ca8299d189cf05f1448cc59773972f6c4e8929c120fdc533f2b7c246cde8a3621fbeeb6d562ef18f233b8b1ae63536708c2678
|
7
|
+
data.tar.gz: f110bb9840aac1b485c8e12f42b34cbb0d4a578d9f6e3852591480b59f450715d08da33b166e3eb4381152139aef3e0b8e09a9fd2a65be31a41183cfd7b4fa70
|
data/lib/seriamp/sonamp/app.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'sinatra/base'
|
4
4
|
require 'seriamp/utils'
|
5
5
|
require 'seriamp/sonamp/client'
|
6
|
+
require 'seriamp/detect'
|
6
7
|
|
7
8
|
module Seriamp
|
8
9
|
module Sonamp
|
@@ -12,6 +13,10 @@ module Seriamp
|
|
12
13
|
set :logger, nil
|
13
14
|
set :client, nil
|
14
15
|
|
16
|
+
get '/' do
|
17
|
+
render_json(client.status)
|
18
|
+
end
|
19
|
+
|
15
20
|
get '/power' do
|
16
21
|
render_json(client.get_zone_power)
|
17
22
|
end
|
@@ -55,6 +60,7 @@ module Seriamp
|
|
55
60
|
end
|
56
61
|
|
57
62
|
def render_json(data)
|
63
|
+
headers['content-type'] = 'application/json'
|
58
64
|
data.to_json
|
59
65
|
end
|
60
66
|
end
|
data/lib/seriamp/version.rb
CHANGED
@@ -7,7 +7,8 @@ require 'seriamp/yamaha/protocol/methods'
|
|
7
7
|
module Seriamp
|
8
8
|
module Yamaha
|
9
9
|
|
10
|
-
|
10
|
+
# The manual says response should be received in 500 ms.
|
11
|
+
RS232_TIMEOUT = 0.75
|
11
12
|
|
12
13
|
class Client
|
13
14
|
include Protocol::Methods
|
@@ -174,6 +175,29 @@ module Seriamp
|
|
174
175
|
'R0178' => 'RX-V2500',
|
175
176
|
}.freeze
|
176
177
|
|
178
|
+
PURE_DIRECT_FIELD = {
|
179
|
+
'R0177' => 28,
|
180
|
+
'R0178' => 126,
|
181
|
+
}.freeze
|
182
|
+
|
183
|
+
INPUT_MODE_R0178 = {
|
184
|
+
'0' => 'Auto',
|
185
|
+
'2' => 'DTS',
|
186
|
+
'4' => 'Analog',
|
187
|
+
'5' => 'Analog Only',
|
188
|
+
}.freeze
|
189
|
+
|
190
|
+
SAMPLE_RATE_R0178 = {
|
191
|
+
'0' => 'Analog',
|
192
|
+
'1' => 32000,
|
193
|
+
'2' => 44100,
|
194
|
+
'3' => 48000,
|
195
|
+
'4' => 64000,
|
196
|
+
'5' => 88200,
|
197
|
+
'6' => 96000,
|
198
|
+
'7' => 'Unknown',
|
199
|
+
}.freeze
|
200
|
+
|
177
201
|
def do_status
|
178
202
|
resp = nil
|
179
203
|
loop do
|
@@ -240,12 +264,20 @@ module Seriamp
|
|
240
264
|
sleep: SLEEP_GET.fetch(data[24]),
|
241
265
|
night: night = data[27],
|
242
266
|
night_name: NIGHT_GET.fetch(night),
|
243
|
-
pure_direct: data[
|
267
|
+
pure_direct: data[PURE_DIRECT_FIELD.fetch(@model_code)] == '1',
|
244
268
|
speaker_a: data[29] == '1',
|
245
269
|
speaker_b: data[30] == '1',
|
246
|
-
|
247
|
-
|
270
|
+
# 2 positions on RX-Vx700
|
271
|
+
#format: data[31..32],
|
272
|
+
#sampling: data[33..34],
|
248
273
|
)
|
274
|
+
if @model_code == 'R0178'
|
275
|
+
@status.update(
|
276
|
+
input_mode: INPUT_MODE_R0178.fetch(data[11]),
|
277
|
+
sampling: data[32],
|
278
|
+
sample_rate: SAMPLE_RATE_R0178.fetch(data[32]),
|
279
|
+
)
|
280
|
+
end
|
249
281
|
end
|
250
282
|
@status
|
251
283
|
end
|
data/lib/seriamp/yamaha/cmd.rb
CHANGED
@@ -112,8 +112,11 @@ module Seriamp
|
|
112
112
|
client.set_pure_direct(state)
|
113
113
|
when 'status'
|
114
114
|
pp client.last_status
|
115
|
-
when '
|
116
|
-
|
115
|
+
when 'dev-status'
|
116
|
+
status = client.last_status_string
|
117
|
+
0.upto(status.length-1).each do |i|
|
118
|
+
puts "%3d %s" % [i, status[i]]
|
119
|
+
end
|
117
120
|
when 'test'
|
118
121
|
client.set_power(false)
|
119
122
|
[true, false].each do |main_state|
|
data/seriamp.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seriamp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oleg Pudeyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: serialport
|