Skip to content

Commit

Permalink
Add support for position reports.
Browse files Browse the repository at this point in the history
This commit and release includes support for attaching a latitude
and longitude to messages, announcements, bulletins, and group
bulletins.  This will allow compatible receivers (APRS.fi included)
to plot them on a map.

Due to limitations in how I coded this, you cannot include a position
report if you are exactly at 0,0.  Change it to 0.0001,0 if you happen
to be floating there and using this app.  (Alternative implementations
are welcome!)
  • Loading branch information
rhymeswithmogul committed Apr 20, 2023
1 parent dd6dc52 commit d29d191
Show file tree
Hide file tree
Showing 12 changed files with 575 additions and 40 deletions.
20 changes: 9 additions & 11 deletions APRSMessenger.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
RootModule = 'src/APRSMessenger.psm1'

# Version number of this module.
ModuleVersion = '1.0.4'
ModuleVersion = '1.1.0'

# Supported PSEditions
CompatiblePSEditions = @('Core','Desktop')
Expand Down Expand Up @@ -119,13 +119,17 @@ FileList = @(
'README.md'
)

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable
# with additional module metadata used by PowerShell.
PrivateData = @{

PSData = @{

# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('APRS', 'APRS-IS', 'APRSIS', 'ham', 'amateur', 'radio', 'message', 'messaging', 'bulletin', 'announcement', 'group', 'HamRadio', 'EmComm', 'emergency', 'communication', 'cloud', 'Windows', 'macOS', 'Linux')
Tags = @('APRS', 'APRS-IS', 'APRSIS', 'automated', 'packet', 'reporting', 'system', 'ham', 'amateur', 'radio',
'message', 'messaging', 'bulletin', 'announcement', 'group', 'HamRadio', 'EmComm', 'emergency', 'communication',
'cloud', 'Windows', 'macOS', 'Linux', 'position', 'GPS', 'coordinates', 'latitude', 'longitude', 'location',
'APRSThursday')

# A URL to the license for this module.
LicenseUri = 'https://github.com/rhymeswithmogul/APRSMessenger/blob/main/LICENSE'
Expand All @@ -137,16 +141,10 @@ PrivateData = @{
IconUri = 'https://raw.githubusercontent.com/rhymeswithmogul/APRSMessenger/main/icon/APRSMessenger.png'

# ReleaseNotes of this module
ReleaseNotes = "## Version 1.0.2 (March 21, 2023)
- Fixed a bug where all packets would be sent to APRS-IS. The parameter set name was not honored when control passed into `Send-APRSThing`.
- Fixed a bug where message acknowledgements would not be included.
- Fixed a bug where group bulletins would not be sent correctly.
- Added Pester tests.
- Updated module manifest data.
- Created release generation script. This is intended to be run by me, when signing a version for the PowerShell Gallery, and is only saved in the Git tree so I don't lose it."
ReleaseNotes = "Version 1.1.0 allows positions to be included with all APRS message types."

# Prerelease string of this module
Prerelease = 'git'
#Prerelease = 'git'

# Flag to indicate whether the module requires explicit user acceptance for install/update/save
RequireLicenseAcceptance = $false
Expand Down
3 changes: 3 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Change Log for APRSMessenger

## Version 1.1.0 (April 20, 2023)
- NEW: All message types now support including position reports. Use the `-Latitude` and `-Longitude` parameters to specify your location.

## Version 1.0.4 (March 29, 2023)
- FIXED: Corrected an issue where PowerShell Gallery would refuse to install the module on Windows platforms that require signed code per execution policy. (This is also where Version 1.0.3 went.) Thank you to `weq 🐳` from the PowerShell IRC channel/Discord server for helping me troubleshoot this.
- FIXED: Improved Markdown formatting of documentation files.
Expand Down
3 changes: 3 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# News for APRSMessenger

## Version 1.1.0 (April 20, 2023)
We've added the ability to include position reports in your messages, bulletins, and announcements. Simply use the `-Latitude` and `-Longitude` parameters to include them. Then, they will show up on sites like [APRS.fi](https://APRS.fi).

## Version 1.0.4 (March 29, 2023)
In this version, we've signed the PowerShell Gallery version of this code so that it can load on platforms that require code signing in the execution policy. Some Pester tests were also added to ensure the module is well-formed.

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,13 @@ Send-APRSMessage `
-Server noam.aprs2.net
```

Another example: to check into the [APRS Thursday net](https://aprsph.net/aprsthursday/), you can do something like this. Replace `AB12cd` with your location and/or grid square.
Another example: to check into the [APRS Thursday net](https://aprsph.net/aprsthursday/), you can do something like this. Replace `AB12cd` with your location and/or grid square. Optionally, include `-Latitude` and `-Longitude`, and supported APRS receivers can plot your message on a map.

```powershell
Send-APRSMessage `
-From N0CALL -To ANSRVR `
-Message "CQ HOTG Happy #APRSThursday from AB12cd" `
-Latitude 12.34 -Longitude -56.7890
-Server rotate.aprs2.net
```

Expand Down Expand Up @@ -61,7 +62,8 @@ To send an APRS announcement to anyone who might be listening for one:
Send-APRSAnnouncement `
-From GR8CLUB `
-AnnouncementID 'R' `
-Message "We will be providing communications for the road race on Sunday."
-Message "We will be providing communications for the road race on Sunday. Meet at the starting line." `
-Latitude -12.3456 -Longitude 78.90123
```

## Bulletins
Expand Down
Loading

0 comments on commit d29d191

Please sign in to comment.