CBielstein / APRSsharp

APRS# - Modern APRS software for the amateur radio community
MIT License
12 stars 5 forks source link

Encode and Decode of Complete Weather Reports #109

Closed CBielstein closed 2 years ago

CBielstein commented 2 years ago

Description

The APRS 1.01 spec calls out three types of weather report packets: raw, positionless, and complete. This PR adds handling for complete weather reports.

Complete weather reports are a subset of Position reports, so WeatherInfo was implemented as an extension of PositionInfo. As such, there were some changes to the constructors and protection of property setters to enable such a scenario to work. However, I think it ended up working really nicely.

This PR also adds extensive encode/decode "round trip" tests where a packet is decoded, checked, then encoded and checked to ensure it produces the same string again.

This resolves #106. Other types of weather reports will be handled by different issues in different PRs.

Changes

Validation