1
0
mirror of https://gitea.farpn.net/w1cdn/mwtchahrd.git synced 2025-12-08 13:38:02 -06:00

Compare commits

...

5 Commits

Author SHA1 Message Date
mattbk
ca858bc038 Bump version to keep track. 2025-11-30 18:04:47 -06:00
w1cdn
fd641c1ca1 Merge pull request 'Avoid using 3rd party locations' (#34) from loc_fix into dev
Reviewed-on: https://gitea.farpn.net/w1cdn/mwtchahrd/pulls/34
2025-11-30 23:50:43 +00:00
mattbk
05a6bb18b0 Update .gitignore. 2025-11-30 11:56:28 -06:00
W1CDN
85521543c6 Set up cross build scripts. 2025-11-30 17:52:14 +00:00
mattbk
6bbfa66c4f Check harder for 3rd party locations and drop them. 2025-11-18 21:28:24 -06:00
6 changed files with 1917 additions and 4 deletions

2
.gitignore vendored
View File

@@ -6,7 +6,7 @@ target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
#Cargo.lock
#Cross config
Cross.toml

1882
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,15 @@
[package]
name = "mwtchahrd"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
authors = ["Chris, N6CTA <mail@n6cta.com>"]
authors = ["Chris, N6CTA <mail@n6cta.com>", "Matt, W1CDN <admin@w1cdn.net>"]
[dependencies]
anyhow = "1.0"
chrono = "0.4"
clap = { version = "4", features = ["derive"] }
openssl-sys = "0.9.111"
openssl = { version = "0.10", features = ["vendored"] }
rand = "0.9.2"
regex = "1.12.2"
reqwest = { version = "0.12.24", features = ["json", "blocking"] }
@@ -16,3 +18,4 @@ socket2 = "0.5"
[profile.release]
lto = "thin"

7
auto-build-release.sh Executable file
View File

@@ -0,0 +1,7 @@
echo "Building release for multiple targets";
cargo build --release;
cross build --release --target=aarch64-unknown-linux-gnu;
cross build --release --target=x86_64-unknown-linux-gnu;
cross build --release --target=armv7-unknown-linux-gnueabihf;
cross build --release --target=arm-unknown-linux-gnueabihf;
cross build --release --target=x86_64-pc-windows-gnu;

7
auto-build.sh Executable file
View File

@@ -0,0 +1,7 @@
echo "Building dev for multiple targets";
cargo build;
cross build --target=aarch64-unknown-linux-gnu;
cross build --target=x86_64-unknown-linux-gnu;
cross build --target=armv7-unknown-linux-gnueabihf;
cross build --target=arm-unknown-linux-gnueabihf;
cross build --target=x86_64-pc-windows-gnu;

View File

@@ -545,6 +545,13 @@ fn aprs_loc(packet: &str) -> (f64, f64) {
// Capture different pieces of the location string
let re_loc = Regex::new(r"(?P<latd>\d{2})(?P<latm>[\d ]{2}\.[\d ]{2})(?P<ns>[nsNS])/(?P<lond>\d{3})(?P<lonm>[\d ]{2}\.[\d ]{2})(?P<ew>[ewEW])").unwrap();
// Check for 3rd party traffic, which may include location
let re_3p = Regex::new(r"(?<tcpip>TCPIP)").unwrap();
let mut loc3p: bool = false;
if re_3p.is_match(&packet) {
loc3p = true;
}
// Only proceed if there were captures
match re_loc.captures(&packet) {
Some(_caps) => {
@@ -572,7 +579,14 @@ fn aprs_loc(packet: &str) -> (f64, f64) {
// String to paste into map for testing
//println!("{}, {}", lat_dec, lon_dec);
// But if after all that, it's a 3rd-party location, toss it
// This is the only capture group we ID by numberf
if loc3p == true {
(lat_dec, lon_dec) = (-9999.0_f64, -9999.0_f64);
println!("Dropping location, looks like 3rd party");
}
// Return
(lat_dec, lon_dec)