mirror of https://github.com/wb2osz/direwolf.git
43 lines
1.3 KiB
Perl
43 lines
1.3 KiB
Perl
#!/usr/bin/perl
|
|
|
|
# Part of Dire Wolf APRS Telemetry Toolkit, WB2OSZ, 2015
|
|
|
|
# In a real situation this would obtain data from sensors.
|
|
# For demonstration purposes we use historical data supplied on the command line.
|
|
|
|
if ($#ARGV+1 != 5) {
|
|
print STDERR "5 command line arguments must be provided.\n";
|
|
usage();
|
|
}
|
|
|
|
($seq,$vbat,$vsolar,$temp,$sat) = @ARGV;
|
|
|
|
# Scale to integer in range of 0 to 8280.
|
|
# This must be the inverse of the mapping in the EQNS message.
|
|
|
|
$vbat = int(($vbat * 1000) + 0.5);
|
|
$vsolar = int(($vsolar * 1000) + 0.5);
|
|
$temp = int((($temp + 273.2) * 10) + 0.5);
|
|
|
|
exit system("telem-data91.pl $seq $vbat $vsolar $temp $sat");
|
|
|
|
|
|
sub usage ()
|
|
{
|
|
print STDERR "\n";
|
|
print STDERR "balloon.pl - Format data into Compressed telemetry format.\n";
|
|
print STDERR "\n";
|
|
print STDERR "In a real situation this would obtain data from sensors.\n";
|
|
print STDERR "For demonstration purposes we use historical data supplied on the command line.\n";
|
|
print STDERR "\n";
|
|
print STDERR "Usage: balloon.pl seq vbat vsolar temp sat\n";
|
|
print STDERR "\n";
|
|
print STDERR "Where,\n";
|
|
print STDERR " seq is a sequence number.\n";
|
|
print STDERR " vbat is battery voltage.\n";
|
|
print STDERR " vsolar is solar cell voltage.\n";
|
|
print STDERR " temp is temperature, degrees C.\n";
|
|
print STDERR " sat is number of GPS satellites visible.\n";
|
|
|
|
exit 1;
|
|
} |