summaryrefslogtreecommitdiff
path: root/LoRaHandler
diff options
context:
space:
mode:
authorMike Fiore <mfiore@multitech.com>2015-12-08 12:56:29 -0600
committerMike Fiore <mfiore@multitech.com>2015-12-08 12:56:29 -0600
commitabaacd64f96b834d85169f12351b0057c6e9c2fd (patch)
tree4bb98e806182401155e144f84a28114a9d3c4be9 /LoRaHandler
parent5a74150c78737daf2764570835b59b45141f3775 (diff)
downloadmtdot-box-evb-factory-firmware-abaacd64f96b834d85169f12351b0057c6e9c2fd.tar.gz
mtdot-box-evb-factory-firmware-abaacd64f96b834d85169f12351b0057c6e9c2fd.tar.bz2
mtdot-box-evb-factory-firmware-abaacd64f96b834d85169f12351b0057c6e9c2fd.zip
use link check instead of ping for compatibility with 3rd party network servers
Diffstat (limited to 'LoRaHandler')
-rw-r--r--LoRaHandler/LoRaHandler.cpp34
-rw-r--r--LoRaHandler/LoRaHandler.h14
2 files changed, 24 insertions, 24 deletions
diff --git a/LoRaHandler/LoRaHandler.cpp b/LoRaHandler/LoRaHandler.cpp
index b4de8b3..472af3e 100644
--- a/LoRaHandler/LoRaHandler.cpp
+++ b/LoRaHandler/LoRaHandler.cpp
@@ -4,7 +4,7 @@
typedef enum {
l_none = 0,
- l_ping,
+ l_link_check,
l_send,
l_join
} InternalLoRa;
@@ -18,7 +18,7 @@ void l_worker(void const* argument) {
l->_dot = mDot::getInstance();
int32_t ret;
- mDot::ping_response pr;
+ mDot::link_check lc;
mDot::rssi_stats rs;
mDot::snr_stats ss;
@@ -28,21 +28,21 @@ void l_worker(void const* argument) {
l->_status = LoRaHandler::busy;
l->_tick.attach(l, &LoRaHandler::blinker, 0.05);
switch (cmd) {
- case l_ping:
+ case l_link_check:
l->_mutex.lock();
- pr = l->_dot->ping();
+ lc = l->_dot->networkLinkCheck();
l->_mutex.unlock();
- if (pr.status == mDot::MDOT_OK) {
- l->_ping.up = pr;
+ if (lc.status) {
+ l->_link.up = lc;
l->_mutex.lock();
rs = l->_dot->getRssiStats();
ss = l->_dot->getSnrStats();
l->_mutex.unlock();
- l->_ping.down.rssi = rs.last;
- l->_ping.down.snr = ss.last;
- l->_status = LoRaHandler::ping_success;
+ l->_link.down.rssi = rs.last;
+ l->_link.down.snr = ss.last;
+ l->_status = LoRaHandler::link_check_success;
} else {
- l->_status = LoRaHandler::ping_failure;
+ l->_status = LoRaHandler::link_check_failure;
}
osSignalSet(l->_main, loraSignal);
l->_tick.detach();
@@ -92,12 +92,12 @@ LoRaHandler::LoRaHandler(osThreadId main)
_join_attempts(1),
_activity_led(XBEE_DIO1, PIN_OUTPUT, PullNone, red)
{
- _ping.status = false;
+ _link.status = false;
_activity_led = red;
}
-bool LoRaHandler::ping() {
- return action(l_ping);
+bool LoRaHandler::linkCheck() {
+ return action(l_link_check);
}
bool LoRaHandler::send(std::vector<uint8_t> data) {
@@ -129,13 +129,13 @@ LoRaHandler::LoRaStatus LoRaHandler::getStatus() {
return status;
}
-LoRaHandler::LoRaPing LoRaHandler::getPingResults() {
- LoRaPing ping;
+LoRaHandler::LoRaLink LoRaHandler::getLinkCheckResults() {
+ LoRaLink link;
_mutex.lock();
- ping = _ping;
+ link = _link;
_mutex.unlock();
- return ping;
+ return link;
}
uint32_t LoRaHandler::getJoinAttempts() {
diff --git a/LoRaHandler/LoRaHandler.h b/LoRaHandler/LoRaHandler.h
index 375c277..aa82398 100644
--- a/LoRaHandler/LoRaHandler.h
+++ b/LoRaHandler/LoRaHandler.h
@@ -10,19 +10,19 @@ class LoRaHandler {
typedef enum {
none = 0,
busy,
- ping_success,
+ link_check_success,
send_success,
join_success,
- ping_failure,
+ link_check_failure,
send_failure,
join_failure
} LoRaStatus;
typedef struct {
bool status;
- mDot::ping_response up;
+ mDot::link_check up;
mDot::ping_response down;
- } LoRaPing;
+ } LoRaLink;
typedef enum {
green = 0,
@@ -32,12 +32,12 @@ class LoRaHandler {
LoRaHandler(osThreadId main);
~LoRaHandler();
- bool ping();
+ bool linkCheck();
bool send(std::vector<uint8_t> data);
bool join();
bool action(uint8_t cmd);
LoRaStatus getStatus();
- LoRaPing getPingResults();
+ LoRaLink getLinkCheckResults();
uint32_t getJoinAttempts();
void resetJoinAttempts();
void blinker();
@@ -46,7 +46,7 @@ class LoRaHandler {
osThreadId _main;
Thread _thread;
LoRaStatus _status;
- LoRaPing _ping;
+ LoRaLink _link;
mDot* _dot;
Mutex _mutex;
uint32_t _join_attempts;