diff options
Diffstat (limited to 'Mode/ModeDemo.cpp')
-rw-r--r-- | Mode/ModeDemo.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Mode/ModeDemo.cpp b/Mode/ModeDemo.cpp index f9ea69d..3fc7961 100644 --- a/Mode/ModeDemo.cpp +++ b/Mode/ModeDemo.cpp @@ -20,9 +20,13 @@ bool ModeDemo::start() { // clear any stale signals osSignalClear(_main_id, buttonSignal | loraSignal); - // set spreading factor and power - _dot->setTxDataRate(mDot::SF_9); - _dot->setTxPower(20); + _initial_data_rate = _dot->getTxDataRate(); + + // use configured data rate and power if possible + if (_band == mDot::FB_915 && _initial_data_rate == mDot::SF_10) { + logInfo("using SF_9 instead of SF_10 - SF_10 max packet size is too small for data"); + _dot->setTxDataRate(mDot::SF_9); + } _state = show_help; displayHelp(); @@ -74,6 +78,7 @@ bool ModeDemo::start() { case ButtonHandler::sw1_hold: _send_timer.stop(); _send_timer.reset(); + _dot->setTxDataRate(_initial_data_rate); return true; } } |