Skip to content

Commit

Permalink
Make PR lora-aprs#65 work with present version (small mods)
Browse files Browse the repository at this point in the history
  • Loading branch information
OK2MOP committed Feb 15, 2023
1 parent 48153fa commit a0e9cd4
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 2 deletions.
1 change: 1 addition & 0 deletions data/tracker.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"timeout": 1,
"symbol": "[",
"overlay": "/",
"type": "L",
"smart_beacon": {
"active": true,
"turn_min": 25,
Expand Down
36 changes: 35 additions & 1 deletion src/LoRa_APRS_Tracker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ void loop() {
}
}

String csa = "";
if (send_update && gps_loc_update) {
send_update = false;

Expand Down Expand Up @@ -322,6 +323,7 @@ void loop() {
digitalWrite(Config.ptt.io_pin, Config.ptt.reverse ? LOW : HIGH);
delay(Config.ptt.start_delay);
}
csa = alt + "/" + course_and_speed;

LoRa.beginPacket();
// Header:
Expand All @@ -348,7 +350,39 @@ void loop() {

if (gps_time_update) {

show_display(BeaconMan.getCurrentBeaconConfig()->callsign, createDateString(now()) + " " + createTimeString(now()), String("Sats: ") + gps.satellites.value() + " HDOP: " + gps.hdop.hdop(), String("Next Bcn: ") + (BeaconMan.getCurrentBeaconConfig()->smart_beacon.active ? "~" : "") + createTimeString(nextBeaconTimeStamp), BatteryIsConnected ? (String("Bat: ") + batteryVoltage + "V, " + batteryChargeCurrent + "mA") : "Powered via USB", String("Smart Beacon: " + getSmartBeaconState()));
// lat/lng in Display
static String dlatlon = "";
String C2 = "";

if (BeaconMan.getCurrentBeaconConfig()->type) {
C2 = BeaconMan.getCurrentBeaconConfig()->callsign + /* " " + */ BeaconMan.getCurrentBeaconConfig()->type;
}
if (gps_loc_update) {
dlatlon = create_lat_aprs(gps.location.rawLat()) + " " +create_long_aprs(gps.location.rawLng());
} else {
dlatlon = BeaconMan.getCurrentBeaconConfig()->message;
}
//
if ((int)gps.hdop.hdop() > 5) {
csa = String("Sats: ") + gps.satellites.value() + " HDOP: " + gps.hdop.hdop();
} else {
String alt = "";
int alt_int = max(-99999, min(999999, (int)gps.altitude.feet()));
alt_int *= 0.3048;
if (alt_int < 0) {
alt = "-" + padding(alt_int * -1, 0) + "m ";
} else {
alt = padding(alt_int, 0) + "m ";
}
String course_and_speed = "";
int speed_int = max(0, min(999, (int)gps.speed.knots()));
String speed = padding(speed_int * 1.852, 0) + "km/h ";
int course_int = max(0, min(360, (int)gps.course.deg()));
String course = padding(course_int, 0) + "\xF7 ";
csa = speed + course + alt + gps.satellites.value() + "/" + (int)gps.hdop.hdop();
}
show_display(C2, createDateString(now()) + " " + createTimeString(now()), String(csa), String("Next Bcn: ") + (BeaconMan.getCurrentBeaconConfig()->smart_beacon.active ? "~" : "") + createTimeString(nextBeaconTimeStamp), BatteryIsConnected ? (String("Bat: ") + batteryVoltage + "V, " + batteryChargeCurrent + "mA") : "Powered via USB", dlatlon);
// show_display(BeaconMan.getCurrentBeaconConfig()->callsign, createDateString(now()) + " " + createTimeString(now()), String("Sats: ") + gps.satellites.value() + " HDOP: " + gps.hdop.hdop(), String("Next Bcn: ") + (BeaconMan.getCurrentBeaconConfig()->smart_beacon.active ? "~" : "") + createTimeString(nextBeaconTimeStamp), BatteryIsConnected ? (String("Bat: ") + batteryVoltage + "V, " + batteryChargeCurrent + "mA") : "Powered via USB", String("Smart Beacon: " + getSmartBeaconState()));

if (BeaconMan.getCurrentBeaconConfig()->smart_beacon.active) {
// Change the Tx internal based on the current speed
Expand Down
2 changes: 2 additions & 0 deletions src/configuration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ Configuration ConfigurationManagement::readConfiguration() {
beacon.symbol = v["symbol"].as<String>();
if (v.containsKey("overlay"))
beacon.overlay = v["overlay"].as<String>();
if (v.containsKey("type"))
beacon.type = v["type"].as<String>();

beacon.smart_beacon.active = v["smart_beacon"]["active"] | false;
beacon.smart_beacon.turn_min = v["smart_beacon"]["turn_min"] | 25;
Expand Down
3 changes: 2 additions & 1 deletion src/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Configuration {
int min_bcn;
};

Beacon() : callsign("NOCALL-10"), path("WIDE1-1"), message("LoRa Tracker"), timeout(1), symbol("["), overlay("/"), enhance_precision(true) {
Beacon() : callsign("NOCALL-10"), path("WIDE1-1"), message("LoRa Tracker"), timeout(1), symbol("["), overlay("/"), type(""), enhance_precision(true) {
}

String callsign;
Expand All @@ -34,6 +34,7 @@ class Configuration {
int timeout;
String symbol;
String overlay;
String type;
Smart_Beacon smart_beacon;
bool enhance_precision;
};
Expand Down

0 comments on commit a0e9cd4

Please sign in to comment.