Adding 800 to new CW bookmarks, refactored frequency functions.
This commit is contained in:
parent
99cb81ea9b
commit
09d1bd81ef
|
|
@ -106,6 +106,7 @@ BookmarkBar.prototype.render = function(){
|
||||||
|
|
||||||
BookmarkBar.prototype.showEditDialog = function(bookmark) {
|
BookmarkBar.prototype.showEditDialog = function(bookmark) {
|
||||||
if (!bookmark) {
|
if (!bookmark) {
|
||||||
|
var freq = UI.getFrequency();
|
||||||
var mode1 = UI.getModulation();
|
var mode1 = UI.getModulation();
|
||||||
var mode2 = UI.getUnderlying();
|
var mode2 = UI.getUnderlying();
|
||||||
if (!!mode1 && !!mode2) {
|
if (!!mode1 && !!mode2) {
|
||||||
|
|
@ -114,12 +115,12 @@ BookmarkBar.prototype.showEditDialog = function(bookmark) {
|
||||||
if (m && m.underlying.indexOf(mode2) == 0) mode2 = '';
|
if (m && m.underlying.indexOf(mode2) == 0) mode2 = '';
|
||||||
}
|
}
|
||||||
bookmark = {
|
bookmark = {
|
||||||
name: '',
|
name : '',
|
||||||
frequency: UI.getFrequency(),
|
frequency : mode1 === 'cw'? freq + 800 : freq,
|
||||||
modulation: mode1,
|
modulation : mode1,
|
||||||
underlying: mode2,
|
underlying : mode2,
|
||||||
description: '',
|
description : '',
|
||||||
scannable : this.modesToScan.indexOf(mode1) >= 0
|
scannable : this.modesToScan.indexOf(mode1) >= 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.$dialog.bookmarkDialog().setValues(bookmark);
|
this.$dialog.bookmarkDialog().setValues(bookmark);
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ UI.loadSettings = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// Frequency and Modulation Controls
|
// Modulation Controls
|
||||||
//
|
//
|
||||||
|
|
||||||
UI.getDemodulatorPanel = function() {
|
UI.getDemodulatorPanel = function() {
|
||||||
|
|
@ -78,22 +78,6 @@ UI.getDemodulator = function() {
|
||||||
return this.getDemodulatorPanel().getDemodulator();
|
return this.getDemodulatorPanel().getDemodulator();
|
||||||
}
|
}
|
||||||
|
|
||||||
UI.getOffsetFrequency = function() {
|
|
||||||
return this.getDemodulator().get_offset_frequency();
|
|
||||||
};
|
|
||||||
|
|
||||||
UI.setOffsetFrequency = function(offset) {
|
|
||||||
return this.getDemodulator().set_offset_frequency(offset);
|
|
||||||
};
|
|
||||||
|
|
||||||
UI.getFrequency = function() {
|
|
||||||
return center_freq + this.getOffsetFrequency();
|
|
||||||
};
|
|
||||||
|
|
||||||
UI.setFrequency = function(freq) {
|
|
||||||
return this.setOffsetFrequency(freq - center_freq);
|
|
||||||
};
|
|
||||||
|
|
||||||
UI.getModulation = function() {
|
UI.getModulation = function() {
|
||||||
var mode1 = this.getDemodulator().get_secondary_demod();
|
var mode1 = this.getDemodulator().get_secondary_demod();
|
||||||
var mode2 = this.getDemodulator().get_modulation();
|
var mode2 = this.getDemodulator().get_modulation();
|
||||||
|
|
@ -110,6 +94,42 @@ UI.setModulation = function(mode, underlying) {
|
||||||
this.getDemodulatorPanel().setMode(mode, underlying);
|
this.getDemodulatorPanel().setMode(mode, underlying);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// Frequency Controls
|
||||||
|
//
|
||||||
|
|
||||||
|
UI.getOffsetFrequency = function(x) {
|
||||||
|
if (typeof(x) === 'undefined') {
|
||||||
|
// No argument: return currently tuned offset
|
||||||
|
return this.getDemodulator().get_offset_frequency();
|
||||||
|
} else {
|
||||||
|
// Pointer position: return offset under pointer
|
||||||
|
// Use rounded absolute frequency to get offset
|
||||||
|
return this.getFrequency(x) - center_freq;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
UI.getFrequency = function(x) {
|
||||||
|
if (typeof(x) === 'undefined') {
|
||||||
|
// No argument: return currently tuned frequency
|
||||||
|
return center_freq + this.getOffsetFrequency();
|
||||||
|
} else {
|
||||||
|
// Pointer position: return frequency under pointer
|
||||||
|
x = x / canvas_container.clientWidth;
|
||||||
|
x = center_freq + (bandwidth * x) - (bandwidth / 2);
|
||||||
|
return tuning_step>0?
|
||||||
|
Math.round(x / tuning_step) * tuning_step : Math.round(x);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
UI.setOffsetFrequency = function(offset) {
|
||||||
|
return this.getDemodulator().set_offset_frequency(offset);
|
||||||
|
};
|
||||||
|
|
||||||
|
UI.setFrequency = function(freq) {
|
||||||
|
return this.setOffsetFrequency(freq - center_freq);
|
||||||
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// Volume Controls
|
// Volume Controls
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -513,21 +513,6 @@ function resize_scale() {
|
||||||
bookmarks.position();
|
bookmarks.position();
|
||||||
}
|
}
|
||||||
|
|
||||||
function canvas_get_freq_offset(relativeX) {
|
|
||||||
var rel = (relativeX / canvas_container.clientWidth);
|
|
||||||
var off = (bandwidth * rel) - (bandwidth / 2);
|
|
||||||
|
|
||||||
return tuning_step>0?
|
|
||||||
Math.round(off / tuning_step) * tuning_step : Math.round(off);
|
|
||||||
}
|
|
||||||
|
|
||||||
function canvas_get_frequency(relativeX) {
|
|
||||||
var f = center_freq + canvas_get_freq_offset(relativeX);
|
|
||||||
|
|
||||||
return tuning_step>0? Math.round(f / tuning_step) * tuning_step : f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function format_frequency(format, freq_hz, pre_divide, decimals) {
|
function format_frequency(format, freq_hz, pre_divide, decimals) {
|
||||||
var out = format.replace("{x}", (freq_hz / pre_divide).toFixed(decimals));
|
var out = format.replace("{x}", (freq_hz / pre_divide).toFixed(decimals));
|
||||||
var at = out.indexOf(".") + 4;
|
var at = out.indexOf(".") + 4;
|
||||||
|
|
@ -704,7 +689,7 @@ function canvas_mousemove(evt) {
|
||||||
if (!waterfall_setup_done) return;
|
if (!waterfall_setup_done) return;
|
||||||
var relativeX = get_relative_x(evt);
|
var relativeX = get_relative_x(evt);
|
||||||
if (!canvas_mouse_down) {
|
if (!canvas_mouse_down) {
|
||||||
UI.getDemodulatorPanel().setMouseFrequency(canvas_get_frequency(relativeX));
|
UI.getDemodulatorPanel().setMouseFrequency(UI.getFrequency(relativeX));
|
||||||
} else {
|
} else {
|
||||||
if (!canvas_drag && Math.abs(evt.pageX - canvas_drag_start_x) > canvas_drag_min_delta) {
|
if (!canvas_drag && Math.abs(evt.pageX - canvas_drag_start_x) > canvas_drag_min_delta) {
|
||||||
canvas_drag = true;
|
canvas_drag = true;
|
||||||
|
|
@ -744,7 +729,7 @@ function canvas_mouseup(evt) {
|
||||||
var relativeX = get_relative_x(evt);
|
var relativeX = get_relative_x(evt);
|
||||||
|
|
||||||
if (!canvas_drag) {
|
if (!canvas_drag) {
|
||||||
var f = canvas_get_freq_offset(relativeX);
|
var f = UI.getOffsetFrequency(relativeX);
|
||||||
// For CW, move offset 800Hz below the actual carrier
|
// For CW, move offset 800Hz below the actual carrier
|
||||||
if (UI.getModulation() === 'cw') f = f - 800;
|
if (UI.getModulation() === 'cw') f = f - 800;
|
||||||
UI.setOffsetFrequency(f);
|
UI.setOffsetFrequency(f);
|
||||||
|
|
@ -827,7 +812,7 @@ function zoom_step(out, where, onscreen) {
|
||||||
if (out) --zoom_level;
|
if (out) --zoom_level;
|
||||||
else ++zoom_level;
|
else ++zoom_level;
|
||||||
|
|
||||||
zoom_center_rel = canvas_get_freq_offset(where);
|
zoom_center_rel = UI.getOffsetFrequency(where);
|
||||||
//console.log("zoom_step || zlevel: "+zoom_level.toString()+" zlevel_val: "+zoom_levels[zoom_level].toString()+" zoom_center_rel: "+zoom_center_rel.toString());
|
//console.log("zoom_step || zlevel: "+zoom_level.toString()+" zlevel_val: "+zoom_levels[zoom_level].toString()+" zoom_center_rel: "+zoom_center_rel.toString());
|
||||||
zoom_center_where = onscreen;
|
zoom_center_where = onscreen;
|
||||||
//console.log(zoom_center_where, zoom_center_rel, where);
|
//console.log(zoom_center_where, zoom_center_rel, where);
|
||||||
|
|
@ -841,7 +826,7 @@ function zoom_set(level) {
|
||||||
if (!(level >= 0 && level <= zoom_levels.length - 1)) return;
|
if (!(level >= 0 && level <= zoom_levels.length - 1)) return;
|
||||||
level = parseInt(level);
|
level = parseInt(level);
|
||||||
zoom_level = level;
|
zoom_level = level;
|
||||||
//zoom_center_rel=canvas_get_freq_offset(-canvases[0].offsetLeft+waterfallWidth()/2); //zoom to screen center instead of demod envelope
|
//zoom_center_rel=UI.getOffsetFrequency(-canvases[0].offsetLeft+waterfallWidth()/2); //zoom to screen center instead of demod envelope
|
||||||
var demodulator = UI.getDemodulator();
|
var demodulator = UI.getDemodulator();
|
||||||
zoom_center_rel = demodulator != null? demodulator.get_offset_frequency() : 0;
|
zoom_center_rel = demodulator != null? demodulator.get_offset_frequency() : 0;
|
||||||
zoom_center_where = 0.5 + (zoom_center_rel / bandwidth); //this is a kind of hack
|
zoom_center_where = 0.5 + (zoom_center_rel / bandwidth); //this is a kind of hack
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue