Compare commits

...

11 Commits

Author SHA1 Message Date
Tom M0LTE 3e5db7e084
Merge 6394d0fa90 into f325c54fc3 2025-01-09 21:29:49 +01:00
richonguzman f325c54fc3 Heltec Wireless Stick display fix 2025-01-08 12:59:39 -03:00
richonguzman 1a3966eadc readme update 2025-01-07 16:10:35 -03:00
richonguzman ffd3eaeb49 fixes for beaconUpdate 2025-01-07 14:19:06 -03:00
richonguzman df03a49123 version update 2025-01-06 10:14:51 -03:00
richonguzman 58d647bad1 added gps to troy 2025-01-06 09:33:47 -03:00
richonguzman 59988fbaf1 ready for testing 2025-01-05 12:32:46 -03:00
richonguzman 1ad13e3c09 gmt 15min fix 2025-01-04 12:30:22 -03:00
richonguzman ffe1a2f830 gmt correction for 15 min 2025-01-02 12:20:18 -03:00
richonguzman a0fdd78cb1 GMT to 15min step 2025-01-02 11:49:53 -03:00
Tom M0LTE 6394d0fa90 Extend icon set and clarify their use 2024-08-31 14:44:23 +01:00
14 changed files with 102 additions and 28 deletions

View File

@ -78,7 +78,9 @@ jobs:
- name: QRPLabs_LightGateway_1_0
chip: esp32s3
- name: XIAO_ESP32S3_WIO_SX1262
chip: esp32s3
chip: esp32s3
- name: TROY_LoRa_APRS
chip: esp32
steps:
- uses: actions/checkout@v3

View File

@ -52,6 +52,7 @@ ____________________________________________________
## Timeline (Versions):
- 2025.01.07 TROY_LoRa_APRS board added. GMT in quarter hour fix and Beacon fix for TNC.
- 2025.01.02 Callsign Black List added.
- 2024.12.30 Fixed missing validation for correct Digipeater mode when not connected to APRS-IS.
- 2024.12.06 APRS-IS connnection and passcode validation added.

View File

@ -82,7 +82,7 @@
"password": ""
},
"ntp": {
"gmtCorrection": 0
"gmtCorrection": 0.0
},
"other": {
"rememberStationTime": 30,

View File

@ -189,17 +189,38 @@
name="action.symbol"
id="action.symbol"
>
<option value="L#">
Green star with L
</option>
<option value="L_">
Blue circle with L
<option value="I&">
I&amp; - Igate Generic (please use more specific overlay)
</option>
<option value="L&">
Black diamond with L
L&amp; - Lora Igate
</option>
<option value="R&">
R&amp; - Receive only IGate (do not send msgs back to RF)
</option>
<option value="T&">
T&amp; - TX igate with path set to 1 hop only)
</option>
<option value="/#">
/# - Generic digipeater
</option>
<option value="I#">
I# - I-gate equipped digipeater
</option>
<option value="L#">
L# - WIDEn-N with path length trapping
</option>
<option value="X#">
X# - eXperimental digipeater
</option>
<option value="/-">
/- - House
</option>
<option value="L_">
L_ - Blue circle with L (enable aprs.fi weather processing)
</option>
<option value="La">
Red diamond with L
La - Red diamond with L
</option>
</select>
</div>
@ -1744,9 +1765,9 @@
id="ntp.gmtCorrection"
placeholder="0"
class="form-control"
step="1"
min="-23"
max="23"
step="0.25"
min="-23.75"
max="23.75"
/>
<span class="input-group-text"
>hours</span

File diff suppressed because one or more lines are too long

View File

@ -119,11 +119,10 @@ public:
class NTP {
public:
int gmtCorrection;
float gmtCorrection;
};
class Configuration {
public:
String callsign;

View File

@ -48,7 +48,7 @@ ___________________________________________________________________*/
#include "A7670_utils.h"
#endif
String versionDate = "2025.01.02";
String versionDate = "2025.01.08";
Configuration Config;
WiFiClient espClient;
#ifdef HAS_GPS

View File

@ -211,7 +211,7 @@ bool Configuration::readFile() {
webadmin.username = data["webadmin"]["username"] | "admin";
webadmin.password = data["webadmin"]["password"] | "";
ntp.gmtCorrection = data["ntp"]["gmtCorrection"] | 0;
ntp.gmtCorrection = data["ntp"]["gmtCorrection"] | 0.0;
lowPowerMode = data["other"]["lowPowerMode"] | false;
lowVoltageCutOff = data["other"]["lowVoltageCutOff"] | 0;
@ -337,7 +337,7 @@ void Configuration::init() {
webadmin.username = "admin";
webadmin.password = "";
ntp.gmtCorrection = 0;
ntp.gmtCorrection = 0.0;
Serial.println("All is Written!");
}

View File

@ -181,10 +181,10 @@ namespace POWER_Utils {
#ifdef VEXT_CTRL
pinMode(VEXT_CTRL,OUTPUT); // GPS + TFT on HELTEC Wireless_Tracker and only for Oled in HELTEC V3
#ifndef HELTEC_WSL_V3
#if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3)
digitalWrite(VEXT_CTRL, HIGH);
#endif
#ifdef HELTEC_WP
#if defined(HELTEC_WP) || defined(HELTEC_WS)
digitalWrite(VEXT_CTRL, LOW);
#endif
#endif

View File

@ -186,7 +186,7 @@ namespace Utils {
void checkBeaconInterval() {
uint32_t lastTx = millis() - lastBeaconTx;
if (((Config.aprs_is.active && passcodeValid) || Config.digi.mode != 0) && (lastBeaconTx == 0 || lastTx >= Config.beacon.interval * 60 * 1000)) {
if (lastBeaconTx == 0 || lastTx >= Config.beacon.interval * 60 * 1000) {
beaconUpdate = true;
}
@ -198,9 +198,7 @@ namespace Utils {
#endif
if (beaconUpdate) {
if (!Config.display.alwaysOn && Config.display.timeout != 0) {
displayToggle(true);
}
if (!Config.display.alwaysOn && Config.display.timeout != 0) displayToggle(true);
if (sendStartTelemetry && Config.battery.sendVoltageAsTelemetry && !Config.wxsensor.active && (Config.battery.sendInternalVoltage || Config.battery.sendExternalVoltage)) {
sendInitialTelemetryPackets();
@ -289,7 +287,7 @@ namespace Utils {
secondaryBeaconPacket += encodedTelemetry;
}
if (Config.aprs_is.active && Config.beacon.sendViaAPRSIS && !backUpDigiMode) {
if (Config.beacon.sendViaAPRSIS && Config.aprs_is.active && passcodeValid && !backUpDigiMode) {
Utils::println("-- Sending Beacon to APRSIS --");
displayShow(firstLine, secondLine, thirdLine, fourthLine, fifthLine, sixthLine, "SENDING IGATE BEACON", 0);
seventhLine = " listening...";

View File

@ -214,7 +214,7 @@ namespace WEB_Utils {
Config.webadmin.password = request->getParam("webadmin.password", true)->value();
}
Config.ntp.gmtCorrection = request->getParam("ntp.gmtCorrection", true)->value().toInt();
Config.ntp.gmtCorrection = request->getParam("ntp.gmtCorrection", true)->value().toFloat();
Config.writeFile();

View File

@ -0,0 +1,33 @@
#ifndef BOARD_PINOUT_H_
#define BOARD_PINOUT_H_
// LoRa Radio
#define HAS_SX1278
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 19
#define RADIO_MOSI_PIN 27
#define RADIO_CS_PIN 18
#define RADIO_RST_PIN 23
#define RADIO_BUSY_PIN 26
// Display
#define HAS_DISPLAY
#undef OLED_SDA
#undef OLED_SCL
#undef OLED_RST
#define OLED_SDA 21
#define OLED_SCL 22
#define OLED_RST -1
// GPS
#define HAS_GPS
#define GPS_RX 12
#define GPS_TX 34
// OTHER
#define INTERNAL_LED_PIN 2
#define BATTERY_PIN 35
#endif

View File

@ -0,0 +1,8 @@
[env:TROY_LoRa_APRS]
board = esp32dev
build_flags =
${common.build_flags}
-D TROY_LoRa_APRS
lib_deps =
${common.lib_deps}
${common.display_libs}

View File

@ -18,9 +18,9 @@
#undef OLED_SCL
#undef OLED_RST
#define OLED_SDA 4
#define OLED_SCL 15
#define OLED_RST 16
#define OLED_SDA 17
#define OLED_SCL 18
#define OLED_RST 21
#define OLED_DISPLAY_HAS_RST_PIN
// Aditional Config