unfolds($("#show_table_control_settings"),$("#table_control_settings_container"));
unfolds($("#show_pmt_spectrum"),$("#pmt_spectrum_container"));
+ unfolds($("#show_scan_pattern"),$("#scan_pattern_container"));
+ $("#scan_pattern_container").bind('isVisible',function(){
+ get_pattern_svg();
+ });
+
$("#button_home").click(function(){
home();
});
if($('#checkbox_log_spectrum').prop('checked')){
$.extend(options,{
yaxis: {
- transform: function (v) { return Math.log(v); },
+ min: 0.1,
+ ticks: [0.001,0.01,0.1,1,10,100,1000,10000,100000,1e6],
+ transform: function(v) { return v == 0 ? Math.log(0.00001) : Math.log(v) },
+// transform: function (v) { return Math.log(v+0.0001); },
inverseTransform: function (v) { return Math.exp(v); }
}
});
});
}
+function get_pattern_svg(){
+ $.ajax({
+ url: "table_control.pl",
+ cache: false,
+ async: true,
+ dataType: "text",
+ data: {
+ sub : "scan_pattern_to_svg"
+ },
+ success: function(answer) {
+ $("#pattern_svg_container").html(answer);
+ }
+ });
+}
+
function get_scan_meta(){
$.ajax({
url: "coral_scanner.pl",
return return_obj;
}
+
+
function get_spectrum_JSON(){
var return_obj;
$.ajax({
print "<p id='show_main_controls' class='quasibutton' >main controls</p>";
print "<div id='main_controls_container' class='stylishBox padded'>";
- print '<div style="width: 600px; height: 270px; overflow-x: scroll;">';
- $self->{table_control}->scan_pattern_to_svg(html_tag => 1);
- print '</div>';
+
print '<div id="scan_container" style="width: 600px; height: 270px; overflow-x: scroll;">';
# $self->scan_to_svg();
print "<input type='button' id='button_record_spectrum' value='record spectrum'>";
print "</div>";
+ print "<p id='show_scan_pattern' class='quasibutton' >scan pattern</p>";
+ print "<div id='scan_pattern_container' class='stylishBox padded hidden_by_default'>";
+ print '<div id="pattern_svg_container" style="width: 600px; height: 270px; overflow-x: scroll;">';
+# $self->{table_control}->scan_pattern_to_svg(html_tag => 1);
+ print '</div>';
+ print "</div>";
+
print "<p id='show_pmt_ro_settings' class='quasibutton' >pmt_ro settings</p>";
print "<div align=right id='pmt_ro_settings_container' class='stylishBox settings_form hidden_by_default'>";
$self->{pmt_ro}->settings_form();
my %options = @_;
my $tc = $self->{table_control};
-
my $ro = $self->{pmt_ro};
-
-
-
-
-# $tc->home();
-# $tc->scan( eval => 'print("test\n");' );
my $scan_pattern = $tc->scan_pattern();
-
my $ETA = $self->scan_ETA();
$self->{status_shm}->updateShm({
};
$self->{current_scan}->{data} = [];
+ my $points_scanned = 0;
+
for my $point (@{$scan_pattern->{points}}) {
$tc->go_xy( x => $point->{x}, y => $point->{y});
my $counts = $ro->count(delay => $delay, channel => "signal");
my $col = $point->{col};
my $row = $point->{row};
+ $points_scanned += 1;
$self->{current_scan}->{data}->[$row]->[$col] = $counts;
print "counts: $counts\n";
%$status,
action => "aborted",
abort => 0,
- current_col => $col,
- current_row => $row,
+ current_col => ($col+1),
+ current_row => ($row+1),
seconds_left => 0
};
$self->{status_shm}->writeShm($status);
# last; # stop the acquisition loop!
exit;
} else {
- my $seconds_left = floor($status->{ETA} * (1 - $row/$status->{rows}));
+# my $seconds_left = floor($status->{ETA} * (1 - $row/$status->{rows}));
+ my $seconds_left = floor($status->{ETA} * (1 - $points_scanned/$scan_pattern->{number_points}));
$status = {
%$status,
- current_col => $col,
- current_row => $row,
+ current_col => ($col+1),
+ current_row => ($row+1),
seconds_left => $seconds_left
};
$self->{status_shm}->writeShm($status);
new_button_text = button_text.replace("[-]","[+]");
} else {
new_button_text = button_text.replace("[+]","[-]");
+ container.trigger('isVisible');
}
container.fadeToggle();
$('html, body').animate({
scrollTop: container.offset().top
- }, 2000);
+ }, 1000);
button.html(new_button_text);
}
}
+// use unfold with an event trigger:
+
+// unfolds($("#show_scan_pattern"),$("#scan_pattern_container"));
+// $("#scan_pattern_container").bind('isVisible',function(){
+// alert("div becomes visible");
+// get_pattern_svg();
+// });
+
+
function flot_w_selectZoom(id,data,options) {
$.plot(id, data, options);