File indexing completed on 2024-04-28 15:09:53
0001 /* 0002 SPDX-FileCopyrightText: 2012 Jasem Mutlaq <mutlaqja@ikarustech.com> 0003 SPDX-FileCopyrightText: 2021 Wolfgang Reissenberger <sterne-jaeger@openfuture.de> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "guidestatewidget.h" 0009 0010 namespace Ekos 0011 { 0012 GuideStateWidget::GuideStateWidget(QWidget * parent) : QWidget(parent) 0013 { 0014 setupUi(this); 0015 init(); 0016 } 0017 0018 void GuideStateWidget::init() 0019 { 0020 // Guiding state 0021 if (idlingStateLed == nullptr) 0022 { 0023 idlingStateLed = new KLed(Qt::gray, KLed::Off, KLed::Flat, KLed::Circular, this); 0024 idlingStateLed->setObjectName("idlingStateLed"); 0025 guideStateLayout->insertWidget(0, idlingStateLed); 0026 } 0027 if (preparingStateLed == nullptr) 0028 { 0029 preparingStateLed = new KLed(Qt::gray, KLed::Off, KLed::Flat, KLed::Circular, this); 0030 preparingStateLed->setObjectName("preparingStateLed"); 0031 guideStateLayout->insertWidget(2, preparingStateLed); 0032 } 0033 if (runningStateLed == nullptr) 0034 { 0035 runningStateLed = new KLed(Qt::gray, KLed::Off, KLed::Flat, KLed::Circular, this); 0036 runningStateLed->setObjectName("runningStateLed"); 0037 guideStateLayout->insertWidget(4, runningStateLed); 0038 } 0039 } 0040 0041 void GuideStateWidget::updateGuideStatus(GuideState state) 0042 { 0043 idlingStateLed->off(); 0044 preparingStateLed->off(); 0045 runningStateLed->off(); 0046 switch (state) 0047 { 0048 case GUIDE_DISCONNECTED: 0049 idlingStateLed->setColor(Qt::red); 0050 idlingStateLed->on(); 0051 break; 0052 case GUIDE_CONNECTED: 0053 idlingStateLed->setColor(Qt::green); 0054 preparingStateLed->setColor(Qt::gray); 0055 runningStateLed->setColor(Qt::gray); 0056 idlingStateLed->on(); 0057 break; 0058 case GUIDE_CAPTURE: 0059 case GUIDE_LOOPING: 0060 case GUIDE_DARK: 0061 case GUIDE_SUBFRAME: 0062 preparingStateLed->setColor(Qt::green); 0063 runningStateLed->setColor(Qt::gray); 0064 preparingStateLed->on(); 0065 break; 0066 case GUIDE_STAR_SELECT: 0067 case GUIDE_CALIBRATING: 0068 preparingStateLed->setColor(Qt::yellow); 0069 runningStateLed->setColor(Qt::gray); 0070 preparingStateLed->on(); 0071 break; 0072 case GUIDE_CALIBRATION_ERROR: 0073 preparingStateLed->setColor(Qt::red); 0074 runningStateLed->setColor(Qt::red); 0075 preparingStateLed->on(); 0076 break; 0077 case GUIDE_CALIBRATION_SUCCESS: 0078 preparingStateLed->setColor(Qt::green); 0079 runningStateLed->setColor(Qt::yellow); 0080 preparingStateLed->on(); 0081 break; 0082 case GUIDE_GUIDING: 0083 preparingStateLed->setColor(Qt::green); 0084 runningStateLed->setColor(Qt::green); 0085 runningStateLed->setState(KLed::On); 0086 break; 0087 case GUIDE_MANUAL_DITHERING: 0088 case GUIDE_DITHERING: 0089 case GUIDE_DITHERING_SETTLE: 0090 case GUIDE_REACQUIRE: 0091 case GUIDE_SUSPENDED: 0092 runningStateLed->setColor(Qt::yellow); 0093 runningStateLed->setState(KLed::On); 0094 break; 0095 case GUIDE_DITHERING_ERROR: 0096 case GUIDE_ABORTED: 0097 idlingStateLed->setColor(Qt::green); 0098 preparingStateLed->setColor(Qt::red); 0099 runningStateLed->setColor(Qt::red); 0100 idlingStateLed->on(); 0101 break; 0102 case GUIDE_IDLE: 0103 default: 0104 idlingStateLed->setColor(Qt::green); 0105 idlingStateLed->on(); 0106 break; 0107 } 0108 0109 } 0110 }