Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 163 → Rev 162

/QMK-Groundstation/trunk/ChangeLog.txt
49,17 → 49,3
* Speicherung der Analognamen / Einstellungen der Datenfelder für FC / NC /
MK3MAG getrennt.
 
#######################################
# 08.12.2008 * Version 0.5.6h -> 0.5.6m
 
BugFix:
=======
* Fehler bei Analoglabel-Anforderung beseitigt. (Letzte Label wurde immer wieder
neu angefordert.
 
Änderungen:
===========
* Version der Firmeware wird bei den Analoglabels mit abgespeichert. Wenn Versionen
unterschiedlich sind, werden Labels automatisch neu abgefragt.
* Einstellung der Verzeichnisse jetzt über den Einstellungs-Dialog.
 
/QMK-Groundstation/trunk/Forms/dlg_Config.h
32,14 → 32,13
 
~dlg_Config();
 
void set_Settings(cSettings *Set, int ID = 0);
cSettings *get_Settings();
 
private:
cSettings *Settings;
QCheckBox *cb_Plot[MaxAnalog];
QCheckBox *cb_Log[MaxAnalog];
 
 
void set_Settings(cSettings *Set, int ID = 0);
cSettings *get_Settings();
};
 
#endif
/QMK-Groundstation/trunk/Forms/dlg_Preferences.cpp
21,49 → 21,9
dlg_Preferences::dlg_Preferences(QWidget *parent) : QDialog(parent)
{
setupUi(this);
connect(pb_DIR_CVS, SIGNAL(clicked()), this, SLOT(slot_DIR_CVS()));
connect(pb_DIR_SET, SIGNAL(clicked()), this, SLOT(slot_DIR_SET()));
}
 
void dlg_Preferences::set_Settings(cSettings *Set)
{
Settings = Set;
 
le_DIR_CVS->setText(Settings->DIR.Logging);
le_DIR_SET->setText(Settings->DIR.Parameter);
}
 
cSettings *dlg_Preferences::get_Settings()
{
return Settings;
}
 
// Configuration -> Verzeichnisse
/////////////////////////////////
void dlg_Preferences::slot_DIR_CVS()
{
QString directory = QFileDialog::getExistingDirectory(this, "Verzeichniss fuer CSV-Logdateien", Settings->DIR.Logging, QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
 
if ((!directory.isEmpty()) && (Settings->DIR.Logging != directory))
{
Settings->DIR.Logging = directory;
le_DIR_CVS->setText(Settings->DIR.Logging);
// Settings->write_Settings();
}
}
 
void dlg_Preferences::slot_DIR_SET()
{
QString directory = QFileDialog::getExistingDirectory(this, "Verzeichniss fuer Settings-Dateien", Settings->DIR.Parameter, QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
 
if ((!directory.isEmpty()) && (Settings->DIR.Parameter != directory))
{
Settings->DIR.Parameter = directory;
le_DIR_SET->setText(Settings->DIR.Parameter);
// Settings->write_Settings();
}
 
}
dlg_Preferences::~dlg_Preferences()
{
}
/QMK-Groundstation/trunk/Forms/dlg_Preferences.h
20,30 → 20,17
#define DLG_PREFERENCES_H
 
#include <QCheckBox>
#include <QFileDialog>
 
#include "ui_dlg_Preferences.h"
#include "../cSettings.h"
//#include "../cSettings.h"
//#include "../global.h"
 
class dlg_Preferences : public QDialog, public Ui::dlg_Preferences_UI
{
Q_OBJECT
public:
dlg_Preferences(QWidget *parent = 0);
 
public:
dlg_Preferences(QWidget *parent = 0);
 
~dlg_Preferences();
 
void set_Settings(cSettings *Set);
cSettings *get_Settings();
 
private:
cSettings *Settings;
 
private slots:
void slot_DIR_CVS();
void slot_DIR_SET();
~dlg_Preferences();
};
 
#endif
/QMK-Groundstation/trunk/Forms/dlg_Preferences.ui
5,15 → 5,125
<rect>
<x>0</x>
<y>0</y>
<width>388</width>
<height>317</height>
<width>239</width>
<height>274</height>
</rect>
</property>
<property name="windowTitle" >
<string>Einstellungen</string>
</property>
<layout class="QGridLayout" name="gridLayout_4" >
<layout class="QGridLayout" name="gridLayout_3" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Debug-Daten</string>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>Intervall langsam :</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QSpinBox" name="sp_Debug_Slow" >
<property name="suffix" >
<string> ms</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>2550</number>
</property>
<property name="singleStep" >
<number>10</number>
</property>
<property name="value" >
<number>500</number>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Intervall schnell :</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSpinBox" name="sp_Debug_Fast" >
<property name="suffix" >
<string> ms</string>
</property>
<property name="prefix" >
<string/>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>2550</number>
</property>
<property name="singleStep" >
<number>10</number>
</property>
<property name="value" >
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2" >
<widget class="QCheckBox" name="checkBox" >
<property name="text" >
<string>Beim Beenden abschalten</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2" >
<widget class="QCheckBox" name="checkBox_2" >
<property name="text" >
<string>Debug-Texte immer neueinlesen</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" >
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<string>Plotter</string>
</property>
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Angezeigte Datensätze :</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QSpinBox" name="sp_Plotter_Count" >
<property name="minimum" >
<number>50</number>
</property>
<property name="maximum" >
<number>250</number>
</property>
<property name="singleStep" >
<number>5</number>
</property>
<property name="value" >
<number>100</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" >
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<spacer>
44,201 → 154,9
</item>
</layout>
</item>
<item row="0" column="0" >
<widget class="QTabWidget" name="tabWidget" >
<property name="currentIndex" >
<number>0</number>
</property>
<widget class="QWidget" name="tab" >
<attribute name="title" >
<string>Analog-Daten</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Debug-Daten</string>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>Intervall langsam :</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QSpinBox" name="sp_Debug_Slow" >
<property name="suffix" >
<string> ms</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>2550</number>
</property>
<property name="singleStep" >
<number>10</number>
</property>
<property name="value" >
<number>500</number>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Intervall schnell :</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSpinBox" name="sp_Debug_Fast" >
<property name="suffix" >
<string> ms</string>
</property>
<property name="prefix" >
<string/>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>2550</number>
</property>
<property name="singleStep" >
<number>10</number>
</property>
<property name="value" >
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2" >
<widget class="QCheckBox" name="checkBox" >
<property name="text" >
<string>Beim Beenden abschalten</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2" >
<widget class="QCheckBox" name="checkBox_2" >
<property name="text" >
<string>Debug-Texte immer neueinlesen</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" >
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<string>Plotter</string>
</property>
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Angezeigte Datensätze :</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QSpinBox" name="sp_Plotter_Count" >
<property name="minimum" >
<number>50</number>
</property>
<property name="maximum" >
<number>250</number>
</property>
<property name="singleStep" >
<number>5</number>
</property>
<property name="value" >
<number>100</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2" >
<attribute name="title" >
<string>Verzeichnisse</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3" >
<item>
<widget class="QGroupBox" name="groupBox_3" >
<property name="title" >
<string>Verzeichniss für CVS-Dateien (Datenrecorder)</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<widget class="QLineEdit" name="le_DIR_CVS" />
</item>
<item>
<widget class="QPushButton" name="pb_DIR_CVS" >
<property name="text" >
<string>Verzeichniss auswählen</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/folder-print.png</normaloff>:/Actions/Images/22X22/folder-print.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4" >
<property name="title" >
<string>Verzeichniss für Setting-Dateien</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2" >
<item>
<widget class="QLineEdit" name="le_DIR_SET" />
</item>
<item>
<widget class="QPushButton" name="pb_DIR_SET" >
<property name="text" >
<string>Verzeichniss auswählen</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/folder.png</normaloff>:/Actions/Images/22X22/folder.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../MKTool.qrc" />
</resources>
<resources/>
<connections>
<connection>
<sender>okButton</sender>
/QMK-Groundstation/trunk/Forms/mktool.cpp
162,6 → 162,9
connect(ac_ConnectTTY, SIGNAL(triggered()), this, SLOT(slot_OpenPort()));
connect(ac_RecordCSV, SIGNAL(triggered()), this, SLOT(slot_RecordCSV()));
 
connect(ac_LogDir, SIGNAL(triggered()), this, SLOT(slot_SetLogDir()));
connect(ac_ParameterDir, SIGNAL(triggered()), this, SLOT(slot_SetParDir()));
 
// Timer-Events
connect(Ticker, SIGNAL(timeout()), SLOT(slot_Ticker()));
 
368,17 → 371,30
Settings = f_Config->get_Settings();
Settings->write_Settings_Analog(Mode.ID);
 
// Plotter neu einrichten
if (Old_Analog1.PlotView != Settings->Analog1.PlotView)
for (int a = 0; a < MaxAnalog; a++)
{
config_Plot();
if (Old_Analog1.PlotView[a] == Settings->Analog1.PlotView[a])
continue;
else
{
config_Plot();
break;
}
}
 
// CVS-Datei neu anlegen.
if ((CSVFile->isOpen()) && (Old_Analog1.LogView != Settings->Analog1.LogView))
if (CSVFile->isOpen())
{
slot_RecordCSV();
slot_RecordCSV();
for (int a = 0; a < MaxAnalog; a++)
{
if (Old_Analog1.LogView[a] == Settings->Analog1.LogView[a])
continue;
else
{
slot_RecordCSV();
slot_RecordCSV();
break;
}
}
}
 
}
388,12 → 404,9
{
dlg_Preferences *f_Preferences = new dlg_Preferences(this);
 
f_Preferences->set_Settings(Settings);
 
if (f_Preferences->exec()==QDialog::Accepted)
{
Settings = f_Preferences->get_Settings();
Settings->write_Settings();
 
}
}
 
556,7 → 569,32
qDebug("Shell");
}
 
// Configuration -> Verzeichnisse
/////////////////////////////////
void MKTool::slot_SetLogDir()
{
QString directory = QFileDialog::getExistingDirectory(this, "Verzeichniss für CSV-Logdateien", Settings->DIR.Logging, QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
 
if ((!directory.isEmpty()) && (Settings->DIR.Logging != directory))
{
Settings->DIR.Logging = directory;
Settings->write_Settings();
}
}
 
void MKTool::slot_SetParDir()
{
QString directory = QFileDialog::getExistingDirectory(this, "Verzeichniss für Parameter-Dateien", Settings->DIR.Parameter, QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
 
if ((!directory.isEmpty()) && (Settings->DIR.Parameter != directory))
{
Settings->DIR.Parameter = directory;
Settings->write_Settings();
}
 
}
 
 
// Settings-Bereich
///////////////////
 
1468,26 → 1506,29
////////////////////
void MKTool::write_Settings()
{
// QBitArray TabViews(6);
Settings->GUI.TabViews.setBit(0, ac_View0->isChecked());
Settings->GUI.TabViews.setBit(1, ac_View1->isChecked());
Settings->GUI.TabViews.setBit(2, ac_View2->isChecked());
Settings->GUI.TabViews.setBit(3, ac_View3->isChecked());
Settings->GUI.TabViews.setBit(4, ac_View4->isChecked());
Settings->GUI.TabViews.setBit(5, ac_View5->isChecked());
QBitArray TabViews(6);
TabViews.setBit(0, ac_View0->isChecked());
TabViews.setBit(1, ac_View1->isChecked());
TabViews.setBit(2, ac_View2->isChecked());
TabViews.setBit(3, ac_View3->isChecked());
TabViews.setBit(4, ac_View4->isChecked());
TabViews.setBit(5, ac_View5->isChecked());
 
Settings->GUI.Term_Info = cb_ShowMSG->isChecked();
Settings->GUI.Term_Data = cb_ShowData->isChecked();
Settings->GUI.Term_Always = cb_ShowAlways->isChecked();
 
Settings->TTY.Port = le_Port->text();
 
QSettings Setting("KeyOz-Net", "QMK-Groundstation");
 
Setting.beginGroup("Port");
Setting.setValue("TTY", le_Port->text());
Setting.endGroup();
 
Setting.beginGroup("GUI");
Setting.setValue("IsMax", isMaximized());
Setting.setValue("Size", size());
Setting.setValue("Point", pos());
Setting.setValue("TabViews", QBitArray(TabViews));
Setting.endGroup();
}
 
1659,7 → 1700,7
if (ToolBox::Decode64(RX, true))
{
int Position = RX.Decode[0];
if (Position != 31)
if (Position < 32)
{
Settings->Analog1.Label[Position] = ToolBox::Data2QString(RX.Decode,1,17).trimmed();
Position ++;
1672,7 → 1713,6
{
lb_Analog[a]->setText(Settings->Analog1.Label[a]);
}
Settings->Analog1.Version = Mode.Version;
Settings->write_Settings_AnalogLabels(HardwareID);
config_Plot();
}
1761,14 → 1801,8
// "Keine Verbindung zur FlightCtrl. \nParameterbearbeitung nicht moeglich.", QMessageBox::Ok);
}
 
Settings->read_Settings_AnalogLabels(HardwareID);
Settings->read_Settings_Analog(HardwareID);
Settings->read_Settings_AnalogLabels(HardwareID);
 
if (Settings->Analog1.Version != Mode.Version)
{
slot_ac_GetLabels();
}
else
for (int a = 0; a < MaxAnalog; a++)
{
lb_Analog[a]->setText(Settings->Analog1.Label[a]);
1917,4 → 1951,7
{
CSVFile->close();
}
 
// close();
}
 
/QMK-Groundstation/trunk/Forms/mktool.h
180,6 → 180,9
void slot_SetParameter();
void slot_LoadParameter();
void slot_SaveParameter();
 
void slot_SetLogDir();
void slot_SetParDir();
};
 
#endif
/QMK-Groundstation/trunk/Forms/mktool.ui
6023,9 → 6023,17
<property name="title" >
<string>&amp;Einstellungen</string>
</property>
<widget class="QMenu" name="menuVerzeichnisse" >
<property name="title" >
<string>Verzeichnisse</string>
</property>
<addaction name="ac_LogDir" />
<addaction name="ac_ParameterDir" />
</widget>
<addaction name="ac_Config" />
<addaction name="ac_Preferences" />
<addaction name="separator" />
<addaction name="ac_Preferences" />
<addaction name="menuVerzeichnisse" />
</widget>
<widget class="QMenu" name="menu_Help" >
<property name="title" >
6161,7 → 6169,7
<normaloff>:/Actions/Images/22X22/configure.png</normaloff>:/Actions/Images/22X22/configure.png</iconset>
</property>
<property name="text" >
<string>Datenfelder wählwn</string>
<string>Datenfelder</string>
</property>
</action>
<action name="ac_MehrDaten" >
6253,7 → 6261,7
<normaloff>:/Actions/Images/22X22/configure.png</normaloff>:/Actions/Images/22X22/configure.png</iconset>
</property>
<property name="text" >
<string>QMK Einrichten</string>
<string>Allgemein</string>
</property>
</action>
<action name="ac_Motortest" >
/QMK-Groundstation/trunk/Images/22X22/folder-print.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/QMK-Groundstation/trunk/Images/22X22/folder.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/QMK-Groundstation/trunk/MKTool.qrc
15,8 → 15,6
<file>Images/32X32/arrow-up.png</file>
</qresource>
<qresource prefix="Actions" >
<file>Images/22X22/folder.png</file>
<file>Images/22X22/folder-print.png</file>
<file>Images/22X22/clock.png</file>
<file>Images/22X22/configure.png</file>
<file>Images/22X22/application-exit.png</file>
/QMK-Groundstation/trunk/cSettings.cpp
93,7 → 93,6
QSettings Setting("KeyOz-Net", "QMK-Groundstation-Labels");
 
Setting.beginGroup("Analog-Labels-" + Hardware);
Setting.setValue("Version", Analog1.Version);
for (int a=0; a<MaxAnalog; a++)
{
Setting.setValue("Label_" + QString("%1").arg(a), Analog1.Label[a]);
108,7 → 107,6
QSettings Setting("KeyOz-Net", "QMK-Groundstation-Labels");
 
Setting.beginGroup("Analog-Labels-" + Hardware);
Analog1.Version = Setting.value(("Version"), "0").toString();
for (int a=0; a<MaxAnalog; a++)
{
Analog1.Label[a] = Setting.value(("Label_" + QString("%1").arg(a)), Def_AnalogNames[a]).toString();
160,7 → 158,7
Setting.endGroup();
 
Setting.beginGroup("Port");
Setting.setValue("TTY", TTY.Port);
// Setting.setValue("TTY", le_Port->text());
Setting.endGroup();
 
Setting.beginGroup("Dirs");
172,7 → 170,6
Setting.setValue("Terminal_Info", GUI.Term_Info);
Setting.setValue("Terminal_Data", GUI.Term_Data);
Setting.setValue("Terminal_Always", GUI.Term_Always);
Setting.setValue("TabViews", QBitArray(GUI.TabViews));
Setting.endGroup();
}
 
/QMK-Groundstation/trunk/cSettings.h
45,7 → 45,6
 
struct set_Analog
{
QString Version;
QString Label[MaxAnalog];
QBitArray PlotView;
QBitArray LogView;
/QMK-Groundstation/trunk/global.h
40,8 → 40,8
static const int SETTINGS_ID = 2;
 
static const QString QA_NAME = "QMK-Groundstation";
static const QString QA_VERSION = "0.5.6m";
static const QString QA_DATE = "08.12.2008";
static const QString QA_VERSION = "0.5.6h";
static const QString QA_DATE = "06.12.2008";
static const QString QA_YEAR = "2008";
static const QString QA_AUTHOR = "Manuel Schrape";
static const QString QA_EMAIL = "manuel.schrape@gmx.de";