From 2cff04a4cfa57b46b87b8fcd6950fc0ecb507d7a Mon Sep 17 00:00:00 2001 From: richonguzman Date: Sun, 29 Jan 2023 23:11:11 -0300 Subject: [PATCH] Turn_Slope v1 --- extra/turn_slope_calculations.xlsx | Bin 14981 -> 14894 bytes src/Lora_1W_APRS_Tracker.cpp | 35 ++++++++++++----------------- src/beacon_config.h | 14 +++++------- 3 files changed, 19 insertions(+), 30 deletions(-) diff --git a/extra/turn_slope_calculations.xlsx b/extra/turn_slope_calculations.xlsx index 2f4320ae61a4022f85f98046a9a3646f67e11de6..c8c2b1626d665c3f3e9628a5a7c7abefb8ece610 100644 GIT binary patch delta 8147 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 G2LA`Eh**CB delta 8268 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 RzwwMX_|G(mwA}wZ{6C?yc=Z4P diff --git a/src/Lora_1W_APRS_Tracker.cpp b/src/Lora_1W_APRS_Tracker.cpp index fdbd6e7..935114a 100644 --- a/src/Lora_1W_APRS_Tracker.cpp +++ b/src/Lora_1W_APRS_Tracker.cpp @@ -1,13 +1,6 @@ -/* -LORA (1 Watt Module) APRS Tracker +/****** LORA (1 Watt Module) APRS Tracker ****** https://github.com/richonguzman/LoRa_1W_APRS_Tracker -written by Ricardo Guzman ( CD2RXU-7 ) -based on lots of other Lora APRS Tracker ideas like: -https://github.com/lora-aprs/LoRa_APRS_Tracker -https://github.com/aprs434/lora.tracker -https://github.com/Mane76/lora.tracker -https://github.com/sh123/esp32_loraprs -*/ + written by Ricardo Guzman ( CD2RXU-7 ) */ #include #include @@ -30,15 +23,15 @@ static bool send_update = true; String CALLSIGN_CONFIG_1[10] = {User1_Callsign,User1_Symbol,String(User1_SlowRate),String(User1_SlowSpeed), String(User1_FastRate),String(User1_FastSpeed),String(User1_MinDistTx), - String(User1_MinDeltaBcn),String(User1_TurnMin),String(User1_TurnSlope)}; + String(User1_MinDeltaBcn),String(User1_TurnMinDeg),String(User1_TurnSlope)}; String CALLSIGN_CONFIG_2[10] = {User2_Callsign,User2_Symbol,String(User2_SlowRate),String(User2_SlowSpeed), String(User2_FastRate),String(User2_FastSpeed),String(User2_MinDistTx), - String(User2_MinDeltaBcn),String(User2_TurnMin),String(User2_TurnSlope)}; + String(User2_MinDeltaBcn),String(User2_TurnMinDeg),String(User2_TurnSlope)}; String CALLSIGN_CONFIG_3[10] = {User3_Callsign,User3_Symbol,String(User3_SlowRate),String(User3_SlowSpeed), String(User3_FastRate),String(User3_FastSpeed),String(User3_MinDistTx), - String(User3_MinDeltaBcn),String(User3_TurnMin),String(User3_TurnSlope)}; + String(User3_MinDeltaBcn),String(User3_TurnMinDeg),String(User3_TurnSlope)}; void setup_lora_module() { @@ -149,6 +142,7 @@ void loop() { static double lastTxLongitude = 0.0; static double lastTxDistance = 0.0; static uint32_t txInterval = 60000L; + int CurrentSpeed = (int)gps.speed.kmph(); //static int speed_zero_sent = 0; @@ -157,8 +151,8 @@ void loop() { uint32_t lastTx = millis() - lastTxTime; int MinimumDistanceTx = CurrentUser[6].toInt(); int MinimumTimeDeltaBeacon = CurrentUser[7].toInt(); - int TurnDegrees = CurrentUser[8].toInt(); - int TurnSlope = CurrentUser[9].toInt(); + int TurnMinDegrees = CurrentUser[8].toInt(); + int TurnSlope = CurrentUser[9].toInt(); currentHeading = gps.course.deg(); lastTxDistance = TinyGPSPlus::distanceBetween(gps.location.lat(), gps.location.lng(), lastTxLatitude, lastTxLongitude); @@ -171,7 +165,8 @@ void loop() { if (!send_update) { double headingDelta = abs(previousHeading - currentHeading); if (lastTx > MinimumTimeDeltaBeacon * 1000) { - if (headingDelta > TurnDegrees && lastTxDistance > MinimumDistanceTx) { + int TurnMinAngle = TurnMinDegrees + (TurnSlope/CurrentSpeed); + if (headingDelta > TurnMinAngle && lastTxDistance > MinimumDistanceTx) { send_update = true; mensaje_test = "C:" + String(headingDelta) + " D:" + String(lastTxDistance) + " I:" + String(txInterval); } @@ -274,15 +269,13 @@ void loop() { int SlowRate = CurrentUser[2].toInt(); int SlowSpeed = CurrentUser[3].toInt(); int FastRate = CurrentUser[4].toInt(); - int FastSpeed = CurrentUser[5].toInt(); - - int curr_speed = (int)gps.speed.kmph(); - if (curr_speed < SlowSpeed) { + int FastSpeed = CurrentUser[5].toInt(); + if (CurrentSpeed < SlowSpeed) { txInterval = SlowRate * 1000; - } else if (curr_speed > FastSpeed) { + } else if (CurrentSpeed > FastSpeed) { txInterval = FastRate * 1000; } else { - txInterval = min(SlowRate, (FastSpeed * FastRate / curr_speed)) * 1000; + txInterval = min(SlowRate, (FastSpeed * FastRate / CurrentSpeed)) * 1000; } } } \ No newline at end of file diff --git a/src/beacon_config.h b/src/beacon_config.h index 1720dc5..50c557b 100644 --- a/src/beacon_config.h +++ b/src/beacon_config.h @@ -16,8 +16,8 @@ #define User1_FastSpeed 15 #define User1_MinDistTx 5 // debe ser 50 pero esta 5 por pruebas #define User1_MinDeltaBcn 20 -#define User1_TurnMin 8 -#define User1_TurnSlope 50 +#define User1_TurnMinDeg 3 +#define User1_TurnSlope 70 #define User2_Callsign "CD2RXU-8" #define User2_Symbol "b" // Bicycle @@ -27,7 +27,7 @@ #define User2_FastSpeed 40 #define User2_MinDistTx 70 #define User2_MinDeltaBcn 12 -#define User2_TurnMin 12 +#define User2_TurnMinDeg 15 #define User2_TurnSlope 70 #define User3_Callsign "CD2RXU-9" @@ -37,12 +37,8 @@ #define User3_FastRate 60 #define User3_FastSpeed 70 #define User3_MinDistTx 100 -#define User3_MinDeltaBcn 10 -#define User3_TurnMin 15 +#define User3_MinDeltaBcn 8 +#define User3_TurnMinDeg 12 #define User3_TurnSlope 80 - - - - #endif \ No newline at end of file