use Debug;
use SMGLog;
use Math::Round qw(nearest);
+use File::Copy;
+use Data::Random qw(rand_chars);
use constant pi => 3.14159265358979;
write_ld();
close $dataf if $dataf;
+# move all the files along one
+cycle_loop_data_files();
+
dbg '***';
dbg "*** ending $0";
dbg '***';
sub loop
{
-
- open $dataf, "+>>", $datafn or die "cannot open $datafn $!";
- $dataf->autoflush(1);
-
read_ld();
dbg "last_min: " . scalar gmtime($ld->{last_min});
if ($dayno > $ld->{last_day}) {
$ld->{Temp_Out_Max} = $ld->{Temp_Out_Min} = $temp;
$ld->{last_day} = $dayno;
+ write_ld();
+ cycle_loop_data_files();
}
$ld->{Temp_Out_Max} = $temp if $temp > $ld->{Temp_Out_Max};
$ld->{Temp_Out_Min} = $temp if $temp < $ld->{Temp_Out_Min};
sub read_ld
{
- return unless $dataf;
+ unless ($dataf) {
+ open $dataf, "+>>", $datafn or die "cannot open $datafn $!";
+ $dataf->autoflush(1);
+ }
seek $dataf, 0, 0;
my $s = <$dataf>;
sub write_ld
{
- return unless $dataf;
-
+ unless ($dataf) {
+ open $dataf, "+>>", $datafn or die "cannot open $datafn $!";
+ $dataf->autoflush(1);
+ }
+
seek $dataf, 0, 0;
truncate $dataf, 0;
$ld->{ts} = time;
print $dataf "$s\n";
}
+sub cycle_loop_data_files
+{
+ close $dataf if $dataf;
+
+ rename "$datafn.oooo", "$datafn.ooooo";
+ rename "$datafn.ooo", "$datafn.oooo";
+ rename "$datafn.oo", "$datafn.ooo";
+ rename "$datafn.o", "$datafn.oo";
+ copy $datafn, "$datafn.o";
+}
__DATA__
<br><br>
<table border=1 width=80%>
+<tr>
<th>Time:<td><span id="tm"> </span>
+<th>Sunrise:<td><span id="Sunrise"> </span>
+<th>Sunset:<td><span id="Sunset"> </span>
+<th>Console Volts:<td><span id="Batt_Console"> </span>
+<th>TX Battery OK:<td><span id="Batt_TX_OK"> </span>
+
<tr>
<th>Pressure:<td><span id="Pressure"> </span>
+<th>Trend:<td><span id="Pressure_Trend_txt"> </span>
+
<tr>
<th>Temperature in:<td> <span id="Temp_In"> </span>
<th>Humidity:<td> <span id="Humidity_In"> </span>
+
<tr>
<th>Temperature out:<td> <span id="Temp_Out"> </span>
<th>Min:<td> <span id="Temp_Out_Min"> </span>
<th>Max:<td> <span id="Temp_Out_Max"> </span>
<th>Humidity:<td> <span id="Humidity_Out"> </span>
<th>Dew Point:<td> <span id="Dew_Point"> </span>
+
<tr>
<th>Wind Direction:<td> <span id="Dir"> </span>
-<th>Minute:<td> <span id="Dir_1m"> </span>
+<th>Minute Avg:<td> <span id="Dir_1m"> </span>
<th>Speed:<td> <span id="Wind"> </span>
-<th>Minute:<td> <span id="Wind_1m"> </span>
+<th>Minute Avg:<td> <span id="Wind_1m"> </span>
+
<tr>
-<th>Rain Hour:<td> <span id="Rain_1h"> </span>
+<th>Rain 30mins:<td> <span id="Rain_1h"> </span>
<th>Day:<td> <span id="Rain_Day"> </span>
<th>24hrs:<td> <span id="Rain_24h"> </span>
<th>Month:<td> <span id="Rain_Month"> </span>
<th>Year:<td> <span id="Rain_Year"> </span>
</table>
- </body>
+</body>
</html>