App-Device-Chip-sensor

 view release on metacpan or  search on metacpan

bin/device-chip-sensor-datalogger  view on Meta::CPAN

   field $_outh;

   async method after_sensors :override ( @sensors )
   {
      $_csv = Text::CSV->new;

      open $_outh, ">", $_OUTFILE or die "Unable to open $_OUTFILE for writing - $!\n";
      $_outh->binmode( ":encoding(UTF-8)" );
      $_outh->autoflush;

      $_csv->say( $_outh,
         [ "# timestamp", map {
            my $sensor = $_;
            my $chip = $sensor->chip;
            my $chipname = ( ref $chip ) =~ s/^Device::Chip:://r;

            sprintf "%s %s (%s)", $chipname, $_->name, $_->units
         } @sensors ]
      );
   }

   method output_readings ( $now, $sensors, $values )
   {
      $_csv->say( $_outh,
         [ strftime( $_TIMESTAMP, localtime $now ), map { $self->_format_reading( $sensors->[$_], $values->[$_] ) } 0 .. $#$sensors ]
      );
   }
}

await MyApp->new->parse_argv->run;

=head1 AUTHOR

Paul Evans <leonerd@leonerd.org.uk>



( run in 0.454 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )