mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 01:18:36 +02:00
Added icsneo_isMessagePollingEnabled(), removed polling check from transmitting, and disabled error reporting on device destruction
This commit is contained in:
+7
-11
@@ -78,7 +78,7 @@ std::string Device::describe() const {
|
||||
}
|
||||
|
||||
void Device::enableMessagePolling() {
|
||||
if(messagePollingCallbackID != 0) // We are already polling
|
||||
if(isMessagePollingEnabled()) // We are already polling
|
||||
return;
|
||||
|
||||
messagePollingCallbackID = com->addMessageCallback(MessageCallback([this](std::shared_ptr<Message> message) {
|
||||
@@ -88,7 +88,7 @@ void Device::enableMessagePolling() {
|
||||
}
|
||||
|
||||
bool Device::disableMessagePolling() {
|
||||
if(messagePollingCallbackID == 0)
|
||||
if(!isMessagePollingEnabled())
|
||||
return true; // Not currently polling
|
||||
|
||||
auto ret = com->removeMessageCallback(messagePollingCallbackID);
|
||||
@@ -118,7 +118,7 @@ bool Device::getMessages(std::vector<std::shared_ptr<Message>>& container, size_
|
||||
}
|
||||
|
||||
// not currently polling, throw error
|
||||
if(messagePollingCallbackID == 0) {
|
||||
if(!isMessagePollingEnabled()) {
|
||||
err(APIError::DeviceNotPolling);
|
||||
return false;
|
||||
}
|
||||
@@ -215,9 +215,10 @@ bool Device::goOnline() {
|
||||
return false;
|
||||
|
||||
ledState = LEDState::Online;
|
||||
updateLEDState();
|
||||
|
||||
online = true;
|
||||
updateLEDState();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -226,9 +227,10 @@ bool Device::goOffline() {
|
||||
return false;
|
||||
|
||||
ledState = (latestResetStatus && latestResetStatus->cmRunning) ? LEDState::CoreMiniRunning : LEDState::Offline;
|
||||
|
||||
updateLEDState();
|
||||
|
||||
online = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -246,12 +248,6 @@ bool Device::transmit(std::shared_ptr<Message> message) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// not currently polling, throw error
|
||||
if(messagePollingCallbackID == 0) {
|
||||
err(APIError::DeviceNotPolling);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!isSupportedTXNetwork(message->network)) {
|
||||
err(APIError::UnsupportedTXNetwork);
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user