From de391c8df97f5afe26f27eebf73ccbcb77c8da57 Mon Sep 17 00:00:00 2001 From: Jet Date: Fri, 23 Jun 2023 17:45:49 +0100 Subject: [PATCH] randomize speed --- RemoteIDSpoofer/RemoteIDSpoofer.ino | 3 --- RemoteIDSpoofer/spoofer.cpp | 8 +++++--- RemoteIDSpoofer/spoofer.h | 1 - 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/RemoteIDSpoofer/RemoteIDSpoofer.ino b/RemoteIDSpoofer/RemoteIDSpoofer.ino index fca00c2..8d5cbb2 100644 --- a/RemoteIDSpoofer/RemoteIDSpoofer.ino +++ b/RemoteIDSpoofer/RemoteIDSpoofer.ino @@ -1,11 +1,8 @@ // ESP8266 RemoteID spoofer // Heavily adapted from https://github.com/sxjack/uav_electronic_ids -#include -#include #include "spoofer.h" -// we are limited by how fast we can broadcast things const int num_spoofers = 16; static Spoofer spoofers[num_spoofers]; diff --git a/RemoteIDSpoofer/spoofer.cpp b/RemoteIDSpoofer/spoofer.cpp index a1bd708..a161538 100644 --- a/RemoteIDSpoofer/spoofer.cpp +++ b/RemoteIDSpoofer/spoofer.cpp @@ -33,12 +33,10 @@ Spoofer::Spoofer() { utm_data.alt_msl_m = utm_data.base_alt_m + z; utm_data.alt_agl_m = z; - utm_data.speed_kn = speed_kn; + utm_data.speed_kn = 1; utm_data.satellites = 8; utm_data.base_valid = 1; - speed_m_x = ((float) speed_kn) * 0.514444 * 0.2; // Because we update every 200 ms. - utm_utils.calc_m_per_deg(lat_d,&m_deg_lat,&m_deg_long); } @@ -48,6 +46,10 @@ void Spoofer::update() { return; } + // randomly update the velocity + utm_data.speed_kn = constrain(utm_data.speed_kn + (rand() % 5) - 2, 1, 20); + speed_m_x = ((float) utm_data.speed_kn) * 0.514444 * 0.2; // Because we update every 200 ms. + // randomly pick a direction to head and update the heading float ranf = 0.001 * (float) (((int) rand() % 1000) - 500); int dir_change = (int) (max_dir_change * ranf); diff --git a/RemoteIDSpoofer/spoofer.h b/RemoteIDSpoofer/spoofer.h index 8f71e4b..d42ca21 100644 --- a/RemoteIDSpoofer/spoofer.h +++ b/RemoteIDSpoofer/spoofer.h @@ -17,7 +17,6 @@ class Spoofer { struct UTM_parameters utm_parameters; struct UTM_data utm_data; - int speed_kn = (int) (rand() % 10); float x = 0.0, y = 0.0, z = 0.0; float speed_m_x, max_dir_change = 75.0; double deg2rad = (4.0 * atan(1.0)) / 180.0;