-
-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is a massive release for version 1.5 of aprs-weather-submit. Altitudes can now be reported, small bugs were fixed, and the package now conforms to GNU coding standards. For more information, please consult the change log or NEWS files.
- Loading branch information
1 parent
1205f0e
commit e31dbcc
Showing
18 changed files
with
457 additions
and
150 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
Colin Cogle <colin@colincogle.name> | ||
Colin Cogle, KC1HBK <colin@colincogle.name> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
Version 1.5 (September 26, 2020): | ||
- Replace the Makefile with an Autoconf script. | ||
- Replace the -DNO_APRSIS make option with the --without-aprs-is configure | ||
switch. | ||
- Add support for disabling assertions with the --disable-assert configure | ||
switch (though I recommend not using this). | ||
- Conform with GNU coding standards by adding plain-text versions of GitHub's | ||
CHANGELOG.md (as ChangeLog), LICENSE (COPYING), and README.md (as README). | ||
Also, added a NEWS document. | ||
- Add the --no-comment option to suppress this app's user agent in the comment | ||
section of the packet. | ||
- Add the --altitude option to allow for reporting the location's altitude, in | ||
feet above mean sea level. | ||
|
||
Version 1.4 (March 8, 2020): | ||
- Fixed a bug where latitudes and longitudes were not being converted into DMS | ||
exactly as they should be, which had been leading to minor position inaccuracies. | ||
- Made uncompressed positions the default again, because APRS.fi doesn't support | ||
weather packets with compressed positions. This is a long-standing bug on | ||
their web site. For more information, see: https://groups.google.com/forum/#!searchin/aprsfi/compressed%7Csort:date/aprsfi/uzjdm026NZQ/FqES7V2iAwAJ | ||
- The -0 and --uncompressed-positions options are still accepted for backwards | ||
compatibility, but no longer do anything. | ||
- Better documentation for the compression type byte. | ||
- Changed the copyright date for the new year. | ||
|
||
Version 1.3.1 (September 14, 2019): | ||
- Fixed a bug where uncompressed latitudes greater than 90° were truncated. | ||
This was not the default behavior. My apologies to anyone in Asia, Australia, | ||
Oceania, and most of the Americas. | ||
|
||
Version 1.3 (July 31, 2019): | ||
- Added the compile-time option NO_APRSIS to strip all Internet-related | ||
functionality, just in case you're *really* low on space. | ||
|
||
Version 1.2.1 (July 31, 2019) | ||
- Added <stdint.h> to prevent compiler errors. (Thank you to UR3QJW for | ||
reporting this.) | ||
- Switched from ANSI C to the C99 standard, in order to keep using snprintf(). | ||
Some compilers are stricter than mine and refuse to compile K&R C with it. | ||
(Another thank you to UR3QJW.) | ||
- Since we switched to C99, I added some tiny performance enhancements with the | ||
restrict and inline keywords. | ||
- Fixed a pair of bugs where uncompressed packets would fail to encode the | ||
location correctly. | ||
- Fixed a bug where wind speeds would not be reported properly in compressed | ||
packets, because math is hard. | ||
- Added linker options to the Makefile to fix linking errors with GCC 7. | ||
- Code cleanup. | ||
- Known issue when compiling with GCC 7 and newer: there will be many warnings | ||
about formatting. These can be ignored. Adding -Wno-format-detection to the | ||
Makefile will quiet it down. This will be patched in a future release. | ||
|
||
Version 1.2 (April 16, 2019): | ||
- Added preliminary support for compiling on Windows. | ||
- Added the option of using APRS uncompressed positions at runtime with the | ||
--uncompressed-position switch, rather than a compile-time choice. | ||
- Removed a dependency on <stdint.h>. (This would be restored in v1.2.1.) | ||
- Fixed a bug where impractically large APRS-IS packets would be truncated. This | ||
was unlikely to affect real-world use. | ||
|
||
Version 1.1 (January 23, 2019), codename "QLF" | ||
- Added support for reporting temperatures in degrees Celsius. | ||
- Added a Makefile for POSIX systems. | ||
- Added a man page. | ||
- Fixed a bug where negative temperatures may cause the packet to fail to encode. | ||
- Cleaned up some documentation. | ||
|
||
Version 1.0 (January 21, 2019), codename "QRV" | ||
- Added significant documentation. | ||
|
||
Version 0.3 (January 20, 2019), codename "QST" | ||
- Wrote help. | ||
- Added support for actually sending the packet to an APRS-IS IGate. | ||
- Changed the position and wind data to compressed from uncompressed. For now, | ||
this can only be undone at compile-time. | ||
|
||
Version 0.2 (January 18, 2019), codename "Strings are hard" | ||
- Added support for snowfall, as clarified in APRS 1.1's errata. | ||
- Added support for the APRS 1.2 parameters: radiation, water level, and voltage. | ||
|
||
Version 0.1 (January 14, 2019), codename Q | ||
- Initial private release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# aprs-weather-submit version 1.5 | ||
# Copyright (c) 2019-2020 Colin Cogle <colin@colincogle.name> | ||
# | ||
# This file, Makefile.am, is part of aprs-weather-submit. | ||
# <https://github.com/rhymeswithmogul/aprs-weather-submit> | ||
# | ||
# This program is free software: you can redistribute it and/or modify it under | ||
# the terms of the GNU Affero General Public License as published by the Free | ||
# Software Foundation, either version 3 of the License, or (at your option) any | ||
# later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, but WITHOUT | ||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more | ||
# details. | ||
# | ||
# You should have received a copy of the GNU Affero General Public License along | ||
# with this program. If not, see <https://www.gnu.org/licenses/agpl-3.0.html>. | ||
|
||
bin_PROGRAMS = aprs-weather-submit | ||
aprs_weather_submit_SOURCES = src/main.c src/aprs-wx.c src/aprs-is.c | ||
man1_MANS = man/aprs-weather-submit.man | ||
LDADD = -lm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,42 @@ | ||
See CHANGELOG.md. | ||
# aprs-weather-submit news | ||
|
||
This file details all of the user-facing changes that are in version 1.5 of | ||
aprs-weather-submit. For more details, please consult the CHANGELOG file or | ||
this project's GitHub page. | ||
|
||
## NEW AND IMPROVED INSTALLATION PROCESS | ||
|
||
The Makefile was replaced by an Autoconf script. Users will be able to | ||
install this package with the usual *nix process: | ||
|
||
./configure | ||
make | ||
make install | ||
|
||
Because of this, the -DNO_APRSIS make option is being removed. Instead, run | ||
./configure --without-aprs-is. | ||
|
||
|
||
## ALTITUDE REPORTING | ||
|
||
This app now supports reporting your altitude. Use the --altitude (-A) option | ||
and include how far above sea level you are. | ||
|
||
Per the APRS 1.01 specification, this is included in the comment field, so not | ||
all APRS parsers may recognize it. | ||
|
||
|
||
## DISABLE COMMENTS | ||
|
||
Do you want to shrink your APRS packets? Use the --no-comment runtime option, | ||
and aprs-weather-submit will no longer include a comment. This will remove its | ||
name and version in the comment section of your packet, and it will strip the | ||
"APRS Software Type" character (which has been hardcoded to X for Linux). Note | ||
that this will not affect the aforementioned altitude reporting. | ||
|
||
However, if you do use this option, please consider telling a friend about | ||
aprs-weather-submit. | ||
|
||
----- | ||
For information about older versions, consult the CHANGELOG or CHANGELOG.md | ||
files. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# aprs-weather-submit | ||
|
||
Not everyone has a fancy weather station with APRS connectivity built in. Maybe | ||
you're like me, and have an old-school thermometer and CoCoRaHS-approved rain | ||
gauge. This command-line app, written in C99, can compile on most Linux tool- | ||
chains (Windows support is in the works) and will manually submit APRS 1.2.1- | ||
compliant weather information to the APRS-IS network. | ||
|
||
|
||
## Help | ||
|
||
Anyone can use this app to create an APRS packet. However, to send it to the | ||
APRS-IS network, you must have an account on an APRS-IS IGate server, as well | ||
as an amateur radio license or CWOP identifier (more on that below). | ||
|
||
|
||
## Installation | ||
$ ./configure | ||
$ make | ||
$ make install | ||
|
||
|
||
## Examples | ||
|
||
At the bare minimum, you can submit your weather station's position with a | ||
command line like this: | ||
|
||
aprs-weather-submit --callsign W1AW-13 --latitude 41.714692 \ | ||
--longitude -72.728514 --server example-igate-server.foo --port 12345 \ | ||
--username hiram --password percymaxim | ||
|
||
If you'd like to report a temperature of 68°F, you can use a command like this: | ||
|
||
aprs-weather-submit -k W1AW-13 -n 41.714692 -e -72.728514 \ | ||
-I example-igate-server.foo -o 12345 -u hiram -d percymaxim -t 68 | ||
|
||
|
||
Or, if you just want the raw packet for your own use, don't specify server | ||
information: | ||
|
||
$ aprs-weather-submit -k W1AW-13 -n 41.714692 -e -72.728514 -t 68 | ||
W1AW-13>APRS,TCPIP*:@090247z4142.88N/07243.71W_.../...t068Xaprs-weather-submit/1.5 | ||
|
||
|
||
This app supports all of the weather data parameters defined in APRS versions | ||
up to and including version 1.2.1: | ||
* Altitude (-A, --altitude) | ||
* Barometric pressure (-b, --pressure) | ||
* Luminosity (-L, --luminosity) | ||
* Radiation (-X, --radiation) | ||
* Rainfall in the past 24 hours (-p, --rainfall-last-24-hours) | ||
* Rainfall since midnight (-P, --rainfall-since-midnight) | ||
* Rainfall in the past hour (-r, --rainfall-last-hour) | ||
* Relative humidity (-h, --humidity) | ||
* Snowfall in the past 24 hours (-s, --snowfall-last-24-hours) | ||
* Temperature (°F) (-t, --temperature) | ||
* Temperature (°C) (-T, --temperature-celsius) | ||
* Water level above flood stage or mean tide (-F, --water-level-above-stage) | ||
* Weather station battery voltage (-V, --voltage) | ||
* Wind direction (-c, --wind-direction) | ||
* Wind speed, peak in the last five minutes (-g, --gust) | ||
* Wind speed, sustained over the last minute (-S, --wind-speed) | ||
|
||
|
||
## Legal Notices | ||
|
||
To use this app, you *must* be either: | ||
1. a licensed amateur radio operator, or | ||
2. a member of the Citizen Weather Observer Program in good standing. | ||
Getting your ham radio license is easy, and joining CWOP is even easier. | ||
|
||
Like it says in the license: this app is distributed in the hope that it | ||
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero | ||
General Public License 3.0 for more details. As such, you and you alone are | ||
solely responsible for using this app to submit complete and correct weather | ||
and/or location data. Please do not use this app for evil. Don't make me | ||
regret writing this app. | ||
|
||
QTH. 73, KC1HBK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.