Index: sources/applicationcontroller.cpp =================================================================== diff -u -rfee7fabf49befb065c89248c19e15efc9ca194e4 -r4b9619614f0a9deb0438a803c057918b94aacbec --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision fee7fabf49befb065c89248c19e15efc9ca194e4) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 4b9619614f0a9deb0438a803c057918b94aacbec) @@ -17,6 +17,7 @@ // Project #include "guiglobals.h" +#include "maintimer.h" #include "guicontroller.h" #include "messagedispatcher.h" @@ -50,6 +51,10 @@ */ void ApplicationController::initConnections() { + + connect(_MainTimer , SIGNAL( didTimeout()), + this , SLOT(onMainTimerTimeout())); + // From GUI connect(_GuiController , SIGNAL(didActionTransmit(GuiActionType, const QVariantList &)), this , SLOT( onActionTransmit(GuiActionType, const QVariantList &))); @@ -79,3 +84,27 @@ { emit didActionReceive (vAction, vData); } + +/*! + * \brief ApplicationController::onMainTimerTimeout + * \details This slot is called by MainTimer::didTimeout each second + * to call required methods like keepAlive + */ +void ApplicationController::onMainTimerTimeout() +{ + keepAlive(); +} + +/*! + * \brief ApplicationController::keepAlive + * \details This is the message which has to be send over the CANBUS + * as an monitor for other nodes on the bus to notify UI is alive + */ +void ApplicationController::keepAlive() +{ +#ifndef DISABLE_KEEP_ALIVE + QVariantList mData; + mData += static_cast(GuiActionData::NoData); + onActionTransmit(GuiActionType::KeepAlive, mData); +#endif +}