From 0a83aa7c81cb394283b5a327408831f7d62bc336 Mon Sep 17 00:00:00 2001 From: Mike Fiore Date: Wed, 18 Nov 2015 09:48:05 -0600 Subject: fix datarate display on join, clear signals for main thread after changing modes --- main.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 7a47f8d..02cfd5b 100644 --- a/main.cpp +++ b/main.cpp @@ -147,6 +147,9 @@ void join() { ButtonHandler::ButtonEvent ev; LoRaHandler::LoRaStatus status; + // clear any stale signals + osSignalClear(main_id, buttonSignal | loraSignal); + // start of temporary stuff! if (dot->getFrequencyBand() == mDot::FB_915) dot->setFrequencySubBand(mDot::FSB_7); @@ -177,7 +180,8 @@ void join() { } if (band == mDot::FB_915) lj.updateFsb(dot->getFrequencySubBand()); - lj.updateRate(dot->DataRateStr(rate)); + // mDot::DataRateStr returns format SF_XX - we only want to display the XX part + lj.updateRate(dot->DataRateStr(rate).substr(3)); lj.updatePower(power); if (! lora) { @@ -234,8 +238,11 @@ void join() { void configuration() { LayoutConfig lc(lcd); - lc.display(); + // clear any stale signals + osSignalClear(main_id, buttonSignal | loraSignal); + + lc.display(); logInfo("config mode"); while (true) { -- cgit v1.2.3