<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ocotal.iarc.uaf.edu/index.php?action=history&amp;feed=atom&amp;title=Src-perl-loggerdata</id>
	<title>Src-perl-loggerdata - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ocotal.iarc.uaf.edu/index.php?action=history&amp;feed=atom&amp;title=Src-perl-loggerdata"/>
	<link rel="alternate" type="text/html" href="http://ocotal.iarc.uaf.edu/index.php?title=Src-perl-loggerdata&amp;action=history"/>
	<updated>2026-04-20T00:21:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://ocotal.iarc.uaf.edu/index.php?title=Src-perl-loggerdata&amp;diff=374&amp;oldid=prev</id>
		<title>imported&gt;Ken at 21:24, 6 July 2007</title>
		<link rel="alternate" type="text/html" href="http://ocotal.iarc.uaf.edu/index.php?title=Src-perl-loggerdata&amp;diff=374&amp;oldid=prev"/>
		<updated>2007-07-06T21:24:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:24, 6 July 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;=loggerdata.pl&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=loggerdata.pl=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The '''loggerdata.pl''' script is the workhorse of WERC's data&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The '''loggerdata.pl''' script is the workhorse of WERC's data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gathering system from CR10X loggers, and besides the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;querylogger.pl&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gathering system from CR10X loggers, and besides the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Src-perl-querylogger|&lt;/ins&gt;querylogger.pl&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(see above) &lt;/del&gt;is the only script we've written around the Campbell::Comm&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;script is the only script we've written around the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Src-perl-Campbell::Comm|&lt;/ins&gt;Campbell::Comm&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;module.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;module.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See below for the [[#data site architecture]] assumed by the system.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See below &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(or elsewhere??) &lt;/ins&gt;for the [[#data site architecture]] assumed by the system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Like [[#querylogger.pl]], '''loggerdata.pl''' runs in&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Like [[#querylogger.pl]], '''loggerdata.pl''' runs in&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Ken</name></author>
		
	</entry>
	<entry>
		<id>http://ocotal.iarc.uaf.edu/index.php?title=Src-perl-loggerdata&amp;diff=373&amp;oldid=prev</id>
		<title>imported&gt;Ken at 21:17, 6 July 2007</title>
		<link rel="alternate" type="text/html" href="http://ocotal.iarc.uaf.edu/index.php?title=Src-perl-loggerdata&amp;diff=373&amp;oldid=prev"/>
		<updated>2007-07-06T21:17:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==loggerdata.pl==&lt;br /&gt;
&lt;br /&gt;
The '''loggerdata.pl''' script is the workhorse of WERC's data&lt;br /&gt;
gathering system from CR10X loggers, and besides the '''querylogger.pl'''&lt;br /&gt;
script (see above) is the only script we've written around the Campbell::Comm&lt;br /&gt;
module.&lt;br /&gt;
&lt;br /&gt;
See below for the [[#data site architecture]] assumed by the system.&lt;br /&gt;
&lt;br /&gt;
Like [[#querylogger.pl]], '''loggerdata.pl''' runs in&lt;br /&gt;
a non-interactive or ''batch'' mode.  But where the former program is&lt;br /&gt;
driven according to the set of commands provided on the command line, the&lt;br /&gt;
latter is hard-wired to follow a set sequence of commands.&lt;br /&gt;
&lt;br /&gt;
As with any computer program, the details of what this program does are&lt;br /&gt;
spelled out in its source code.  The following steps are from memory, and&lt;br /&gt;
should be confirmed...&lt;br /&gt;
        &lt;br /&gt;
* a connection is established to the datalogger&lt;br /&gt;
* several ''escape characters'' are sent in case the datalogger has been left in&lt;br /&gt;
* the datalogger command prompt, '''&amp;quot;*&amp;quot;''' is obtained&lt;br /&gt;
* the &amp;quot;next data memory location&amp;quot; ('''DSP''') is retrieved from the site state o&lt;br /&gt;
* the datalogger's current data memory position ('''MPTR''') is obtained&lt;br /&gt;
* the '''G''' logger telecommunications command is used to set the '''MPTR''' to&lt;br /&gt;
* data is requested in either ASCII (the '''D''' command) or binary (the '''F'''&lt;br /&gt;
* incoming data is integrity-checked using checksums or ''signatures''&lt;br /&gt;
* confirmed-good data is stored on disk&lt;br /&gt;
* update the stored '''DSP''' state information &lt;br /&gt;
* repeat the above data query steps until:&lt;br /&gt;
** the '''DSP''' value reaches the logger's '''MPTR'''&lt;br /&gt;
** the query times out&lt;br /&gt;
** the allowed processing time for the session elapses&lt;br /&gt;
* query the datalogger's time&lt;br /&gt;
** if the logger time is off by more than a specified amount (e.g., 10 seconds),&lt;br /&gt;
* if the logger program hasn't been downloaded for greater than a specified time&lt;br /&gt;
** store the logger program to a '''version control system''' (RCS)&lt;br /&gt;
* query and store the datalogger ''flags'' settings&lt;br /&gt;
* disconnect from the remote logger&lt;br /&gt;
* compose a ''log message'' summarizing the session&lt;br /&gt;
** print the log message if the session has been run by a user&lt;br /&gt;
** append the log message to the site log file&lt;br /&gt;
&lt;br /&gt;
In summary, the '''loggerdata.pl''' program:&lt;br /&gt;
&lt;br /&gt;
* tries to download data from the last available location&lt;br /&gt;
** all data retrieved is integrity-checked, then stored&lt;br /&gt;
* checks (&amp;amp; maybe sets) the time&lt;br /&gt;
* maybe downloads the datalogger's current program&lt;br /&gt;
&lt;br /&gt;
In general, we make every attempt to ensure that data is downloaded as&lt;br /&gt;
it exists on the datalogger, and safely stored on the data-gathering&lt;br /&gt;
computer.  Data is not skipped; in particular, if a remote site has &amp;quot;fallen&lt;br /&gt;
behind&amp;quot;, the program will patiently and persistently try to bring the&lt;br /&gt;
local (on-computer) data store in line with the remote logger.&lt;br /&gt;
&lt;br /&gt;
The datalogger's time setting is of particular importance mainly so that&lt;br /&gt;
connection times can be kept ''in synch'', assuming that the radios are&lt;br /&gt;
powered on only at certain times.  Of course, another benefit in checking/settin&lt;br /&gt;
the logger's time is that the stored data timestamps are meaningful in an&lt;br /&gt;
absolute sense -- but note that this could also be achieved by only checking&lt;br /&gt;
(and not setting) the time.&lt;/div&gt;</summary>
		<author><name>imported&gt;Ken</name></author>
		
	</entry>
</feed>