Index: sources/ApplicationPost.cpp =================================================================== diff -u -r2bc6542cebc264eb343f791f75223a1ca151465e -r3f555c49ddd2c983f469709e3c001d0e76159248 --- sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision 2bc6542cebc264eb343f791f75223a1ca151465e) +++ sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision 3f555c49ddd2c983f469709e3c001d0e76159248) @@ -14,9 +14,12 @@ */ #include "ApplicationPost.h" // Qt +#include +#include // Project - +#include "FileHandler.h" +#include "StorageGlobals.h" /*! * \brief ApplicationPost::ApplicationPost * \details Constructor @@ -30,10 +33,129 @@ * \details Starting the post application initialization * \return */ -bool ApplicationPost::start() +void ApplicationPost::start() { - // TEST Code - emit didPOSTFailed(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_TOUCH); - emit didPOSTFailed(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_CAN); - return false; + bool ok = false; + if (Storage::FileHandler::read(qApp->applicationDirPath() + "/" + Storage::POST_LOG, _content) ) { + ok = checkFileSystem () + && checkCANBus () + && checkDisplay () + && checkTouch () + && checkSDCard () + && RTC () + && checkWiFi () + && checkBluetooth () + && checkEthernet () + && checkSound () + ; + } + emit didPOSTDone(ok); } + +/*! + * \brief ApplicationPost::checkFileSystem + * \details Checks the File System Integrity + * \return false if there is an issue. + */ +bool ApplicationPost::checkFileSystem() +{ + bool ok = true; + // it will be done after consulting as part of CyberSecurity + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_FILESYSTEM); + return ok; +} + +/*! + * \brief ApplicationPost::checkCANBus + * \details Checks the CAN Bus driver is loaded and the bus is functional + * \return false if there is an issue. + */ +bool ApplicationPost::checkCANBus() +{ + bool ok = _content.contains(_postmsg_canbus); + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_CANBUS); + return ok; +} + +/*! + * \brief ApplicationPost::checkDisplay + * \details Checks the display driver is loaded + * \return false if there is an issue. + */ +bool ApplicationPost::checkDisplay() +{ + bool ok = true; + // do the test : not a good test has been found yet. + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_DISPLAY); + return ok; +} + +/*! + * \brief ApplicationPost::checkTouchScreen + * \details Checks the touch driver is loaded + * \return false if there is an issue. + */ +bool ApplicationPost::checkTouch() +{ + bool ok = _content.contains(_postmsg_touch); + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_TOUCH); + return ok; +} + +/*! + * \brief ApplicationPost::checkSDCard + * \details Checks the SD-Card driver is loaded and the is functional + * \return false if there is an issue. + */ +bool ApplicationPost::checkSDCard() +{ + bool ok = _content.contains(_postmsg_sdcard); + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_SDCARD); + return ok; +} + +/*! + * \brief ApplicationPost::CRC + * \details Checks the CAN Bus driver is loaded and the bus is functional + * \return false if there is an issue. + */ +bool ApplicationPost::RTC() +{ + bool ok = _content.contains(_postmsg_rtc); + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_RTC); + return ok; +} + +bool ApplicationPost::checkWiFi() +{ + bool ok = true; + // do the test + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_WIFI); + return ok; +} + +bool ApplicationPost::checkBluetooth() +{ + bool ok = true; // This should not stop the FW POST and is only a warning that will show up in the alarm list. + // do the test + // Test : if (! ok) + emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_BLUETOOTH); + return ok; +} + +bool ApplicationPost::checkEthernet() +{ + bool ok = true; + // do the test : we are not using this for now since it has been removed from the PRS. + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_ETHERNET); + return ok; +} + +bool ApplicationPost::checkSound() +{ + bool ok = true; + // do the test + if (! ok) emit didPOSTFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_SOUND); + return ok; +} +