Browse Source
Merge pull request #2994 from oltaco/rx-irq-timeout
Add setter methods for preambleMillis and maxPayloadMillis on SX1262 and LR1110
pull/2997/head
Liam Cottle
5 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
21 additions and
12 deletions
-
src/helpers/radiolib/CustomLR1110.h
-
src/helpers/radiolib/CustomLR1110Wrapper.h
-
src/helpers/radiolib/CustomSX1262.h
-
src/helpers/radiolib/CustomSX1262Wrapper.h
|
|
|
@ -71,11 +71,14 @@ class CustomLR1110 : public LR1110 { |
|
|
|
_activityAt = 0; _headerSeen = false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
void setMaxPacketMillis(PacketMillis maxPacketMillis) { |
|
|
|
MESH_DEBUG_PRINTLN("Setting _preambleMillis=%u, _maxPacketMillis=%u", maxPacketMillis.preambleMillis, maxPacketMillis.payloadMillis); |
|
|
|
_preambleMillis = maxPacketMillis.preambleMillis; |
|
|
|
_maxPayloadMillis = maxPacketMillis.payloadMillis; |
|
|
|
|
|
|
|
void setPreambleMillis(uint32_t preambleMillis) { |
|
|
|
_preambleMillis = preambleMillis; |
|
|
|
MESH_DEBUG_PRINTLN("Set _preambleMillis=%u", _preambleMillis); |
|
|
|
} |
|
|
|
void setMaxPayloadMillis(uint32_t payloadMillis) { |
|
|
|
_maxPayloadMillis = payloadMillis; |
|
|
|
MESH_DEBUG_PRINTLN("Set _maxPayloadMillis=%u", _maxPayloadMillis); |
|
|
|
} |
|
|
|
|
|
|
|
uint8_t getSpreadingFactor() const { return spreadingFactor; } |
|
|
|
|
|
|
|
@ -14,8 +14,9 @@ public: |
|
|
|
((CustomLR1110 *)_radio)->setBandwidth(bw); |
|
|
|
((CustomLR1110 *)_radio)->setCodingRate(cr); |
|
|
|
updatePreamble(sf); |
|
|
|
((CustomLR1110 *)_radio)->setMaxPacketMillis(calcMaxPacketMillis(sf, bw, cr, preambleLengthForSF(sf))); |
|
|
|
|
|
|
|
PacketMillis pm = calcMaxPacketMillis(sf, bw, cr, preambleLengthForSF(sf)); |
|
|
|
((CustomLR1110 *)_radio)->setPreambleMillis(pm.preambleMillis); |
|
|
|
((CustomLR1110 *)_radio)->setMaxPayloadMillis(pm.payloadMillis); |
|
|
|
} |
|
|
|
|
|
|
|
void doResetAGC() override { lr11x0ResetAGC((LR11x0 *)_radio, ((CustomLR1110 *)_radio)->getFreqMHz()); } |
|
|
|
|
|
|
|
@ -137,10 +137,13 @@ class CustomSX1262 : public SX1262 { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
void setMaxPacketMillis(PacketMillis maxPacketMillis) { |
|
|
|
MESH_DEBUG_PRINTLN("Setting _preambleMillis=%u, _maxPacketMillis=%u", maxPacketMillis.preambleMillis, maxPacketMillis.payloadMillis); |
|
|
|
_preambleMillis = maxPacketMillis.preambleMillis; |
|
|
|
_maxPayloadMillis = maxPacketMillis.payloadMillis; |
|
|
|
void setPreambleMillis(uint32_t preambleMillis) { |
|
|
|
_preambleMillis = preambleMillis; |
|
|
|
MESH_DEBUG_PRINTLN("Set _preambleMillis=%u", _preambleMillis); |
|
|
|
} |
|
|
|
void setMaxPayloadMillis(uint32_t payloadMillis) { |
|
|
|
_maxPayloadMillis = payloadMillis; |
|
|
|
MESH_DEBUG_PRINTLN("Set _maxPayloadMillis=%u", _maxPayloadMillis); |
|
|
|
} |
|
|
|
|
|
|
|
bool getRxBoostedGainMode() { |
|
|
|
|
|
|
|
@ -18,7 +18,9 @@ public: |
|
|
|
((CustomSX1262 *)_radio)->setBandwidth(bw); |
|
|
|
((CustomSX1262 *)_radio)->setCodingRate(cr); |
|
|
|
updatePreamble(sf); |
|
|
|
((CustomSX1262 *)_radio)->setMaxPacketMillis(calcMaxPacketMillis(sf, bw, cr, preambleLengthForSF(sf))); |
|
|
|
PacketMillis pm = calcMaxPacketMillis(sf, bw, cr, preambleLengthForSF(sf)); |
|
|
|
((CustomSX1262 *)_radio)->setPreambleMillis(pm.preambleMillis); |
|
|
|
((CustomSX1262 *)_radio)->setMaxPayloadMillis(pm.payloadMillis); |
|
|
|
} |
|
|
|
|
|
|
|
bool isReceivingPacket() override { |
|
|
|
|