mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-07-13 21:31:14 +02:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9801545965 | |||
| dd89f56436 | |||
| 27593d8718 | |||
| 008575b422 | |||
| b8eedabe9a | |||
| 7371b8e37a | |||
| 44605e82c2 | |||
| 0360085131 | |||
| 57f720b0d1 | |||
| 3d01ea03c0 |
@@ -77,6 +77,8 @@ jobs:
|
||||
chip: esp32c3
|
||||
- name: QRPLabs_LightGateway_1_0
|
||||
chip: esp32s3
|
||||
- name: XIAO_ESP32S3_WIO_SX1262
|
||||
chip: esp32s3
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ lib_deps =
|
||||
arduino-libraries/NTPClient @ 3.2.1
|
||||
ayushsharma82/ElegantOTA @ 3.1.5
|
||||
bblanchon/ArduinoJson @ 6.21.3
|
||||
jgromes/RadioLib @ 6.6.0
|
||||
jgromes/RadioLib @ 7.1.0
|
||||
mathieucarbou/AsyncTCP @ 3.2.5
|
||||
mathieucarbou/ESPAsyncWebServer @ 3.2.3
|
||||
mikalhart/TinyGPSPlus @ 1.0.3
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<span>List refresh automatically every 15 seconds.</span><br>
|
||||
<small>(Local Time is NPT-Time adjusted with your GMT Offset)</small>
|
||||
<small>(Local Time is NTP-Time adjusted with your GMT Offset)</small>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
@@ -1310,7 +1310,7 @@
|
||||
type="text"
|
||||
name="syslog.port"
|
||||
id="syslog.port"
|
||||
placeholder="514"
|
||||
placeholder="1514"
|
||||
class="form-control"
|
||||
disabled
|
||||
/>
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
||||
@@ -48,7 +48,7 @@ ___________________________________________________________________*/
|
||||
#include "A7670_utils.h"
|
||||
#endif
|
||||
|
||||
String versionDate = "2024.11.06";
|
||||
String versionDate = "2024.12.04";
|
||||
Configuration Config;
|
||||
WiFiClient espClient;
|
||||
#ifdef HAS_GPS
|
||||
|
||||
@@ -196,7 +196,7 @@ bool Configuration::readFile() {
|
||||
|
||||
syslog.active = data["syslog"]["active"] | false;
|
||||
syslog.server = data["syslog"]["server"] | "lora.link9.net";
|
||||
syslog.port = data["syslog"]["port"] | 514;
|
||||
syslog.port = data["syslog"]["port"] | 1514;
|
||||
|
||||
tnc.enableServer = data["tnc"]["enableServer"] | false;
|
||||
tnc.enableSerial = data["tnc"]["enableSerial"] | false;
|
||||
@@ -293,7 +293,7 @@ void Configuration::init() {
|
||||
|
||||
syslog.active = false;
|
||||
syslog.server = "lora.link9.net";
|
||||
syslog.port = 514;
|
||||
syslog.port = 1514;
|
||||
|
||||
wxsensor.active = false;
|
||||
wxsensor.heightCorrection = 0;
|
||||
|
||||
@@ -21,9 +21,6 @@
|
||||
#else
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#if defined(HELTEC_V3) || defined(HELTEC_WS)
|
||||
#define OLED_DISPLAY_HAS_RST_PIN
|
||||
#endif
|
||||
#ifdef HELTEC_WSL_V3_DISPLAY
|
||||
Adafruit_SSD1306 display(128, 64, &Wire1, OLED_RST);
|
||||
#else
|
||||
|
||||
+1
-1
@@ -205,7 +205,7 @@ namespace POWER_Utils {
|
||||
Wire1.begin(BOARD_I2C_SDA, BOARD_I2C_SCL);
|
||||
#endif
|
||||
|
||||
#if defined(HELTEC_V3) || defined(HELTEC_WS) || defined(LIGHTGATEWAY_1_0) || defined(TTGO_LORA32_T3S3_V1_2)
|
||||
#if defined(HELTEC_V3) || defined(HELTEC_WS) || defined(LIGHTGATEWAY_1_0) || defined(TTGO_LORA32_T3S3_V1_2) || defined(HELTEC_V2)
|
||||
Wire.begin(OLED_SDA, OLED_SCL);
|
||||
#endif
|
||||
|
||||
|
||||
+8
-20
@@ -70,34 +70,22 @@ namespace STATION_Utils {
|
||||
Utils::println(" ---> Station not Heard for last 30 min (Not Tx)\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
void clean25SegBuffer() {
|
||||
if (!packet25SegBuffer.empty()) {
|
||||
if ((millis() - packet25SegBuffer[0].receivedTime) > 25 * 1000) {
|
||||
packet25SegBuffer.erase(packet25SegBuffer.begin());
|
||||
}
|
||||
}
|
||||
if (!packet25SegBuffer.empty() && (millis() - packet25SegBuffer[0].receivedTime) > 25 * 1000) packet25SegBuffer.erase(packet25SegBuffer.begin());
|
||||
}
|
||||
|
||||
bool check25SegBuffer(const String& station, const String& textMessage) {
|
||||
bool shouldBeIgnored = false;
|
||||
if (!packet25SegBuffer.empty()) {
|
||||
for (int i = 0; i < packet25SegBuffer.size(); i++) {
|
||||
if (packet25SegBuffer[i].station == station && packet25SegBuffer[i].payload == textMessage) {
|
||||
shouldBeIgnored = true;
|
||||
}
|
||||
if (packet25SegBuffer[i].station == station && packet25SegBuffer[i].payload == textMessage) return false;
|
||||
}
|
||||
}
|
||||
if (shouldBeIgnored) {
|
||||
return false;
|
||||
} else {
|
||||
Packet25SegBuffer packet;
|
||||
packet.receivedTime = millis();
|
||||
packet.station = station;
|
||||
packet.payload = textMessage;
|
||||
packet25SegBuffer.push_back(packet);
|
||||
return true;
|
||||
}
|
||||
Packet25SegBuffer packet;
|
||||
packet.receivedTime = millis();
|
||||
packet.station = station;
|
||||
packet.payload = textMessage;
|
||||
packet25SegBuffer.push_back(packet);
|
||||
return true;
|
||||
}
|
||||
|
||||
void processOutputPacketBuffer() {
|
||||
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef BOARD_PINOUT_H_
|
||||
#define BOARD_PINOUT_H_
|
||||
|
||||
// LoRa Radio
|
||||
#define HAS_SX1262
|
||||
#define RADIO_SCLK_PIN 7
|
||||
#define RADIO_MISO_PIN 8
|
||||
#define RADIO_MOSI_PIN 9
|
||||
#define RADIO_CS_PIN 41
|
||||
#define RADIO_RST_PIN 42
|
||||
#define RADIO_DIO1_PIN 39
|
||||
#define RADIO_BUSY_PIN 40
|
||||
|
||||
#define RADIO_HAS_RF_SWITCH // DIO02
|
||||
#define RADIO_RF_SWITCH 38
|
||||
|
||||
#define BUTTON_PIN 21
|
||||
#define INTERNAL_LED_PIN 48
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,8 @@
|
||||
[env:XIAO_ESP32S3_WIO_SX1262]
|
||||
board = seeed_xiao_esp32s3
|
||||
build_flags =
|
||||
${common.build_flags}
|
||||
${common.usb_flags}
|
||||
-D XIAO_ESP32S3_LORA
|
||||
lib_deps =
|
||||
${common.lib_deps}
|
||||
@@ -20,6 +20,7 @@
|
||||
#define OLED_SDA 4
|
||||
#define OLED_SCL 15
|
||||
#define OLED_RST 16
|
||||
#define OLED_DISPLAY_HAS_RST_PIN
|
||||
|
||||
// Aditional Config
|
||||
#define INTERNAL_LED_PIN 25
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#define OLED_SDA 17
|
||||
#define OLED_SCL 18
|
||||
#define OLED_RST 21
|
||||
#define OLED_DISPLAY_HAS_RST_PIN
|
||||
|
||||
// Aditional Config
|
||||
#define INTERNAL_LED_PIN 35
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#define OLED_SDA 4
|
||||
#define OLED_SCL 15
|
||||
#define OLED_RST 16
|
||||
#define OLED_DISPLAY_HAS_RST_PIN
|
||||
|
||||
// Aditional Config
|
||||
#define INTERNAL_LED_PIN 35
|
||||
|
||||
Reference in New Issue
Block a user