Fix doc path
[opentx.git] / companion / src / process_flash.h
blobc39be2644c8106ff21406689a9f31e3e7379e8e1
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #ifndef _PROCESS_FLASH_H_
22 #define _PROCESS_FLASH_H_
24 #include <QObject>
25 #include <QString>
26 #include <QStringList>
28 class ProgressWidget;
29 class QProcess;
30 class QTimer;
32 class FlashProcess : public QObject
34 Q_OBJECT
36 public:
37 FlashProcess(const QString &cmd, const QStringList &args, ProgressWidget *progress);
38 ~FlashProcess();
39 bool run();
41 signals:
42 void finished();
44 protected slots:
45 void onStarted();
46 void onReadyReadStandardOutput();
47 void onReadyReadStandardError();
48 void onFinished(int);
49 void onKillTimerElapsed();
51 protected:
52 void analyseStandardOutput(const QString &text);
53 void analyseStandardError(const QString &text);
54 void errorWizard();
55 void addReadFuses();
56 ProgressWidget *progress;
57 const QString cmd;
58 const QStringList args;
59 QProcess *process;
60 bool hasErrors;
61 QString currStdoutLine;
62 QString currStderrLine;
63 unsigned int lfuse;
64 unsigned int hfuse;
65 unsigned int efuse;
66 enum FlashPhase { READING, WRITING, VERIFYING };
67 FlashPhase flashPhase;
68 #if !__GNUC__
69 QTimer *killTimer;
70 #endif
73 #endif // _PROCESS_FLASH_H_