fldigi 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/fldigi.rb +81 -35
- metadata +7 -9
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 24dfadfe3ad0ceef6d30d8956d62ef8c171018bc
|
4
|
+
data.tar.gz: eae7838de788329b4e385440d4da5a995a2232c0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c36b7242805366e1878fa079d7fbaeca55951740999eeaa39ee694eaf6662615cc199c9909a18d23c535e68c29bf5cb7b2bd6688ef52d73a3f413ed2a2eaadcc
|
7
|
+
data.tar.gz: 3612685cde709147fbb2738f994cd7aaeb305ef253048975ea54b57a9fb7e839b4e1c4638f84b7880c9cb26e8f8bfd259490bbab0f43de2260909f49d3dbe250
|
data/lib/fldigi.rb
CHANGED
@@ -24,7 +24,7 @@ require 'xmlrpc/client'
|
|
24
24
|
require 'thread'
|
25
25
|
|
26
26
|
class Fldigi
|
27
|
-
attr_accessor :rigctl, :dial_freq, :carrier, :call, :modem, :afc, :rsid, :sideband, :squelch, :slevel, :spot, :delay, :grid, :phg, :band, :offset, :start_wait, :char_wait
|
27
|
+
attr_accessor :rigctl, :dial_freq, :carrier, :call, :modem, :afc, :rsid, :sideband, :squelch, :slevel, :spot, :delay, :grid, :phg, :band, :offset, :start_wait, :char_wait, :debug
|
28
28
|
|
29
29
|
# Do the initial setup. All arguments are optional, default is
|
30
30
|
# rigctl, localhost, standard port. If you have no rig control,
|
@@ -64,6 +64,7 @@ class Fldigi
|
|
64
64
|
@offset_old=0
|
65
65
|
@start_wait=10
|
66
66
|
@char_wait=2
|
67
|
+
@debug=false
|
67
68
|
|
68
69
|
# Propnet stuff.
|
69
70
|
@band=nil
|
@@ -81,9 +82,15 @@ class Fldigi
|
|
81
82
|
# Send an XML-RPC command to FLDigi.
|
82
83
|
def sendcmd(cmd, param=-1)
|
83
84
|
if param==-1
|
84
|
-
|
85
|
+
puts "sendcmd(#{cmd})" if @debug
|
86
|
+
n=@srvr.call(cmd)
|
87
|
+
puts "result: #{n}" if @debug
|
88
|
+
return n
|
85
89
|
else
|
86
|
-
|
90
|
+
puts "sendcmd(#{cmd} #{param})" if @debug
|
91
|
+
n=@srvr.call(cmd,param)
|
92
|
+
puts "result: #{n}" if @debug
|
93
|
+
return n
|
87
94
|
end
|
88
95
|
end
|
89
96
|
|
@@ -91,6 +98,8 @@ class Fldigi
|
|
91
98
|
# changed is not pushed (to save time).
|
92
99
|
def config
|
93
100
|
|
101
|
+
status=true
|
102
|
+
|
94
103
|
# Set the audio carrier, but only if it's not false (so other
|
95
104
|
# items can be updated without worrying about a little bit of
|
96
105
|
# drift due to AFC).
|
@@ -102,10 +111,9 @@ class Fldigi
|
|
102
111
|
end
|
103
112
|
|
104
113
|
# Set the modem. Also, take a stab at setting the timeouts for
|
105
|
-
# that modem.
|
114
|
+
# that modem. ToDo: Add to these as additional modems are checked
|
115
|
+
# out, and save the user some hassle.
|
106
116
|
if @modem!=@modem_old
|
107
|
-
@modem_old=@modem
|
108
|
-
|
109
117
|
case @modem
|
110
118
|
when "BPSK31"
|
111
119
|
@start_wait=5
|
@@ -124,32 +132,49 @@ class Fldigi
|
|
124
132
|
@char_wait=2
|
125
133
|
end
|
126
134
|
|
127
|
-
if @modem
|
135
|
+
if @modem==self.sendcmd("modem.get_name")
|
136
|
+
@modem_old=@modem
|
137
|
+
else
|
128
138
|
self.sendcmd("modem.set_by_name", @modem)
|
129
|
-
if @modem
|
130
|
-
|
139
|
+
if @modem==self.sendcmd("modem.get_name")
|
140
|
+
@modem_old=@modem
|
141
|
+
else
|
142
|
+
puts "modem.set_name failed <-----------------------" if @debug
|
143
|
+
status=false
|
131
144
|
end
|
132
145
|
end
|
133
146
|
end
|
134
147
|
|
135
148
|
# Turn spot on/off (true/false).
|
136
149
|
if @spot!=@spot_old
|
137
|
-
|
138
|
-
if @spot
|
150
|
+
ret=self.sendcmd("spot.get_auto")
|
151
|
+
if (ret==1 and @spot==true) or (ret==0 and @spot==false)
|
152
|
+
@spot_old=@spot
|
153
|
+
else
|
139
154
|
self.sendcmd("spot.set_auto", @spot)
|
140
|
-
|
141
|
-
|
155
|
+
ret=self.sendcmd("spot.get_auto")
|
156
|
+
if (ret==1 and @spot==true) or (ret==0 and @spot==false)
|
157
|
+
@spot_old=@spot
|
158
|
+
else
|
159
|
+
puts "spot.set_auto failed <-----------------------" if @debug
|
160
|
+
status=false
|
142
161
|
end
|
143
162
|
end
|
144
163
|
end
|
145
164
|
|
146
165
|
# Turn AFC on/off (true/false).
|
147
166
|
if @afc!=@afc_old
|
148
|
-
|
149
|
-
if @afc
|
167
|
+
ret=self.sendcmd("main.get_afc")
|
168
|
+
if (ret==1 and @afc==true) or (ret==0 and @afc==false)
|
169
|
+
@afc_old=@afc
|
170
|
+
else
|
150
171
|
self.sendcmd("main.set_afc", @afc)
|
151
|
-
|
152
|
-
|
172
|
+
ret=self.sendcmd("main.get_afc")
|
173
|
+
if (ret==1 and @afc==true) or (ret==0 and @afc==false)
|
174
|
+
@afc_old=@afc
|
175
|
+
else
|
176
|
+
puts "main.set_afc failed <-----------------------" if @debug
|
177
|
+
status=false
|
153
178
|
end
|
154
179
|
end
|
155
180
|
end
|
@@ -157,45 +182,65 @@ class Fldigi
|
|
157
182
|
# Set the sideband ("USB"/"LSB"). ToDo: make sure this is
|
158
183
|
# correct.
|
159
184
|
if @sideband!=@sideband_old
|
160
|
-
@
|
161
|
-
|
185
|
+
if @sideband==self.sendcmd("main.get_sideband")
|
186
|
+
@sideband_old=@sideband
|
187
|
+
else
|
162
188
|
self.sendcmd("main.set_sideband", @sideband)
|
163
|
-
if @sideband
|
164
|
-
|
189
|
+
if @sideband==self.sendcmd("main.get_sideband")
|
190
|
+
@sideband_old=@sideband
|
191
|
+
else
|
192
|
+
puts "main.set_sideband failed <-----------------------" if @debug
|
193
|
+
status=false
|
165
194
|
end
|
166
195
|
end
|
167
196
|
end
|
168
197
|
|
169
198
|
# Turn RSID receive on/off (true/false).
|
170
199
|
if @rsid!=@rsid_old
|
171
|
-
|
172
|
-
if @rsid
|
200
|
+
ret=self.sendcmd("main.get_rsid")
|
201
|
+
if (ret==1 and @rsid==true) or (ret==0 and @rsid==false)
|
202
|
+
@rsid_old=@rsid
|
203
|
+
else
|
173
204
|
self.sendcmd("main.set_rsid", @rsid)
|
174
|
-
|
175
|
-
|
205
|
+
ret=self.sendcmd("main.get_rsid")
|
206
|
+
if (ret==1 and @rsid==true) or (ret==0 and @rsid==false)
|
207
|
+
@rsid_old=@rsid
|
208
|
+
else
|
209
|
+
puts "main.set_rsid failed <-----------------------" if @debug
|
210
|
+
status=false
|
176
211
|
end
|
177
212
|
end
|
178
213
|
end
|
179
214
|
|
180
215
|
# Turn squelch on/off (true/false).
|
181
216
|
if @squelch!=@squelch_old
|
182
|
-
|
183
|
-
if @squelch
|
217
|
+
ret=self.sendcmd("main.get_squelch")
|
218
|
+
if (ret==1 and @squelch==true) or (ret==0 and @squelch==false)
|
219
|
+
@squelch_old=@squelch
|
220
|
+
else
|
184
221
|
self.sendcmd("main.set_squelch", @squelch)
|
185
|
-
|
186
|
-
|
222
|
+
ret=self.sendcmd("main.get_squelch")
|
223
|
+
if (ret==1 and @squelch==true) or (ret==0 and @squelch==false)
|
224
|
+
@squelch_old=@squelch
|
225
|
+
else
|
226
|
+
puts "main.set_squelch failed <-----------------------" if @debug
|
227
|
+
status=false
|
187
228
|
end
|
188
229
|
end
|
189
230
|
end
|
190
231
|
|
191
232
|
# Set the squelch value (3.0 seems to work well).
|
192
|
-
@slevel=@slevel.to_f
|
193
233
|
if @slevel!=@slevel_old
|
194
234
|
@slevel_old=@slevel
|
195
|
-
if @slevel
|
235
|
+
if @slevel.to_f==self.sendcmd("main.get_squelch_level").to_f
|
236
|
+
@slevel=@slevel.to_f
|
237
|
+
else
|
196
238
|
self.sendcmd("main.set_squelch_level", @slevel)
|
197
|
-
if @slevel
|
198
|
-
|
239
|
+
if @slevel==self.sendcmd("main.get_squelch_level")
|
240
|
+
@slevel=@slevel.to_f
|
241
|
+
else
|
242
|
+
puts "main.set_squelch_level failed <-----------------------" if @debug
|
243
|
+
status=false
|
199
244
|
end
|
200
245
|
end
|
201
246
|
end
|
@@ -235,12 +280,13 @@ class Fldigi
|
|
235
280
|
self.sendcmd("main.set_frequency", @dial_freq+@offset.to_f)
|
236
281
|
sleep 0.5
|
237
282
|
if @dial_freq+@offset.to_i!=self.sendcmd("main.get_frequency").to_f
|
238
|
-
|
283
|
+
puts "main.set_frequency failed <-----------------------" if @debug
|
284
|
+
status=false
|
239
285
|
end
|
240
286
|
end
|
241
287
|
end
|
242
288
|
|
243
|
-
return
|
289
|
+
return status
|
244
290
|
end
|
245
291
|
|
246
292
|
# Set FLDigi to receive (immediate).
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fldigi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jeff Francis, N0GQ
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-28 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: A library for talking to FLDigi.
|
15
14
|
email: jeff@gritch.org
|
@@ -21,26 +20,25 @@ files:
|
|
21
20
|
homepage: http://fldigi.gritch.org/
|
22
21
|
licenses:
|
23
22
|
- MIT
|
23
|
+
metadata: {}
|
24
24
|
post_install_message:
|
25
25
|
rdoc_options: []
|
26
26
|
require_paths:
|
27
27
|
- lib
|
28
28
|
required_ruby_version: !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
29
|
requirements:
|
31
|
-
- -
|
30
|
+
- - '>='
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
33
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
34
|
requirements:
|
37
|
-
- -
|
35
|
+
- - '>='
|
38
36
|
- !ruby/object:Gem::Version
|
39
37
|
version: '0'
|
40
38
|
requirements: []
|
41
39
|
rubyforge_project:
|
42
|
-
rubygems_version:
|
40
|
+
rubygems_version: 2.0.14
|
43
41
|
signing_key:
|
44
|
-
specification_version:
|
42
|
+
specification_version: 4
|
45
43
|
summary: A library for talking to FLDigi.
|
46
44
|
test_files: []
|