~ubuntu-branches/ubuntu/wily/flrig/wily

« back to all changes in this revision

Viewing changes to .pc/0001-License-Declaration.patch/src/status.cxx

  • Committer: Package Import Robot
  • Author(s): Kamal Mostafa
  • Date: 2014-10-25 11:17:10 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20141025111710-n32skgya3l9u1brw
Tags: 1.3.17-1
* New upstream release (Closes: #761839)
* Debian Standards-Version: 3.9.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -----------------------------------------------------------------------------
2
 
 * status structure / methods
3
 
 *
4
 
 * A part of "rig", a rig control program compatible with fldigi / xmlrpc i/o
5
 
 *
6
 
 * copyright Dave Freese 2009, w1hkj@w1hkj.com
7
 
 *
8
 
*/
9
 
 
10
 
#include <iostream>
11
 
#include <fstream>
12
 
#include <string>
13
 
 
14
 
#include <FL/Fl_Preferences.H>
15
 
#include <FL/Fl_Progress.H>
16
 
 
17
 
#include "status.h"
18
 
#include "util.h"
19
 
#include "rig.h"
20
 
#include "support.h"
21
 
#include "config.h"
22
 
#include "rigpanel.h"
23
 
 
24
 
string last_xcvr_used = "none";
25
 
 
26
 
status progStatus = {
27
 
        50,                     // int mainX;
28
 
        50,                     // int mainY;
29
 
        735,            // int mainW;
30
 
        150,            // int mainH;
31
 
        wide_ui,                // UISIZE, UIsize;
32
 
        false,          // UIchanged;
33
 
        0,                      // int rig_nbr;
34
 
        "NONE",         // string xcvr_serial_port;
35
 
        0,                      // int comm_baudrate;
36
 
        2,                      // int stopbits;
37
 
        2,                      // int comm_retries;
38
 
        5,                      // int comm_wait;
39
 
        50,                     // int comm_timeout;
40
 
        false,          // bool comm_echo;
41
 
        false,          // bool comm_catptt;
42
 
        false,          // bool comm_rtsptt;
43
 
        false,          // bool comm_dtrptt;
44
 
        false,          // bool comm_rtscts;
45
 
        false,          // bool comm_rtsplus;
46
 
        false,          // bool comm_dtrplus;
47
 
        200,            // int  serloop_timing;
48
 
        0,                      // int  byte_interval;
49
 
 
50
 
        "NONE",         // string aux_serial_port;
51
 
        false,          // bool aux_rts;
52
 
        false,          // bool aux_dtr;
53
 
 
54
 
        "NONE",         // string       sep_serial_port;
55
 
        false,          // bool sep_rtsptt;
56
 
        false,          // bool sep_dtrptt;
57
 
        false,          // bool sep_rtsplus;
58
 
        false,          // bool sep_dtrplus;
59
 
        0,                      // int  CIV;
60
 
        false,          // bool USBaudio;
61
 
 
62
 
        1,                      // bool poll_smeter;
63
 
        1,                      // bool poll_frequency;
64
 
        1,                      // bool poll_mode;
65
 
        1,                      // bool poll_bandwidth;
66
 
        0,                      // bool poll_volume;
67
 
        0,                      // bool poll_auto_notch;
68
 
        0,                      // bool poll_notch;
69
 
        0,                      // bool poll_ifshift;
70
 
        0,                      // bool poll_power_control;
71
 
        0,                      // bool poll_pre_att;
72
 
        0,                      // bool poll_micgain;
73
 
        0,                      // bool poll_squelch;
74
 
        0,                      // bool poll_rfgain;
75
 
        1,                      // bool poll_pout;
76
 
        1,                      // bool poll_swr;
77
 
        1,                      // bool poll_alc;
78
 
        0,                      // bool poll_split;
79
 
        0,                      // bool poll_noise;
80
 
        0,                      // bool poll_nr;
81
 
        4,                      // int  poll_all;
82
 
 
83
 
        -1,                     // int  iBW_A;
84
 
        1,                      // int  imode_A;
85
 
        7070000,        // long freq_A;
86
 
        -1,                     // int  iBW_B;
87
 
        1,                      // int  imode_B;
88
 
        7070000,        // long freq_B;
89
 
        true,           // bool use_rig_data;
90
 
        true,           // bool restore_rig_data;
91
 
 
92
 
        false,          // bool spkr_on;
93
 
        20,                     // int  volume;
94
 
        0,                      // int  power_level;
95
 
        10,                     // int  mic_gain;
96
 
        false,          // bool notch;
97
 
        0,                      // int  notch_val;
98
 
        false,          // bool shift;
99
 
        0,                      // int  shift_val;
100
 
        100,            // int  rfgain;
101
 
        10,                     // int  squelch;
102
 
 
103
 
        0,                      // int  schema;
104
 
 
105
 
        0,                      // int  line_out;
106
 
        false,          // bool data_port;
107
 
        1,                      // int  agc_level;
108
 
        18,                     // int  cw_wpm;
109
 
        3.0,            // double  cw_weight;
110
 
        0,                      // int  cw_vol;
111
 
        0,                      // int  cw_spot;
112
 
        false,          // bool spot_onoff;
113
 
        700,            // int  cw_spot_tone;
114
 
        2.0,            // int  cw_qsk;
115
 
        false,          // bool enable_keyer;
116
 
        false,          // int  vox_onoff;
117
 
        10,                     // int  vox_gain;
118
 
        10,                     // int  vox_anti;
119
 
        100,            // int  vox_hang; FT950 default
120
 
        true,           // bool vox_on_dataport;
121
 
        0,                      // int  compression;
122
 
        false,          // bool compON;
123
 
 
124
 
        0,                      // bool noise_reduction;
125
 
        0,                      // int  noise_reduction_val;
126
 
        0,                      // int  nb_level;
127
 
 
128
 
        false,          // bool noise;
129
 
        0,                      // int  attenuator
130
 
        0,                      // int  preamp;
131
 
        0,                      // int  auto_notch;
132
 
 
133
 
        0,                      // int  split;
134
 
 
135
 
        true,           // bool key_fldigi;
136
 
 
137
 
        5,                      // int rx_avg;
138
 
        5,                      // int rx_peak;
139
 
        5,                      // int pwr_avg;
140
 
        5,                      // int pwr_peak;
141
 
        4,                      // int pwr_scale ==> Autoselect
142
 
 
143
 
//tt550 controls
144
 
        80,                     // tt550_line_out;
145
 
        1,                      // tt550_agc_level;
146
 
 
147
 
        24,                     // tt550_cw_wpm;
148
 
        1.0,            // tt550_cw_weight;
149
 
        10,                     // tt550_cw_vol;
150
 
        10,                     // tt550_cw_spot;
151
 
        false,          // tt550_cw_spot_onoff;
152
 
        20,                     // tt550_cw_qsk;
153
 
        true,           // tt550_enable_keyer;
154
 
 
155
 
        false,          // tt550_vox_onoff;
156
 
        0,                      // tt550_vox_gain;
157
 
        0,                      // tt550_vox_anti;
158
 
        0,                      // tt550_vox_hang;
159
 
 
160
 
        0,                      // tt550_mon_vol;
161
 
        0,                      // tt550_squelch_level;
162
 
        0,                      // tt550_compression;
163
 
        1,                      // tt550_nb_level;
164
 
        false,          // tt550_bool compON;
165
 
        false,          // tt550_tuner_bypass;
166
 
 
167
 
        true,           // tt550_enable_xmtr;
168
 
        false,          // tt550_enable_tloop;
169
 
 
170
 
        true,           // tt550_use_line_in;
171
 
 
172
 
        14,                     // tt550_xmt_bw;
173
 
        false,          // tt550_use_xmt_bw;
174
 
        
175
 
        25,                     // tt550_AM_level;
176
 
        0,                      // tt550_encoder_step;
177
 
        1,                      // tt550_encoder_sensitivity;
178
 
        2000,           // tt550_keypad_timeout;
179
 
 
180
 
        0,                      // tt550_F1_func;
181
 
        0,                      // tt550_F2_func;
182
 
        0,                      // tt550_F3_func;
183
 
 
184
 
        0.0,            // vfo_adj;
185
 
        600,            // bfo_freq;
186
 
        0,                      // rit_freq;
187
 
        0,                      // xit_freq;
188
 
        1500,           // bpf_center;
189
 
        true,           // use_bpf_center;
190
 
 
191
 
        232,            // int   bg_red;
192
 
        255,            // int   bg_green;
193
 
        232,            // int   bg_blue;
194
 
 
195
 
        0,                      // int   fg_red;
196
 
        0,                      // int   fg_green;
197
 
        0,                      // int   fg_blue;
198
 
 
199
 
        148,            // int  swrRed;
200
 
        0,                      // int  swrGreen;
201
 
        148,            // int  swrBlue;
202
 
 
203
 
        180,            // int  pwrRed;
204
 
        0,                      // int  pwrGreen;
205
 
        0,                      // int  pwrBlue;
206
 
 
207
 
        0,                      // int  smeterRed;
208
 
        180,            // int  smeterGreen;
209
 
        0,                      //int   smeterBlue;
210
 
 
211
 
        255,            // int  peakRed;
212
 
        0,                      // int  peakGreen;
213
 
        0,                      // int  peakBlue;
214
 
 
215
 
        0,                      // int  fg_sys_red;
216
 
        0,                      // int  fg_sys_green;
217
 
        0,                      // int  fg_sys_blue;
218
 
 
219
 
        0xc0,           // int  bg_sys_red;
220
 
        0xc0,           // int  bg_sys_green;
221
 
        0xc0,           // int  bg_sys_blue;
222
 
 
223
 
        255,            // int  bg2_sys_red;
224
 
        255,            // int  bg2_sys_green;
225
 
        255,            // int  bg2_sys_blue;
226
 
 
227
 
        232,            // int          slider_red;
228
 
        255,            // int          slider_green;
229
 
        232,            // int          slider_blue;
230
 
 
231
 
        0,                      // int          slider_btn_red;
232
 
        0,                      // int          slider_btn_green;
233
 
        128,            // int          slider_btn_blue;
234
 
 
235
 
        255,            // int          lighted_btn_red;
236
 
        255,            // int          lighted_btn_green;
237
 
        0,                      // int          lighted_btn_blue;
238
 
 
239
 
        FL_COURIER,     // Fl_Font fontnbr;
240
 
 
241
 
        false,          // bool  tooltips;
242
 
 
243
 
        "gtk+",         // string ui_scheme
244
 
 
245
 
        "7362",         // string server_port
246
 
        "127.0.0.1",// string server_address
247
 
 
248
 
        false,          // bool xcvr auto on
249
 
        false           // bool xcvr auto off
250
 
 
251
 
};
252
 
 
253
 
void status::saveLastState()
254
 
{
255
 
        last_xcvr_used = selrig->name_;
256
 
        Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
257
 
        xcvrpref.set("last_xcvr_used", last_xcvr_used.c_str());
258
 
 
259
 
        int mX = mainwindow->x();
260
 
        int mY = mainwindow->y();
261
 
        int mW = mainwindow->w();
262
 
        int mH = mainwindow->h();
263
 
 
264
 
        if (mX >= 0 && mX >= 0) {
265
 
                mainX = mX;
266
 
                mainY = mY;
267
 
                if (UIsize != small_ui) {
268
 
                        mainW = mW;
269
 
                        mainH = mH;
270
 
                }
271
 
        }
272
 
 
273
 
        Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", last_xcvr_used.c_str());
274
 
 
275
 
        spref.set("version", PACKAGE_VERSION);
276
 
 
277
 
        spref.set("mainx", mainX);
278
 
        spref.set("mainy", mainY);
279
 
        spref.set("mainw", mainW);
280
 
        spref.set("mainh", mainH);
281
 
 
282
 
        if (UIchanged) UIsize = btn_wide_ui->value();
283
 
        spref.set("uisize", UIsize);
284
 
 
285
 
        spref.set("xcvr_serial_port", xcvr_serial_port.c_str());
286
 
        spref.set("comm_baudrate", comm_baudrate);
287
 
        spref.set("comm_stopbits", stopbits);
288
 
        spref.set("comm_retries", comm_retries);
289
 
        spref.set("comm_wait", comm_wait);
290
 
        spref.set("comm_timeout", comm_timeout);
291
 
        spref.set("serloop_timing", serloop_timing);
292
 
        spref.set("byte_interval", byte_interval);
293
 
 
294
 
        spref.set("comm_echo", comm_echo);
295
 
        spref.set("ptt_via_cat", comm_catptt);
296
 
        spref.set("ptt_via_rts", comm_rtsptt);
297
 
        spref.set("ptt_via_dtr", comm_dtrptt);
298
 
        spref.set("rts_cts_flow", comm_rtscts);
299
 
        spref.set("rts_plus", comm_rtsplus);
300
 
        spref.set("dtr_plus", comm_dtrplus);
301
 
        spref.set("civadr", CIV);
302
 
        spref.set("usbaudio", USBaudio);
303
 
 
304
 
        spref.set("aux_serial_port", aux_serial_port.c_str());
305
 
        spref.set("aux_rts", aux_rts);
306
 
        spref.set("aux_dtr", aux_dtr);
307
 
 
308
 
        spref.set("sep_serial_port", sep_serial_port.c_str());
309
 
        spref.set("sep_rtsptt", sep_rtsptt);
310
 
        spref.set("sep_dtrptt", sep_dtrptt);
311
 
        spref.set("sep_rtsplus", sep_rtsplus);
312
 
        spref.set("set_dtrplus", sep_dtrplus);
313
 
 
314
 
        spref.set("key_fldigi", key_fldigi);
315
 
 
316
 
        spref.set("poll_smeter", poll_smeter);
317
 
        spref.set("poll_frequency", poll_frequency);
318
 
        spref.set("poll_mode", poll_mode);
319
 
        spref.set("poll_bandwidth", poll_bandwidth);
320
 
        spref.set("poll_volume", poll_volume);
321
 
        spref.set("poll_auto_notch", poll_auto_notch);
322
 
        spref.set("poll_notch", poll_notch);
323
 
        spref.set("poll_ifshift", poll_ifshift);
324
 
        spref.set("poll_power_control", poll_power_control);
325
 
        spref.set("poll_pre_att", poll_pre_att);
326
 
        spref.set("poll_micgain", poll_micgain);
327
 
        spref.set("poll_squelch", poll_squelch);
328
 
        spref.set("poll_rfgain", poll_rfgain);
329
 
        spref.set("poll_pout", poll_pout);
330
 
        spref.set("poll_swr", poll_swr);
331
 
        spref.set("poll_alc", poll_alc);
332
 
        spref.set("poll_split", poll_split);
333
 
        spref.set("poll_noise", poll_noise);
334
 
        spref.set("poll_nr", poll_nr);
335
 
        spref.set("poll_all", poll_all);
336
 
 
337
 
        spref.set("bw_A", iBW_A);
338
 
        spref.set("mode_A", imode_A);
339
 
        spref.set("freq_A", freq_A);
340
 
 
341
 
        spref.set("bw_B", iBW_B);
342
 
        spref.set("mode_B", imode_B);
343
 
        spref.set("freq_B", freq_B);
344
 
 
345
 
        spref.set("use_rig_data", use_rig_data);
346
 
        spref.set("restore_rig_data", restore_rig_data);
347
 
 
348
 
        spref.set("bool_spkr_on", spkr_on);
349
 
        spref.set("int_volume", volume);
350
 
        spref.set("dbl_power", power_level);
351
 
        spref.set("int_mic", mic_gain);
352
 
        spref.set("bool_notch", notch);
353
 
        spref.set("int_notch", notch_val);
354
 
        spref.set("bool_shift", shift);
355
 
        spref.set("int_shift", shift_val);
356
 
        spref.set("rfgain", rfgain);
357
 
        spref.set("squelch", squelch);
358
 
 
359
 
        spref.set("schema", schema);
360
 
 
361
 
        spref.set("rx_avg", rx_avg);
362
 
        spref.set("rx_peak", rx_peak);
363
 
        spref.set("pwr_avg", pwr_avg);
364
 
        spref.set("pwr_peak", pwr_peak);
365
 
        spref.set("pwr_scale", pwr_scale);
366
 
 
367
 
        if (rig_nbr == TT550) {
368
 
                spref.set("tt550_line_out", tt550_line_out);
369
 
                spref.set("tt550_agc_level", tt550_agc_level);
370
 
 
371
 
                spref.set("tt550_cw_wpm", tt550_cw_wpm);
372
 
                spref.set("tt550_cw_weight", tt550_cw_weight);
373
 
                spref.set("tt550_cw_vol", tt550_cw_vol);
374
 
                spref.set("tt550_cw_spot", tt550_cw_spot);
375
 
                spref.set("tt550_spot_onoff", tt550_spot_onoff);
376
 
                spref.set("tt550_cw_qsk", tt550_cw_qsk);
377
 
                spref.set("tt550_enable_keyer", tt550_enable_keyer);
378
 
 
379
 
                spref.set("tt550_vox_onoff", tt550_vox_onoff);
380
 
                spref.set("tt550_vox_gain", tt550_vox_gain);
381
 
                spref.set("tt550_vox_anti", tt550_vox_anti);
382
 
                spref.set("tt550_vox_hang", tt550_vox_hang);
383
 
 
384
 
                spref.set("tt550_mon_vol", tt550_mon_vol);
385
 
                spref.set("tt550_squelch_level", tt550_squelch_level);
386
 
                spref.set("tt550_compression", tt550_compression);
387
 
                spref.set("tt550_nb_level", tt550_nb_level);
388
 
                spref.set("tt550_compON", tt550_compON);
389
 
                spref.set("tt550_tuner_bypass", tt550_tuner_bypass);
390
 
                spref.set("tt550_enable_xmtr", tt550_enable_xmtr);
391
 
                spref.set("tt550_enable_tloop", tt550_enable_tloop);
392
 
 
393
 
                spref.set("tt550_xmt_bw", tt550_xmt_bw);
394
 
                spref.set("tt550_use_xmt_bw", tt550_use_xmt_bw);
395
 
 
396
 
                spref.set("tt550_AM_level", tt550_AM_level);
397
 
 
398
 
                spref.set("tt550_use_line_in", tt550_use_line_in);
399
 
 
400
 
                spref.set("tt550_encoder_step", tt550_encoder_step);
401
 
                spref.set("tt550_encoder_sensitivity", tt550_encoder_sensitivity);
402
 
                spref.set("tt550_keypad_timeout", tt550_keypad_timeout);
403
 
 
404
 
                spref.set("tt550_F1_func", tt550_F1_func);
405
 
                spref.set("tt550_F2_func", tt550_F2_func);
406
 
                spref.set("tt550_F3_func", tt550_F3_func);
407
 
 
408
 
        } else {
409
 
                spref.set("line_out", line_out);
410
 
                spref.set("data_port", data_port);
411
 
                spref.set("vox_on_dataport", vox_on_dataport);
412
 
                spref.set("agc_level", agc_level);
413
 
                spref.set("cw_wpm", cw_wpm);
414
 
                spref.set("cw_weight", cw_weight);
415
 
                spref.set("cw_vol", cw_vol);
416
 
                spref.set("cw_spot", cw_spot);
417
 
                spref.set("spot_onoff", spot_onoff);
418
 
                spref.set("cw_spot_tone", cw_spot_tone);
419
 
                spref.set("cw_qsk", cw_qsk);
420
 
                spref.set("enable_keyer", enable_keyer);
421
 
                spref.set("vox_onoff", vox_onoff);
422
 
                spref.set("vox_gain", vox_gain);
423
 
                spref.set("vox_anti", vox_anti);
424
 
                spref.set("vox_hang", vox_hang);
425
 
                spref.set("compression", compression);
426
 
                spref.set("compON", compON);
427
 
        }
428
 
 
429
 
        spref.set("noise_reduction", noise_reduction);
430
 
        spref.set("noise_red_val", noise_reduction_val);
431
 
        spref.set("nb_level", nb_level);
432
 
 
433
 
        spref.set("bool_noise", noise);
434
 
        spref.set("int_preamp", preamp);
435
 
        spref.set("int_att", attenuator);
436
 
 
437
 
        spref.set("vfo_adj", vfo_adj);
438
 
        spref.set("bfo_freq", bfo_freq);
439
 
        spref.set("rit_freq", rit_freq);
440
 
        spref.set("xit_freq", xit_freq);
441
 
        spref.set("bpf_center", bpf_center);
442
 
        spref.set("use_bpf_center", use_bpf_center);
443
 
 
444
 
        spref.set("fg_red", fg_red);
445
 
        spref.set("fg_green", fg_green);
446
 
        spref.set("fg_blue", fg_blue);
447
 
 
448
 
        spref.set("bg_red", bg_red);
449
 
        spref.set("bg_green", bg_green);
450
 
        spref.set("bg_blue", bg_blue);
451
 
 
452
 
        spref.set("smeter_red", smeterRed);
453
 
        spref.set("smeter_green", smeterGreen);
454
 
        spref.set("smeter_blue", smeterBlue);
455
 
 
456
 
        spref.set("power_red", pwrRed);
457
 
        spref.set("power_green", pwrGreen);
458
 
        spref.set("power_blue", pwrBlue);
459
 
 
460
 
        spref.set("swr_red", swrRed);
461
 
        spref.set("swr_green", swrGreen);
462
 
        spref.set("swr_blue", swrBlue);
463
 
 
464
 
        spref.set("peak_red", peakRed);
465
 
        spref.set("peak_green", peakGreen);
466
 
        spref.set("peak_blue", peakBlue);
467
 
 
468
 
        spref.set("fg_sys_red", fg_sys_red);
469
 
        spref.set("fg_sys_green", fg_sys_green);
470
 
        spref.set("fg_sys_blue", fg_sys_blue);
471
 
 
472
 
        spref.set("bg_sys_red", bg_sys_red);
473
 
        spref.set("bg_sys_green", bg_sys_green);
474
 
        spref.set("bg_sys_blue", bg_sys_blue);
475
 
 
476
 
        spref.set("bg2_sys_red", bg2_sys_red);
477
 
        spref.set("bg2_sys_green", bg2_sys_green);
478
 
        spref.set("bg2_sys_blue", bg2_sys_blue);
479
 
 
480
 
        spref.set("slider_red", slider_red);
481
 
        spref.set("slider_green", slider_green);
482
 
        spref.set("slider_blue", slider_blue);
483
 
 
484
 
        spref.set("slider_btn_red", slider_btn_red);
485
 
        spref.set("slider_btn_green", slider_btn_green);
486
 
        spref.set("slider_btn_blue", slider_btn_blue);
487
 
 
488
 
        spref.set("lighted_btn_red", lighted_btn_red);
489
 
        spref.set("lighted_btn_green", lighted_btn_green);
490
 
        spref.set("lighted_btn_blue", lighted_btn_blue);
491
 
 
492
 
        spref.set("fontnbr", fontnbr);
493
 
 
494
 
        spref.set("tooltips", tooltips);
495
 
 
496
 
        spref.set("ui_scheme", ui_scheme.c_str());
497
 
 
498
 
        spref.set("server_port", server_port.c_str());
499
 
        spref.set("server_addr", server_addr.c_str());
500
 
 
501
 
        spref.set("xcvr_auto_on", xcvr_auto_on);
502
 
        spref.set("xcvr_auto_off", xcvr_auto_off);
503
 
 
504
 
}
505
 
 
506
 
bool status::loadXcvrState(const char *xcvr)
507
 
{
508
 
        Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", xcvr);
509
 
 
510
 
        if (spref.entryExists("version")) {
511
 
 
512
 
                int i;
513
 
                char defbuffer[200];
514
 
 
515
 
                spref.get("mainx", mainX, mainX);
516
 
                spref.get("mainy", mainY, mainY);
517
 
                spref.get("mainw", mainW, mainW);
518
 
                spref.get("mainh", mainH, mainH);
519
 
                spref.get("uisize", UIsize, UIsize);
520
 
 
521
 
                spref.get("xcvr_serial_port", defbuffer, "NONE", 199);
522
 
                xcvr_serial_port = defbuffer;
523
 
                if (xcvr_serial_port.find("tty") == 0) 
524
 
                        xcvr_serial_port.insert(0, "/dev/");
525
 
 
526
 
                rig_nbr = NONE;
527
 
                for (int i = NONE; i < LAST_RIG; i++)
528
 
                        if (strcmp(rigs[i]->name_, xcvr) == 0) {
529
 
                                rig_nbr = i;
530
 
                                break;
531
 
                        }
532
 
 
533
 
                spref.get("comm_baudrate", comm_baudrate, comm_baudrate);
534
 
                spref.get("comm_stopbits", stopbits, stopbits);
535
 
                spref.get("comm_retries", comm_retries, comm_retries);
536
 
                spref.get("comm_wait", comm_wait, comm_wait);
537
 
                spref.get("comm_timeout", comm_timeout, comm_timeout);
538
 
                spref.get("serloop_timing", serloop_timing, serloop_timing);
539
 
                if (serloop_timing < 10) serloop_timing = 10; // minimum loop delay of 10 msec
540
 
                spref.get("byte_interval", byte_interval, byte_interval);
541
 
 
542
 
                if (spref.get("comm_echo", i, i)) comm_echo = i;
543
 
                if (spref.get("ptt_via_cat", i, i)) comm_catptt = i;
544
 
                if (spref.get("ptt_via_rts", i, i)) comm_rtsptt = i;
545
 
                if (spref.get("ptt_via_dtr", i, i)) comm_dtrptt = i;
546
 
                if (spref.get("rts_cts_flow", i, i)) comm_rtscts = i;
547
 
                if (spref.get("rts_plus", i, i)) comm_rtsplus = i;
548
 
                if (spref.get("dtr_plus", i, i)) comm_dtrplus = i;
549
 
                spref.get("civadr", CIV, CIV);
550
 
                if (spref.get("usbaudio", i, i)) USBaudio = i;
551
 
 
552
 
                spref.get("aux_serial_port", defbuffer, "NONE", 199);
553
 
                aux_serial_port = defbuffer;
554
 
                if (spref.get("aux_rts", i, i)) aux_rts = i;
555
 
                if (spref.get("aux_dtr", i, i)) aux_dtr = i;
556
 
 
557
 
                spref.get("sep_serial_port", defbuffer, "NONE", 199);
558
 
                sep_serial_port = defbuffer;
559
 
                if (spref.get("sep_rtsptt", i, i)) sep_rtsptt = i;
560
 
                if (spref.get("sep_dtrptt", i, i)) sep_dtrptt = i;
561
 
                if (spref.get("sep_rtsplus", i, i)) sep_rtsplus = i;
562
 
                if (spref.get("sep_dtrplus", i, i)) sep_dtrplus = i;
563
 
 
564
 
                if (spref.get("key_fldigi", i, key_fldigi)) key_fldigi = i;
565
 
 
566
 
                spref.get("poll_smeter", poll_smeter, poll_smeter);
567
 
                spref.get("poll_frequency", poll_frequency, poll_frequency);
568
 
                spref.get("poll_mode", poll_mode, poll_mode);
569
 
                spref.get("poll_bandwidth", poll_bandwidth, poll_bandwidth);
570
 
                spref.get("poll_volume", poll_volume, poll_volume);
571
 
                spref.get("poll_auto_notch", poll_auto_notch, poll_auto_notch);
572
 
                spref.get("poll_notch", poll_notch, poll_notch);
573
 
                spref.get("poll_ifshift", poll_ifshift, poll_ifshift);
574
 
                spref.get("poll_power_control", poll_power_control, poll_power_control);
575
 
                spref.get("poll_pre_att", poll_pre_att, poll_pre_att);
576
 
                spref.get("poll_micgain", poll_micgain, poll_micgain);
577
 
                spref.get("poll_squelch", poll_squelch, poll_squelch);
578
 
                spref.get("poll_rfgain", poll_rfgain, poll_rfgain);
579
 
                spref.get("poll_pout", poll_pout, poll_pout);
580
 
                spref.get("poll_swr", poll_swr, poll_swr);
581
 
                spref.get("poll_alc", poll_alc, poll_alc);
582
 
                spref.get("poll_split", poll_split, poll_split);
583
 
                spref.get("poll_noise", poll_noise, poll_noise);
584
 
                spref.get("poll_nr", poll_nr, poll_nr);
585
 
                spref.get("poll_all", poll_all, poll_all);
586
 
 
587
 
                spref.get("bw_A", iBW_A, iBW_A);
588
 
                spref.get("mode_A", imode_A, imode_A);
589
 
                spref.get("freq_A", freq_A, freq_A);
590
 
 
591
 
                spref.get("bw_B", iBW_B, iBW_B);
592
 
                spref.get("mode_B", imode_B, imode_B);
593
 
                spref.get("freq_B", freq_B, freq_B);
594
 
        
595
 
                if (spref.get("use_rig_data", i, i)) use_rig_data = i;
596
 
                if (spref.get("restore_rig_data", i, i)) restore_rig_data = i;
597
 
 
598
 
                if (spref.get("bool_spkr_on", i, i)) spkr_on = i;
599
 
                spref.get("int_volume", volume, volume);
600
 
                spref.get("dbl_power", power_level, power_level);
601
 
                spref.get("int_mic", mic_gain, mic_gain);
602
 
                if (spref.get("bool_notch", i, i)) notch = i;
603
 
                spref.get("int_notch", notch_val, notch_val);
604
 
                if (spref.get("bool_shift", i, i)) shift = i;
605
 
                spref.get("int_shift", shift_val, shift_val);
606
 
                spref.get("rfgain", rfgain, rfgain);
607
 
                spref.get("squelch", squelch, squelch);
608
 
 
609
 
                spref.get("schema", schema, schema);
610
 
 
611
 
                spref.get("rx_avg", rx_avg, rx_avg);
612
 
                spref.get("rx_peak", rx_peak, rx_peak);
613
 
                spref.get("pwr_avg", pwr_avg, pwr_avg);
614
 
                spref.get("pwr_peak", pwr_peak, pwr_peak);
615
 
                spref.get("pwr_scale", pwr_scale, pwr_scale);
616
 
 
617
 
                if (rig_nbr == TT550) {
618
 
                        spref.get("tt550_line_out", tt550_line_out, tt550_line_out);
619
 
                        spref.get("tt550_agc_level", tt550_agc_level, tt550_agc_level);
620
 
 
621
 
                        spref.get("tt550_cw_wpm", tt550_cw_wpm, tt550_cw_wpm);
622
 
                        spref.get("tt550_cw_weight", tt550_cw_weight, tt550_cw_weight);
623
 
                        spref.get("tt550_cw_vol", tt550_cw_vol, tt550_cw_vol);
624
 
                        spref.get("tt550_cw_spot", tt550_cw_spot, tt550_cw_spot);
625
 
                        if (spref.get("tt550_spot_onoff", i, i)) tt550_spot_onoff = i;
626
 
                        spref.get("tt550_cw_qsk", tt550_cw_qsk, tt550_cw_qsk);
627
 
                        if (spref.get("tt550_enable_keyer", i, i)) tt550_enable_keyer = i;
628
 
 
629
 
                        if (spref.get("tt550_vox_onoff", i, i)) tt550_vox_onoff = i;
630
 
                        spref.get("tt550_vox_gain", tt550_vox_gain, tt550_vox_gain);
631
 
                        spref.get("tt550_vox_anti", tt550_vox_anti, tt550_vox_anti);
632
 
                        spref.get("tt550_vox_hang", tt550_vox_hang, tt550_vox_hang);
633
 
 
634
 
                        spref.get("tt550_mon_vol", tt550_mon_vol, tt550_mon_vol);
635
 
                        spref.get("tt550_squelch_level", tt550_squelch_level, tt550_squelch_level);
636
 
                        spref.get("tt550_compression", tt550_compression, tt550_compression);
637
 
                        spref.get("tt550_nb_level", tt550_nb_level, tt550_nb_level);
638
 
                        if (spref.get("tt550_compON", i, i)) tt550_compON = i;
639
 
                        if (spref.get("tt550_tuner_bypass", i, i)) tt550_tuner_bypass = i;
640
 
                        if (spref.get("tt550_enable_xmtr", i, i)) tt550_enable_xmtr = i;
641
 
                        if (spref.get("tt550_enable_tloop", i, i)) tt550_enable_tloop = i;
642
 
 
643
 
                        spref.get("tt550_xmt_bw", tt550_xmt_bw, tt550_xmt_bw);
644
 
                        if (spref.get("tt550_use_xmt_bw", i, i)) tt550_use_xmt_bw = i;
645
 
 
646
 
                        if (spref.get("tt550_use_line_in", i, i)) tt550_use_line_in = i;
647
 
 
648
 
                        spref.get("tt550_AM_level", tt550_AM_level, tt550_AM_level);
649
 
                        spref.get("tt550_encoder_step", tt550_encoder_step, tt550_encoder_step);
650
 
                        spref.get("tt550_encoder_sensitivity", tt550_encoder_sensitivity, tt550_encoder_sensitivity);
651
 
                        spref.get("tt550_keypad_timeout", tt550_keypad_timeout, tt550_keypad_timeout);
652
 
 
653
 
                        spref.get("tt550_F1_func", tt550_F1_func, tt550_F1_func);
654
 
                        spref.get("tt550_F2_func", tt550_F2_func, tt550_F2_func);
655
 
                        spref.get("tt550_F3_func", tt550_F3_func, tt550_F3_func);
656
 
 
657
 
                } 
658
 
                else {
659
 
                        spref.get("line_out", line_out, line_out);
660
 
                        spref.get("data_port", i, data_port); data_port = i;
661
 
                        spref.get("vox_on_dataport", i, vox_on_dataport); vox_on_dataport = i;
662
 
                        spref.get("agc_level", agc_level, agc_level);
663
 
                        spref.get("cw_wpm", cw_wpm, cw_wpm);
664
 
                        spref.get("cw_weight", cw_weight, cw_weight);
665
 
                        spref.get("cw_vol", cw_vol, cw_vol);
666
 
                        spref.get("cw_spot", cw_spot, cw_spot);
667
 
                        if (spref.get("spot_onoff", i, i)) spot_onoff = i;
668
 
                        spref.get("cw_spot_tone", cw_spot_tone, cw_spot_tone);
669
 
                        spref.get("cw_qsk", cw_qsk, cw_qsk);
670
 
                        if (spref.get("enable_keyer", i, i)) enable_keyer = i;
671
 
                        if (spref.get("vox_onoff", i, i)) vox_onoff = i;
672
 
                        spref.get("vox_gain", vox_gain, vox_gain);
673
 
                        spref.get("vox_anti", vox_anti, vox_anti);
674
 
                        spref.get("vox_hang", vox_hang, vox_hang);
675
 
                        spref.get("compression", compression, compression);
676
 
                        if (spref.get("compON", i, i)) compON = i;
677
 
                }
678
 
 
679
 
                if (spref.get("noise_reduction", i, i)) noise_reduction = i;
680
 
                spref.get("noise_red_val", noise_reduction_val, noise_reduction_val);
681
 
                spref.get("nb_level", nb_level, nb_level);
682
 
 
683
 
                if (spref.get("bool_noise", i, i)) noise = i;
684
 
                spref.get("int_preamp", preamp, preamp);
685
 
                spref.get("int_att", attenuator, attenuator);
686
 
 
687
 
                spref.get("vfo_adj", vfo_adj, vfo_adj);
688
 
                spref.get("bfo_freq", bfo_freq, bfo_freq);
689
 
                spref.get("rit_freq", rit_freq, rit_freq);
690
 
                spref.get("xit_freq", xit_freq, xit_freq);
691
 
                spref.get("bpf_center", bpf_center, bpf_center);
692
 
                spref.get("use_bpf_center", i, i); use_bpf_center = i;
693
 
 
694
 
                spref.get("fg_red", fg_red, fg_red);
695
 
                spref.get("fg_green", fg_green, fg_green);
696
 
                spref.get("fg_blue", fg_blue, fg_blue);
697
 
 
698
 
                spref.get("bg_red", bg_red, bg_red);
699
 
                spref.get("bg_green", bg_green, bg_green);
700
 
                spref.get("bg_blue", bg_blue, bg_blue);
701
 
 
702
 
                spref.get("smeter_red", smeterRed, smeterRed);
703
 
                spref.get("smeter_green", smeterGreen, smeterGreen);
704
 
                spref.get("smeter_blue", smeterBlue, smeterBlue);
705
 
 
706
 
                spref.get("power_red", pwrRed, pwrRed);
707
 
                spref.get("power_green", pwrGreen, pwrGreen);
708
 
                spref.get("power_blue", pwrBlue, pwrBlue);
709
 
 
710
 
                spref.get("swr_red", swrRed, swrRed);
711
 
                spref.get("swr_green", swrGreen, swrGreen);
712
 
                spref.get("swr_blue", swrBlue, swrBlue);
713
 
 
714
 
                spref.get("peak_red", peakRed, peakRed);
715
 
                spref.get("peak_green", peakGreen, peakGreen);
716
 
                spref.get("peak_blue", peakBlue, peakBlue);
717
 
 
718
 
                spref.get("fg_sys_red", fg_sys_red, fg_sys_red);
719
 
                spref.get("fg_sys_green", fg_sys_green, fg_sys_green);
720
 
                spref.get("fg_sys_blue", fg_sys_blue, fg_sys_blue);
721
 
 
722
 
                spref.get("bg_sys_red", bg_sys_red, bg_sys_red);
723
 
                spref.get("bg_sys_green", bg_sys_green, bg_sys_green);
724
 
                spref.get("bg_sys_blue", bg_sys_blue, bg_sys_blue);
725
 
 
726
 
                spref.get("bg2_sys_red", bg2_sys_red, bg2_sys_red);
727
 
                spref.get("bg2_sys_green", bg2_sys_green, bg2_sys_green);
728
 
                spref.get("bg2_sys_blue", bg2_sys_blue, bg2_sys_blue);
729
 
 
730
 
                spref.get("slider_red", slider_red, slider_red);
731
 
                spref.get("slider_green", slider_green, slider_green);
732
 
                spref.get("slider_blue", slider_blue, slider_blue);
733
 
 
734
 
                spref.get("slider_btn_red", slider_btn_red, slider_btn_red);
735
 
                spref.get("slider_btn_green", slider_btn_green, slider_btn_green);
736
 
                spref.get("slider_btn_blue", slider_btn_blue, slider_btn_blue);
737
 
 
738
 
                spref.get("lighted_btn_red", lighted_btn_red, lighted_btn_red);
739
 
                spref.get("lighted_btn_green", lighted_btn_green, lighted_btn_green);
740
 
                spref.get("lighted_btn_blue", lighted_btn_blue, lighted_btn_blue);
741
 
 
742
 
                i = (int)fontnbr;
743
 
                spref.get("fontnbr", i, i); fontnbr = (Fl_Font)i;
744
 
                i = 0;
745
 
                if (spref.get("tooltips", i, i)) tooltips = i;
746
 
 
747
 
                spref.get("ui_scheme", defbuffer, "gtk+", 199);
748
 
                ui_scheme = defbuffer;
749
 
 
750
 
                spref.get("server_port", defbuffer, "7362", 199);
751
 
                server_port = defbuffer;
752
 
 
753
 
                spref.get("server_addr", defbuffer, "127.0.0.1", 199);
754
 
                server_addr = defbuffer;
755
 
 
756
 
                if (spref.get("xcvr_auto_on", i, i)) xcvr_auto_on = i;
757
 
                if (spref.get("xcvr_auto_off", i, i)) xcvr_auto_off = i;
758
 
        }
759
 
 
760
 
        return true;
761
 
}
762
 
 
763
 
void status::loadLastState()
764
 
{
765
 
        Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
766
 
        if (xcvrpref.entryExists("last_xcvr_used")) {
767
 
                char defbuffer[200];
768
 
                xcvrpref.get("last_xcvr_used", defbuffer, "none", 199);
769
 
                last_xcvr_used = defbuffer;
770
 
        }
771
 
        loadXcvrState(last_xcvr_used.c_str());
772
 
}
773
 
 
774
 
void status::UI_laststate()
775
 
{
776
 
        Fl_Color bgclr = fl_rgb_color(bg_red, bg_green, bg_blue);
777
 
        Fl_Color fgclr = fl_rgb_color(fg_red, fg_green, fg_blue);
778
 
 
779
 
        Fl::background( bg_sys_red, bg_sys_green, bg_sys_blue);
780
 
        Fl::background2( bg2_sys_red, bg2_sys_green, bg2_sys_blue);
781
 
        Fl::foreground( fg_sys_red, fg_sys_green, fg_sys_blue);
782
 
 
783
 
        FreqDispA->SetONOFFCOLOR( fgclr, bgclr );
784
 
        FreqDispA->font(fontnbr);
785
 
        FreqDispB->SetONOFFCOLOR( fgclr, fl_color_average(bgclr, FL_BLACK, 0.87));
786
 
        FreqDispB->font(fontnbr);
787
 
 
788
 
        scaleSmeter->color(bgclr);
789
 
        scaleSmeter->labelcolor(fgclr);
790
 
        scalePower->color(bgclr);
791
 
        scalePower->labelcolor(fgclr);
792
 
        btnALC_SWR->color(bgclr);
793
 
        btnALC_SWR->labelcolor(fgclr);
794
 
 
795
 
        sldrFwdPwr->color(fl_rgb_color (pwrRed, pwrGreen, pwrBlue), bgclr);
796
 
        sldrFwdPwr->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
797
 
 
798
 
        sldrRcvSignal->color(fl_rgb_color (smeterRed, smeterGreen, smeterBlue), bgclr);
799
 
        sldrRcvSignal->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
800
 
 
801
 
        sldrALC->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
802
 
        sldrALC->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
803
 
 
804
 
        sldrSWR->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
805
 
        sldrSWR->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
806
 
 
807
 
        if (UIsize != small_ui)
808
 
                meter_fill_box->color(bgclr);
809
 
 
810
 
        grpMeters->color(bgclr);
811
 
        grpMeters->labelcolor(fgclr);
812
 
 
813
 
        Fl_Color btn_lt_color = fl_rgb_color(lighted_btn_red, lighted_btn_green, lighted_btn_blue);
814
 
        if (btnVol)                             btnVol->selection_color(btn_lt_color);
815
 
        if (btnNR)                              btnNR->selection_color(btn_lt_color);
816
 
        if (btnIFsh)                    btnIFsh->selection_color(btn_lt_color);
817
 
        if (btnNotch)                   btnNotch->selection_color(btn_lt_color);
818
 
        if (btnA)                               btnA->selection_color(btn_lt_color);
819
 
        if (btnB)                               btnB->selection_color(btn_lt_color);
820
 
        if (btnSplit)                   btnSplit->selection_color(btn_lt_color);
821
 
        if (btnAttenuator)              btnAttenuator->selection_color(btn_lt_color);
822
 
        if (btnPreamp)                  btnPreamp->selection_color(btn_lt_color);
823
 
        if (btnNOISE)                   btnNOISE->selection_color(btn_lt_color);
824
 
        if (btnAutoNotch)               btnAutoNotch->selection_color(btn_lt_color);
825
 
        if (btnTune)                    btnTune->selection_color(btn_lt_color);
826
 
        if (btnPTT)                             btnPTT->selection_color(btn_lt_color);
827
 
        if (btnAuxRTS)                  btnAuxRTS->selection_color(btn_lt_color);
828
 
        if (btnAuxDTR)                  btnAuxDTR->selection_color(btn_lt_color);
829
 
        if (btnSpot)                    btnSpot->selection_color(btn_lt_color);
830
 
        if (btn_vox)                    btn_vox->selection_color(btn_lt_color);
831
 
        if (btnCompON)                  btnCompON->selection_color(btn_lt_color);
832
 
        if (btnSpecial)                 btnSpecial->selection_color(btn_lt_color);
833
 
        if (btn_tt550_vox)              btn_tt550_vox->selection_color(btn_lt_color);
834
 
        if (btn_tt550_CompON)   btn_tt550_CompON->selection_color(btn_lt_color);
835
 
 
836
 
        Fl_Color bg_slider = fl_rgb_color(slider_red, slider_green, slider_blue);
837
 
        Fl_Color btn_slider = fl_rgb_color(slider_btn_red, slider_btn_green, slider_btn_blue);
838
 
        if (sldrVOLUME)                 sldrVOLUME->color(bg_slider);
839
 
        if (sldrVOLUME)                 sldrVOLUME->selection_color(btn_slider);
840
 
        if (sldrRFGAIN)                 sldrRFGAIN->color(bg_slider);
841
 
        if (sldrRFGAIN)                 sldrRFGAIN->selection_color(btn_slider);
842
 
        if (sldrSQUELCH)                sldrSQUELCH->color(bg_slider);
843
 
        if (sldrSQUELCH)                sldrSQUELCH->selection_color(btn_slider);
844
 
        if (sldrNR)                             sldrNR->color(bg_slider);
845
 
        if (sldrNR)                             sldrNR->selection_color(btn_slider);
846
 
        if (sldrIFSHIFT)                sldrIFSHIFT->color(bg_slider);
847
 
        if (sldrIFSHIFT)                sldrIFSHIFT->selection_color(btn_slider);
848
 
        if (sldrNOTCH)                  sldrNOTCH->color(bg_slider);
849
 
        if (sldrNOTCH)                  sldrNOTCH->selection_color(btn_slider);
850
 
        if (sldrMICGAIN)                sldrMICGAIN->color(bg_slider);
851
 
        if (sldrMICGAIN)                sldrMICGAIN->selection_color(btn_slider);
852
 
        if (sldrPOWER)                  sldrPOWER->color(bg_slider);
853
 
        if (sldrPOWER)                  sldrPOWER->selection_color(btn_slider);
854
 
 
855
 
        if (use_rig_data) mnuKeepData->set();
856
 
        else mnuKeepData->clear();
857
 
 
858
 
        if (restore_rig_data) mnuRestoreData->set();
859
 
        else mnuRestoreData->clear();
860
 
 
861
 
        Fl::scheme(ui_scheme.c_str());
862
 
}