ladcp1
changeset 0 648bde652211
child 4 fda11de1826e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ladcp1	Mon Oct 12 16:56:59 2009 -0400
@@ -0,0 +1,109 @@
+#!/usr/bin/expect -f
+#======================================================================
+#                    L A D C P 1 
+#                    doc: Wed Mar 10 22:23:52 2004
+#                    dlm: Wed Nov 19 15:15:57 2008
+#                    (c) 2004 A.M. Thurnherr
+#                    uE-Info: 28 14 NIL 0 0 72 2 2 8 NIL ofnI
+#======================================================================
+
+# HISTORY:
+#  Apr  4, 2004: - adapted from [ladcp2]
+#  Jun 17, 2004: - BUG: bombed on station #008 (octal digit)
+#  Feb 14, 2006: - BUG: log files were written to bin dir
+#  Oct 28, 2006: - adapted to old version of expect
+#  Oct 31, 2007: - BUG: wrong default on non-empty memory
+#  Nov 19, 2008: - adapted to new firmware behavior (load_factory_defaults)
+#  Nov 19, 2008: - added version
+
+#----------------------------------------------------------------------
+# Setup
+#----------------------------------------------------------------------
+
+log_user 0;
+source DEFAULTS.expect;
+regsub {dir1} [exec which dir1] {libBB.expect} path;
+source $path;
+
+print_version;
+
+if {$argc == 0} {
+	set ask 1;
+	if {[file isfile .last_stn]} {
+		set stn [expr [exec cat .last_stn] + 1];
+		set stnstr [format $stn_format $stn];
+		if {[affirm "Use station number $stnstr? (y/N) " 10]} {
+			set ask 0;
+		}
+	}
+	if {$ask == 1} {
+		set stn [input_int "Station number = "];
+		set stnstr [format $stn_format $stn];
+	}
+} else {
+	set stn [lindex $argv 0];
+	set stnstr [format $stn_format $stn];
+}
+
+if ![file isdirectory $raw_dir] {
+	error "directory $raw_dir does not exist";
+}
+set cast_dir [format %s/%s $raw_dir $stnstr];
+if [file isdirectory $cast_dir] {
+	error "data directory $cast_dir already exists!";
+}
+set prev_cast_dir [format %s/$stn_format $raw_dir [expr $stn - 1]];
+if {![file isdirectory $prev_cast_dir]} {
+	if {![affirm "WARNING: previous-station data directory $prev_cast_dir does not exist --- are you sure the station number $stnstr is ok? (y/N) " 10]} {
+		send_error "$argv0 aborted\n";
+		exit 0;
+	}
+}
+
+#----------------------------------------------------------------------
+# Deploy LADCP
+#----------------------------------------------------------------------
+
+set_color;
+send_user "Connecting to instrument...";
+spawn bbabble -ms $tty0;
+wait_for_startup;
+reset_instrument;
+if {![memory_empty]} {
+	if {![affirm "\nWARNING: Memory is not empty; continue anyway? (y/N) " 10]} {
+		send_user "Putting instrument to sleep...";
+		put_to_sleep;
+		send_user "\nDone\n";
+		exit;
+	}
+} else {
+	send_user "\n";
+}
+
+exec mkdir $cast_dir;
+exec cp $master_cmd_file $cast_dir;
+exec echo $stn > .last_stn;
+cd $cast_dir;
+
+if {![file isfile $master_cmd_file]} {
+	error "Failed to copy $master_cmd_file to [pwd]";
+}
+
+
+regsub {.*/} $argv0 {} basename;
+start_logging [format %s_%s.log $basename $stnstr];
+
+send_user "Resetting instrument to factory defaults...";
+load_factory_defaults;
+
+send_user "\nSetting instrument clock...";
+set_computer_time;
+set_instrument_clock;
+
+send_user "\nSetting deployment name...";
+set_deployment_name [format $master_deployment_name_fmt $stn];
+
+send_user "\nUploading command file";
+upload_file $master_cmd_file [format %s_log $master_cmd_file] "[format $master_deployment_name_fmt $stn].hwconfig";
+
+send_user "\nDone\n";