Index: AlarmMapping.csv =================================================================== diff -u -rc9dafe29d33091483dde64e999bf0d6fd841ba23 -r3e64d98e243484505a44d99b13826097cb6b01eb --- AlarmMapping.csv (.../AlarmMapping.csv) (revision c9dafe29d33091483dde64e999bf0d6fd841ba23) +++ AlarmMapping.csv (.../AlarmMapping.csv) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -258,7 +258,7 @@ 257,"DG FPGA power out timeout." 258,"HD FPGA power out timeout." 259,"HD temperatures out of range." - 260,"UI POST File System Integrity failure." + 260,"UI POST Application Integrity (Sha256Sum) failure." 261,"UI POST CANBus failure." 262,"UI POST Display failure." 263,"UI POST Touch failure." Index: denali.pro.user =================================================================== diff -u -raeb915075b9e13e5c1aaf2800ba6db03b6c24a0b -r3e64d98e243484505a44d99b13826097cb6b01eb --- denali.pro.user (.../denali.pro.user) (revision aeb915075b9e13e5c1aaf2800ba6db03b6c24a0b) +++ denali.pro.user (.../denali.pro.user) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -1,6 +1,6 @@ - + EnvironmentId Index: scripts/run.sh =================================================================== diff -u -r143bb84e7a23e5dbc9fa5bd29e8aa0407b9a7109 -r3e64d98e243484505a44d99b13826097cb6b01eb --- scripts/run.sh (.../run.sh) (revision 143bb84e7a23e5dbc9fa5bd29e8aa0407b9a7109) +++ scripts/run.sh (.../run.sh) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -35,7 +35,7 @@ POSTMSG_RTC="RTC passed" POSTMSG_WIFI="WiFi passed" POSTMSG_BLUETOOTH="Bluetooth passed" -POSTMSG_APPSHA="App shasum passed" +POSTMSG_SHASUM="App shasum passed" # cleanup the POST log file echo "Start: $(currDate)" > $POSTLOG @@ -136,15 +136,15 @@ fi #check the denali applicatoin checksum -#md5sum -b --tag denali >> denali +#sha256sum -b --tag denali >> denali SHA_ACT=$(tail -c 83 ./denali | cut -c19-82) SHA_EXP=$(head -c -83 ./denali | sha256sum -b --tag | cut -c14-77) if [ "$SHA_ACT" == "$SHA_EXP" ]; then - echo $POSTMSG_APPSHA >> $POSTLOG + echo $POSTMSG_SHASUM >> $POSTLOG else - echo "Application Checksum Failed." - # Disabled for now, it needs to be setup on bamboo server. - # exit 100 + echo "Application ShaSum Failed" + # Disabled for now, it needs setup on the Bamboo server. + # exit 100 fi Index: sources/ApplicationController.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/ApplicationController.cpp (.../ApplicationController.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/ApplicationController.cpp (.../ApplicationController.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -29,7 +29,6 @@ #include "WifiInterface.h" #include "BluetoothInterface.h" - /*! * \brief ApplicationController::ApplicationController * \details Constructor @@ -49,7 +48,7 @@ _init = true; initConnections(); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } @@ -546,7 +545,7 @@ AdjustUIPostFinalResultRequestData data; data.mResult = vPass; emit didAdjustment(data); - LOG_DEBUG("ApplicationPost Done :" + QTime::currentTime().toString("HH:mm:ss.zzz")); + LOG_DEBUG("ApplicationPost Done"); } /*! @@ -570,7 +569,7 @@ * \return void */ void ApplicationController::onstartPOST() { - LOG_DEBUG("ApplicationPost Start:" + QTime::currentTime().toString("HH:mm:ss.zzz")); + LOG_DEBUG("ApplicationPost Start"); emit didActionTransmit(GuiActionType::ID_KeepAlive, {}); _post.start(); } Index: sources/ApplicationPost.cpp =================================================================== diff -u -raa8f2c87c14c68d1fda6da2540d47144990a596c -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision aa8f2c87c14c68d1fda6da2540d47144990a596c) +++ sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -37,48 +37,48 @@ void ApplicationPost::start() { QString postLogFileName = qApp->applicationDirPath() + "/" + Storage::POST_LOG; - if (Storage::FileHandler::read(postLogFileName, _content) ) { - _isFileSystem = checkFileSystem (); - _isCANBus = checkCANBus (); - _isDisplay = checkDisplay (); - _isTouch = checkTouch (); - _isSDCard = checkSDCard (); - _isRtc = checkRtc (); - _isWiFi = checkWiFi (); - _isBluetooth = checkBluetooth (); - _isEthernet = checkEthernet (); - _isSound = checkSound (); - // Please take care that, all of the checks have to be done so they need to be assigned to a variable and then, and them, - // otherwise on the first fail rest will not run by compiler optimization. - _isDone = _isFileSystem && - _isCANBus && - _isDisplay && - _isTouch && - _isSDCard && - _isRtc && - // _isWiFi && // is not mandatory and the device can still be used without it. Alarm will be triggered to notify user in Active Alarm List., - // _isBluetooth && // is not mandatory and the device can still be used without it. Alarm will be triggered to notify user in Active Alarm List., - _isEthernet && - _isSound ; + if (Storage::FileHandler::read(postLogFileName, _content)) { + _isShaSum = checkShaSum (); // This is a fault. Will always return true for now. Alarm will be triggered to notify user in Active Alarm List. There is a comment in the class definition about some ideas later. + _isCANBus = checkCANBus (); + _isDisplay = checkDisplay (); + _isTouch = checkTouch (); + _isSDCard = checkSDCard (); + _isRtc = checkRtc (); + _isWiFi = checkWiFi (); // is not mandatory and the device can still be used without it. Alarm will be triggered to notify user in Active Alarm List. + _isBluetooth = checkBluetooth (); // is not mandatory and the device can still be used without it. Alarm will be triggered to notify user in Active Alarm List. + _isEthernet = checkEthernet (); // this is not a Fault and not required the application to stop. No Alarm will be triggered. + _isSound = checkSound (); // this is not a Fault and not required the application to stop. No Alarm will be triggered. + // WARNING: + // all of the checks have to be done, + // although some are not failing the final result, + // so they need to be assigned to a variable and then, AND(&&) them, + // otherwise on the first fail rest of the checks will not run by compiler optimization. + _isDone = _isShaSum && + _isCANBus && + _isDisplay && + _isTouch && + _isSDCard && + _isRtc ; } else { + // TODO: Ignored for now but this could be a FileSystem check failure, and the post.log has to always exist. + // _done = false; LOG_EVENT(tr("The POST log file could not be read.")); } emit didDone(_isDone); } /*! - * \brief ApplicationPost::checkFileSystem + * \brief ApplicationPost::checkShaSum * \details Checks the File System Integrity - * \return false if there is an issue [No Implementation yet (always true)]. + * \return false if there is an issue [Not effects the UI Final POST result for now (always true)]. */ -bool ApplicationPost::checkFileSystem() +bool ApplicationPost::checkShaSum() { - bool ok = true; - //TODO: it will be done after consulting as part of CyberSecurity - if (! ok) emit didFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_FILESYSTEM); - emit didFileSystem(ok); - return ok; + bool ok = _content.contains(_postmsg_shasum); + if (! ok) emit didFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_SHASUM); + emit didShaSum(ok); + return true;// ok; //TODO: always true for now. Look at the class to-do note. } /*! @@ -150,11 +150,11 @@ /*! * \brief ApplicationPost::checkWiFi * \details Checks the WiFi driver is loaded and functional - * \return false if there is an issue [No Implementation yet (always true)]. + * \return false if there is an issue. */ bool ApplicationPost::checkWiFi() { - bool ok = true; //TODO: _content.contains(_postmsg_wifi); + bool ok = _content.contains(_postmsg_wifi); if (! ok) emit didFail(Gui::GuiAlarmID::ALARM_ID_UI_POST_FAILURE_WIFI); emit didWiFi(ok); return ok; @@ -163,7 +163,7 @@ /*! * \brief ApplicationPost::checkBluetooth * \details Checks the Bluetooth driver is loaded and functional - * \return false if there is an issue [No Implementation yet (always false)]. + * \return false if there is an issue. */ bool ApplicationPost::checkBluetooth() { @@ -176,7 +176,7 @@ /*! * \brief ApplicationPost::checkEthernet * \details Checks the Ethernet driver is loaded and functional. - * \return false if there is an issue [No Implementation yet (always true)]. + * \return false if there is an issue [Removed from the PRS (always true)]. */ bool ApplicationPost::checkEthernet() { @@ -200,4 +200,3 @@ emit didSound(ok); return ok; } - Index: sources/ApplicationPost.h =================================================================== diff -u -raa8f2c87c14c68d1fda6da2540d47144990a596c -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/ApplicationPost.h (.../ApplicationPost.h) (revision aa8f2c87c14c68d1fda6da2540d47144990a596c) +++ sources/ApplicationPost.h (.../ApplicationPost.h) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -20,45 +20,79 @@ // Project #include "GuiGlobals.h" +/*! + * \brief The ApplicationPost class + * \details The Application POST class is checking for the list of POST items which has been done during the boot-up, + * from withing the run.sh and looks into the post.log to make sure the check items are passed. + * Among the list POST items: + * - Application checksum + * - CANBus + * - Display + * - Touch + * - SDCard + * - RTC + * - WiFi + * - Bluetooth + * - Ethernet + * - Sound + * + * Two items: + * - Ethernet + * - Sound + * are not faults and will not even send the AlarmTrigger. + * + * Two items: + * - WiFi + * - Bluetooth + * are two faults and will send the AlarmTrigger, but will not affect the UI POST final result. + * + * One item: + * - Application checksum + * for now is only done during boot-up and if the checksum is not correct then the UI Application will not even run. + * \todo Later could be a good idea to run another Application, that shows the Fault Screen only (something like a Red Screen Of Death). + * + */ class ApplicationPost : public QObject { Q_OBJECT QString _content; - const char *_postmsg_canbus = "CANBus passed" ; - const char *_postmsg_sdcard = "SD-CARD passed" ; - const char *_postmsg_touch = "Touch passed" ; - const char *_postmsg_rtc = "RTC passed" ; - const char *_postmsg_wifi = "WiFi passed" ; - const char *_postmsg_bluetooth = "Bluetooth passed"; + // WARNING: these variables has to match with the ones in the run.sh. + const char *_postmsg_canbus = "CANBus passed" ; // POSTMSG_CANBUS="CANBus passed" + const char *_postmsg_sdcard = "SD-CARD passed" ; // POSTMSG_SDCARD="SD-CARD passed" + const char *_postmsg_touch = "Touch passed" ; // POSTMSG_TOUCH="Touch passed" + const char *_postmsg_rtc = "RTC passed" ; // POSTMSG_RTC="RTC passed" + const char *_postmsg_wifi = "WiFi passed" ; // POSTMSG_WIFI="WiFi passed" + const char *_postmsg_bluetooth = "Bluetooth passed" ; // POSTMSG_BLUETOOTH="Bluetooth passed" + const char *_postmsg_shasum = "App shasum passed" ; // POSTMSG_SHASUM="App shasum passed" - bool _isFileSystem = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_FILESYSTEM + bool _isShaSum = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_SHASUM bool _isCANBus = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_CANBUS bool _isDisplay = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_DISPLAY bool _isTouch = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_TOUCH bool _isSDCard = false ; // HIGH : ALARM_ID_UI_POST_FAILURE_SDCARD bool _isRtc = false ; // MEDIUM : ALARM_ID_UI_POST_FAILURE_RTC - bool _isWiFi = false ; // LOW : ALARM_ID_UI_POST_FAILURE_WIFI - bool _isBluetooth = false ; // LOW : ALARM_ID_UI_POST_FAILURE_BLUETOOTH - bool _isEthernet = false ; // NONE : ALARM_ID_UI_POST_FAILURE_ETHERNET : this is not a Fault and not required the application to stop. - bool _isSound = false ; // NONE : ALARM_ID_UI_POST_FAILURE_SOUND : this is not a Fault and not required the application to stop. + bool _isWiFi = false ; // LOW : ALARM_ID_UI_POST_FAILURE_WIFI : this is a fault but will not affect the final UI POST result. will just send AlarmTrigger. + bool _isBluetooth = false ; // LOW : ALARM_ID_UI_POST_FAILURE_BLUETOOTH : this is a fault but will not affect the final UI POST result. will just send AlarmTrigger. + bool _isEthernet = false ; // NONE : ALARM_ID_UI_POST_FAILURE_ETHERNET : this is not a Fault and not required the application to stop. + bool _isSound = false ; // NONE : ALARM_ID_UI_POST_FAILURE_SOUND : this is not a Fault and not required the application to stop. bool _isDone = false ; // tests // Severity - bool checkFileSystem (); // HIGH : ALARM_ID_UI_POST_FAILURE_FILESYSTEM + bool checkShaSum (); // HIGH : ALARM_ID_UI_POST_FAILURE_SHASUM bool checkCANBus (); // HIGH : ALARM_ID_UI_POST_FAILURE_CANBUS bool checkDisplay (); // HIGH : ALARM_ID_UI_POST_FAILURE_DISPLAY bool checkTouch (); // HIGH : ALARM_ID_UI_POST_FAILURE_TOUCH bool checkSDCard (); // HIGH : ALARM_ID_UI_POST_FAILURE_SDCARD bool checkRtc (); // MEDIUM : ALARM_ID_UI_POST_FAILURE_RTC - bool checkWiFi (); // LOW : ALARM_ID_UI_POST_FAILURE_WIFI - bool checkBluetooth (); // LOW : ALARM_ID_UI_POST_FAILURE_BLUETOOTH - bool checkEthernet (); // NONE : ALARM_ID_UI_POST_FAILURE_ETHERNET : this is not a Fault and not required the application to stop. - bool checkSound (); // NONE : ALARM_ID_UI_POST_FAILURE_SOUND : this is not a Fault and not required the application to stop. + bool checkWiFi (); // LOW : ALARM_ID_UI_POST_FAILURE_WIFI : this is a fault but will not affect the final UI POST result. will just send AlarmTrigger. + bool checkBluetooth (); // LOW : ALARM_ID_UI_POST_FAILURE_BLUETOOTH : this is a fault but will not affect the final UI POST result. will just send AlarmTrigger. + bool checkEthernet (); // NONE : ALARM_ID_UI_POST_FAILURE_ETHERNET : this is not a Fault and not required the application to stop. + bool checkSound (); // NONE : ALARM_ID_UI_POST_FAILURE_SOUND : this is not a Fault and not required the application to stop. public: - bool isFileSystem () { return _isFileSystem ; } + bool isShaSum () { return _isShaSum ; } bool isCANBus () { return _isCANBus ; } bool isDisplay () { return _isDisplay ; } bool isTouch () { return _isTouch ; } @@ -76,16 +110,16 @@ void start(); signals: - void didFileSystem (bool vPass); - void didCANBus (bool vPass); - void didDisplay (bool vPass); - void didTouch (bool vPass); - void didSDCard (bool vPass); - void didRtc (bool vPass); - void didWiFi (bool vPass); - void didBluetooth (bool vPass); - void didEthernet (bool vPass); - void didSound (bool vPass); + void didShaSum (bool vPass); + void didCANBus (bool vPass); + void didDisplay (bool vPass); + void didTouch (bool vPass); + void didSDCard (bool vPass); + void didRtc (bool vPass); + void didWiFi (bool vPass); + void didBluetooth (bool vPass); + void didEthernet (bool vPass); + void didSound (bool vPass); void didFail(Gui::GuiAlarmID vAlarmID); void didDone(bool vPass); Index: sources/MainTimer.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/MainTimer.cpp (.../MainTimer.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/MainTimer.cpp (.../MainTimer.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -46,7 +46,7 @@ else { startTimer(_interval); } - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } Index: sources/bluetooth/BluetoothInterface.cpp =================================================================== diff -u -r588792d3a3abb65a0b836055b7aa33527315c66a -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/bluetooth/BluetoothInterface.cpp (.../BluetoothInterface.cpp) (revision 588792d3a3abb65a0b836055b7aa33527315c66a) +++ sources/bluetooth/BluetoothInterface.cpp (.../BluetoothInterface.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -49,7 +49,7 @@ // runs in BluetoothInterface thread // REMINDER:initConnections(); has been removed from here to the ondoStart, // since the _local, _agent objects are created there. - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } @@ -543,7 +543,6 @@ // because we know we will always get the error since we are trying to connected to a device which is probably off. if ( ! _reconnectionActive ) NOTIFY_DEVICE_ERROR - } /*! @@ -698,7 +697,7 @@ Types::U08 batteryLevel; if (GetValue(data, index, batteryLevel)) { _tempBatt = batteryLevel.value; - LOG_DEBUG_UI(tr("BCUFF Battery: %1").arg(_tempBatt)); + LOG_DEBUG(tr("BCUFF Battery: %1").arg(_tempBatt)); } break; } Index: sources/canbus/FrameInterface.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -47,7 +47,7 @@ startTimer(1, Qt::PreciseTimer); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } Index: sources/canbus/MessageAcknowModel.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/canbus/MessageAcknowModel.cpp (.../MessageAcknowModel.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/canbus/MessageAcknowModel.cpp (.../MessageAcknowModel.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -44,7 +44,7 @@ // runs in MessageAcknowModel thread initConnections(); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -48,7 +48,7 @@ // runs in the thread initConnections(); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -226,7 +226,7 @@ if ( length ) { // this message has a variable length vPayload = Format::fromVariant(vData[0]); } - // LOG_EVENT_UI(QString("CheckIn")); + // DEBUG: LOG_EVENT_UI(QString("CheckIn")); break; case Gui::GuiActionType::ID_RawData: // len: 255, can have any len @@ -290,7 +290,7 @@ // coco end default: QString mActionIdHexString = Format::toHexString(vActionId); - LOG_DEBUG_UI(tr("Unknown transmit Message with ID '%1'").arg(mActionIdHexString)); + LOG_DEBUG(tr("Unknown transmit Message with ID '%1'").arg(mActionIdHexString)); ok = false; break; } Index: sources/device/DeviceController.cpp =================================================================== diff -u -r052c794d6a8db55a2fbfdad172275af073ee54c3 -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 052c794d6a8db55a2fbfdad172275af073ee54c3) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -138,7 +138,7 @@ /*! * \brief DeviceController::quitThread - * \details Moves this object to main thread to be handled by QApplicaiton + * \details Moves this object to main thread to be handled by QApplication * And to be destroyed there. */ void DeviceController::quitThread() Index: sources/gui/GuiController.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -149,7 +149,7 @@ initConnections(); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; } Index: sources/gui/qml/components/WaitDone.qml =================================================================== diff -u -rb50431293b0690d6071f0fd58044880909cef01d -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision b50431293b0690d6071f0fd58044880909cef01d) +++ sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -27,6 +27,7 @@ property int diameter: 50 property bool done : false property bool fail : false + property bool pause : false Image { id: _busyIndicator visible : true @@ -37,7 +38,7 @@ source : "qrc:/images/iBusy" RotationAnimator on rotation { - running : ! _root.done + running : ! _root.done && ! _root.pause from : 0 to : 360 loops : Animation.Infinite Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r73d6d02c19467735e92f7c451ca5d3b47a2a90e4 -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 73d6d02c19467735e92f7c451ca5d3b47a2a90e4) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -109,6 +109,7 @@ // So we can show that POST has completed fail : ! vHDPOSTData.doneResult done : vHDPOSTData.done + pause : ! _initialModeScreen.visible } } Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -rc9dafe29d33091483dde64e999bf0d6fd841ba23 -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision c9dafe29d33091483dde64e999bf0d6fd841ba23) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 16-Sep-2021 + * \date (last) 22-Sep-2021 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * @@ -287,7 +287,7 @@ /*0257*/case GuiAlarmID::ALARM_ID_DG_FPGA_POWER_OUT_TIMEOUT : { result = QObject::tr("DG FPGA power out timeout." ); break; } /* 257*/ /*0258*/case GuiAlarmID::ALARM_ID_HD_FPGA_POWER_OUT_TIMEOUT : { result = QObject::tr("HD FPGA power out timeout." ); break; } /* 258*/ /*0259*/case GuiAlarmID::ALARM_ID_HD_TEMPERATURES_OUT_OF_RANGE : { result = QObject::tr("HD temperatures out of range." ); break; } /* 259*/ -/*0260*/case GuiAlarmID::ALARM_ID_UI_POST_FAILURE_FILESYSTEM : { result = QObject::tr("UI POST File System Integrity failure." ); break; } /* 260*/ +/*0260*/case GuiAlarmID::ALARM_ID_UI_POST_FAILURE_SHASUM : { result = QObject::tr("UI POST Application Integrity (Sha256Sum) failure." ); break; } /* 260*/ /*0261*/case GuiAlarmID::ALARM_ID_UI_POST_FAILURE_CANBUS : { result = QObject::tr("UI POST CANBus failure." ); break; } /* 261*/ /*0262*/case GuiAlarmID::ALARM_ID_UI_POST_FAILURE_DISPLAY : { result = QObject::tr("UI POST Display failure." ); break; } /* 262*/ /*0263*/case GuiAlarmID::ALARM_ID_UI_POST_FAILURE_TOUCH : { result = QObject::tr("UI POST Touch failure." ); break; } /* 263*/ Index: sources/storage/Logger.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/storage/Logger.cpp (.../Logger.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/storage/Logger.cpp (.../Logger.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -87,8 +87,8 @@ { if ( ! checkThread() ) return; ADD_EVENT_HEADER; - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); - LOG_DEBUG_UI(tr("Application %1 Started").arg(qApp->applicationName())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("Application %1 Started").arg(qApp->applicationName())); LOG_EVENT_UI(qApp-> applicationVersion()); } @@ -390,7 +390,7 @@ // coco begin validated: This needs user interaction to check the old files deleted // Storage::FileHandler::find("/media/denali/0CAA-40C1/log/", {"*.err"}, 15); return 0; // has been tested manually - LOG_DEBUG("Initializing log clean up"); + LOG_DEBUG(tr("Initializing log clean up")); static QString mOSource; static QString mOExtension; int removeCount = 0; @@ -467,7 +467,7 @@ { // coco begin validated: This needs user interaction to export to USB device // has been tested manually - LOG_DEBUG(QString("Remove Logs Ended: %1").arg(_removeLogsWatcher.result())); + LOG_DEBUG(tr("Remove Logs Ended: %1").arg(_removeLogsWatcher.result())); emit didRemoveLogs(false); } // coco end Index: sources/storage/Logger.h =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/storage/Logger.h (.../Logger.h) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/storage/Logger.h (.../Logger.h) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -35,7 +35,6 @@ #define LOG_EVENT_UI(vCONTENT) emit Storage::Logger::I().didLog("UI," + vCONTENT, Storage::Logger::LogType::eLogEvent, true ) #define LOG_DATUM_UI(vCONTENT) emit Storage::Logger::I().didLog("UI," + vCONTENT, Storage::Logger::LogType::eLogDatum, true ) -#define LOG_DEBUG_UI(vCONTENT) emit Storage::Logger::I().didLog("UI," + vCONTENT, Storage::Logger::LogType::eLogDebug, true ) #define MIXED_EVENT_DATUM Index: sources/wifi/WifiInterface.cpp =================================================================== diff -u -r59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e -r3e64d98e243484505a44d99b13826097cb6b01eb --- sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 59fc5195a10eeb83ac60cf32a9123fb9c9f8ec8e) +++ sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 3e64d98e243484505a44d99b13826097cb6b01eb) @@ -220,7 +220,7 @@ _init = true; initConnections(); - LOG_DEBUG_UI(tr("%1 Initialized").arg(metaObject()->className())); + LOG_DEBUG(tr("%1 Initialized").arg(metaObject()->className())); return true; }