mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Merge branch 'dev' of github.com:recrof/MeshCore into dev
This commit is contained in:
commit
20198c9dbf
9 changed files with 39 additions and 14 deletions
|
|
@ -120,11 +120,11 @@ static uint32_t _atoi(const char* sp) {
|
||||||
#define FIRMWARE_VER_CODE 2
|
#define FIRMWARE_VER_CODE 2
|
||||||
|
|
||||||
#ifndef FIRMWARE_BUILD_DATE
|
#ifndef FIRMWARE_BUILD_DATE
|
||||||
#define FIRMWARE_BUILD_DATE "7 Mar 2025"
|
#define FIRMWARE_BUILD_DATE "9 Mar 2025"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FIRMWARE_VERSION
|
#ifndef FIRMWARE_VERSION
|
||||||
#define FIRMWARE_VERSION "v1.2.1"
|
#define FIRMWARE_VERSION "v1.2.2"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CMD_APP_START 1
|
#define CMD_APP_START 1
|
||||||
|
|
@ -1265,7 +1265,7 @@ void setup() {
|
||||||
halt();
|
halt();
|
||||||
}
|
}
|
||||||
|
|
||||||
radio.setCRC(0);
|
radio.setCRC(1);
|
||||||
|
|
||||||
#ifdef SX126X_CURRENT_LIMIT
|
#ifdef SX126X_CURRENT_LIMIT
|
||||||
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
/* ------------------------------ Config -------------------------------- */
|
/* ------------------------------ Config -------------------------------- */
|
||||||
|
|
||||||
#ifndef FIRMWARE_BUILD_DATE
|
#ifndef FIRMWARE_BUILD_DATE
|
||||||
#define FIRMWARE_BUILD_DATE "7 Mar 2025"
|
#define FIRMWARE_BUILD_DATE "9 Mar 2025"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FIRMWARE_VERSION
|
#ifndef FIRMWARE_VERSION
|
||||||
#define FIRMWARE_VERSION "v1.2.1"
|
#define FIRMWARE_VERSION "v1.2.2"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LORA_FREQ
|
#ifndef LORA_FREQ
|
||||||
|
|
@ -246,6 +246,15 @@ protected:
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override {
|
||||||
|
#if MESH_PACKET_LOGGING
|
||||||
|
Serial.print(getLogDateTime());
|
||||||
|
Serial.print(" RAW: ");
|
||||||
|
mesh::Utils::printHex(Serial, raw, len);
|
||||||
|
Serial.println();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void logRx(mesh::Packet* pkt, int len, float score) override {
|
void logRx(mesh::Packet* pkt, int len, float score) override {
|
||||||
if (_logging) {
|
if (_logging) {
|
||||||
File f = openAppend(PACKET_LOG_FILE);
|
File f = openAppend(PACKET_LOG_FILE);
|
||||||
|
|
@ -680,7 +689,7 @@ void setup() {
|
||||||
halt();
|
halt();
|
||||||
}
|
}
|
||||||
|
|
||||||
radio.setCRC(0);
|
radio.setCRC(1);
|
||||||
|
|
||||||
#ifdef SX126X_CURRENT_LIMIT
|
#ifdef SX126X_CURRENT_LIMIT
|
||||||
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
/* ------------------------------ Config -------------------------------- */
|
/* ------------------------------ Config -------------------------------- */
|
||||||
|
|
||||||
#ifndef FIRMWARE_BUILD_DATE
|
#ifndef FIRMWARE_BUILD_DATE
|
||||||
#define FIRMWARE_BUILD_DATE "7 Mar 2025"
|
#define FIRMWARE_BUILD_DATE "9 Mar 2025"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FIRMWARE_VERSION
|
#ifndef FIRMWARE_VERSION
|
||||||
#define FIRMWARE_VERSION "v1.2.1"
|
#define FIRMWARE_VERSION "v1.2.2"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LORA_FREQ
|
#ifndef LORA_FREQ
|
||||||
|
|
@ -272,6 +272,15 @@ protected:
|
||||||
return _prefs.airtime_factor;
|
return _prefs.airtime_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override {
|
||||||
|
#if MESH_PACKET_LOGGING
|
||||||
|
Serial.print(getLogDateTime());
|
||||||
|
Serial.print(" RAW: ");
|
||||||
|
mesh::Utils::printHex(Serial, raw, len);
|
||||||
|
Serial.println();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
int calcRxDelay(float score, uint32_t air_time) const override {
|
int calcRxDelay(float score, uint32_t air_time) const override {
|
||||||
if (_prefs.rx_delay_base <= 0.0f) return 0;
|
if (_prefs.rx_delay_base <= 0.0f) return 0;
|
||||||
return (int) ((pow(_prefs.rx_delay_base, 0.85f - score) - 1.0) * air_time);
|
return (int) ((pow(_prefs.rx_delay_base, 0.85f - score) - 1.0) * air_time);
|
||||||
|
|
@ -742,7 +751,7 @@ void setup() {
|
||||||
halt();
|
halt();
|
||||||
}
|
}
|
||||||
|
|
||||||
radio.setCRC(0);
|
radio.setCRC(1);
|
||||||
|
|
||||||
#ifdef SX126X_CURRENT_LIMIT
|
#ifdef SX126X_CURRENT_LIMIT
|
||||||
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
||||||
|
|
|
||||||
|
|
@ -585,7 +585,7 @@ void setup() {
|
||||||
halt();
|
halt();
|
||||||
}
|
}
|
||||||
|
|
||||||
radio.setCRC(0);
|
radio.setCRC(1);
|
||||||
|
|
||||||
#ifdef SX126X_CURRENT_LIMIT
|
#ifdef SX126X_CURRENT_LIMIT
|
||||||
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ monitor_speed = 115200
|
||||||
lib_deps =
|
lib_deps =
|
||||||
SPI
|
SPI
|
||||||
Wire
|
Wire
|
||||||
jgromes/RadioLib @ ^6.3.0
|
jgromes/RadioLib @ ^7.1.2
|
||||||
rweather/Crypto @ ^0.4.0
|
rweather/Crypto @ ^0.4.0
|
||||||
adafruit/RTClib @ ^2.1.3
|
adafruit/RTClib @ ^2.1.3
|
||||||
melopero/Melopero RV3028 @ ^1.1.0
|
melopero/Melopero RV3028 @ ^1.1.0
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,12 @@ void Dispatcher::checkRecv() {
|
||||||
Serial.printf(": RX, len=%d (type=%d, route=%s, payload_len=%d) SNR=%d RSSI=%d score=%d",
|
Serial.printf(": RX, len=%d (type=%d, route=%s, payload_len=%d) SNR=%d RSSI=%d score=%d",
|
||||||
2 + pkt->path_len + pkt->payload_len, pkt->getPayloadType(), pkt->isRouteDirect() ? "D" : "F", pkt->payload_len,
|
2 + pkt->path_len + pkt->payload_len, pkt->getPayloadType(), pkt->isRouteDirect() ? "D" : "F", pkt->payload_len,
|
||||||
(int)_radio->getLastSNR(), (int)_radio->getLastRSSI(), (int)(score*1000));
|
(int)_radio->getLastSNR(), (int)_radio->getLastRSSI(), (int)(score*1000));
|
||||||
|
|
||||||
|
static uint8_t packet_hash[MAX_HASH_SIZE];
|
||||||
|
pkt->calculatePacketHash(packet_hash);
|
||||||
|
Serial.print(" hash=");
|
||||||
|
mesh::Utils::printHex(Serial, packet_hash, MAX_HASH_SIZE);
|
||||||
|
|
||||||
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH || pkt->getPayloadType() == PAYLOAD_TYPE_REQ
|
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH || pkt->getPayloadType() == PAYLOAD_TYPE_REQ
|
||||||
|| pkt->getPayloadType() == PAYLOAD_TYPE_RESPONSE || pkt->getPayloadType() == PAYLOAD_TYPE_TXT_MSG) {
|
|| pkt->getPayloadType() == PAYLOAD_TYPE_RESPONSE || pkt->getPayloadType() == PAYLOAD_TYPE_TXT_MSG) {
|
||||||
Serial.printf(" [%02X -> %02X]\n", (uint32_t)pkt->payload[1], (uint32_t)pkt->payload[0]);
|
Serial.printf(" [%02X -> %02X]\n", (uint32_t)pkt->payload[1], (uint32_t)pkt->payload[0]);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class CustomSX1262 : public SX1262 {
|
||||||
CustomSX1262(Module *mod) : SX1262(mod) { }
|
CustomSX1262(Module *mod) : SX1262(mod) { }
|
||||||
|
|
||||||
bool isReceiving() {
|
bool isReceiving() {
|
||||||
uint16_t irq = getIrqStatus();
|
uint16_t irq = getIrqFlags();
|
||||||
bool hasPreamble = (irq & SX126X_IRQ_HEADER_VALID);
|
bool hasPreamble = (irq & SX126X_IRQ_HEADER_VALID);
|
||||||
return hasPreamble;
|
return hasPreamble;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class CustomSX1268 : public SX1268 {
|
||||||
CustomSX1268(Module *mod) : SX1268(mod) { }
|
CustomSX1268(Module *mod) : SX1268(mod) { }
|
||||||
|
|
||||||
bool isReceiving() {
|
bool isReceiving() {
|
||||||
uint16_t irq = getIrqStatus();
|
uint16_t irq = getIrqFlags();
|
||||||
bool hasPreamble = (irq & SX126X_IRQ_HEADER_VALID);
|
bool hasPreamble = (irq & SX126X_IRQ_HEADER_VALID);
|
||||||
return hasPreamble;
|
return hasPreamble;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,10 +52,11 @@ int RadioLibWrapper::recvRaw(uint8_t* bytes, int sz) {
|
||||||
int err = _radio->readData(bytes, len);
|
int err = _radio->readData(bytes, len);
|
||||||
if (err != RADIOLIB_ERR_NONE) {
|
if (err != RADIOLIB_ERR_NONE) {
|
||||||
MESH_DEBUG_PRINTLN("RadioLibWrapper: error: readData(%d)", err);
|
MESH_DEBUG_PRINTLN("RadioLibWrapper: error: readData(%d)", err);
|
||||||
|
len = 0;
|
||||||
} else {
|
} else {
|
||||||
// Serial.print(" readData() -> "); Serial.println(len);
|
// Serial.print(" readData() -> "); Serial.println(len);
|
||||||
|
n_recv++;
|
||||||
}
|
}
|
||||||
n_recv++;
|
|
||||||
}
|
}
|
||||||
state = STATE_IDLE; // need another startReceive()
|
state = STATE_IDLE; // need another startReceive()
|
||||||
return len;
|
return len;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue