annotate editlogdialog.cpp @ 12:ac837fe1d590 default tip

Switch implementation for reqex class and added RFCOMM as label for Bluetooth based connection by Linux
author Ideenmodellierer
date Mon, 12 Jan 2026 13:58:41 +0000
parents 21ce6187d32e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
1 #include "editlogdialog.h"
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
2 #include "MainWindow.h" // Needed to propagare retranslate()
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
3 #include "Utils/Log.h"
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
4 #include "ui_LogEditor.h"
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
5
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
6 #include "HardwareOperations.h"
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
7
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
8 #include <QApplication>
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
9 #include <QDialogButtonBox>
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
10 #include <QDir>
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
11 #include <QLibraryInfo>
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
12 #include <QPushButton>
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
13 #include <QTableWidget>
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
14 #include <QTranslator>
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
15
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
16 #ifdef Q_OS_WIN
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
17 #define NOMINMAX 1
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
18 #include <Windows.h>
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
19 #undef NOMINMAX
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
20 #endif
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
21 #define HEADER2OFFSET 0x400
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
22
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
23 EditLogDialog::EditLogDialog(QWidget *parent, HardwareOperations *op)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
24 : QDialog(parent)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
25 , _ui(new Ui::editLogWnd)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
26 , _op(op)
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
27 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
28 uint32_t index, index2;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
29 uint32_t sizeY = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
30 _ui->setupUi(this);
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
31 QTableWidget *headerView = _ui->SectorView;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
32 QTableWidget *sampleView = _ui->SampleView;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
33
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
34 _ui->textBrowser_2->setTabStopDistance(
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
35 QFontMetricsF(_ui->textBrowser_2->font()).horizontalAdvance(' ') * 4);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
36 headerView->horizontalHeader()->setMinimumSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
37 headerView->verticalHeader()->setMinimumSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
38 headerView->horizontalHeader()->setDefaultSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
39 headerView->verticalHeader()->setDefaultSectionSize(8);
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
40 headerView->setColumnWidth(0, 8);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
41 headerView->setRowHeight(0, 8);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
42 headerView->horizontalHeader()->hide();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
43 headerView->verticalHeader()->hide();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
44
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
45 sampleView->horizontalHeader()->setMinimumSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
46 sampleView->verticalHeader()->setMinimumSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
47 sampleView->horizontalHeader()->setDefaultSectionSize(8);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
48 sampleView->verticalHeader()->setDefaultSectionSize(8);
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
49 sampleView->setColumnWidth(0, 8);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
50 sampleView->setRowHeight(0, 8);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
51 sampleView->horizontalHeader()->hide();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
52 sampleView->verticalHeader()->hide();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
53
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
54 headerView->setRowCount(16);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
55 headerView->setColumnCount(16);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
56
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
57 sampleView->setRowCount(12);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
58 sampleView->setColumnCount(16);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
59
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
60 HeaderBuffer = new unsigned char[0x8000 * 8 + 1]; // 64k Headerbuffer + lastDiveindex
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
61 SampleBuffer = new unsigned char[0xC00000 + 4]; // 12MB Samplebuffer + nextSampleAddr
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
62
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
63 headerView->resize(8 * 16 + 2, 8 * 16 + 2);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
64 sampleView->resize(8 * 16 + 2, 8 * 12 + 2);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
65 sizeY = (uint32_t) (headerView->geometry().width()) / 16;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
66
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
67 if (sizeY < 8) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
68 sizeY = 8;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
69 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
70
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
71 for (index = 0; index < 16; index++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
72 headerView->setColumnWidth(index, sizeY);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
73 headerView->setRowHeight(index, sizeY);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
74 for (index2 = 0; index2 < 16; index2++) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
75 item[index * 16 + index2] = new QTableWidgetItem(" ");
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
76 headerView->setItem(index, index2, item[index * 16 + index2]);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
77 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
78 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
79
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
80 for (index = 0; index < 12; index++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
81 sampleView->setColumnWidth(index, sizeY);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
82 sampleView->setRowHeight(index, sizeY);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
83 for (index2 = 0; index2 < 16; index2++) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
84 sampleitem[index * 16 + index2] = new QTableWidgetItem(" ");
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
85 sampleView->setItem(index, index2, sampleitem[index * 16 + index2]);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
86 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
87 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
88
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
89 headerView->show();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
90 headerView->setShowGrid(true);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
91
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
92 sampleView->show();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
93 sampleView->setShowGrid(true);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
94 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
95
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
96 EditLogDialog::~EditLogDialog()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
97 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
98 uint32_t index;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
99
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
100 for (index = 0; index < 256; index++) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
101 delete item[index];
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
102 }
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
103 for (index = 0; index < 192; index++) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
104 delete sampleitem[index];
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
105 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
106 delete _ui;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
107 delete HeaderBuffer;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
108 delete SampleBuffer;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
109 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
110
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
111 void EditLogDialog::on_WriteAllHeader_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
112 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
113 _op->writeAllHeader(HeaderBuffer);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
114 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
115
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
116 void EditLogDialog::on_pushButton_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
117 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
118 Q_ASSERT(_op);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
119
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
120 HeaderBuffer[0] = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
121
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
122 try {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
123 LOG_INFO(tr("Request All Headers..."));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
124 _op->getAllHeader(HeaderBuffer);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
125 } catch (const std::exception &e) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
126 LOG_INFO(
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
127 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what()));
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
128 }
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
129 if (HeaderBuffer[0] != 0) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
130 LOG_INFO(tr("Got something"));
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
131 updateHeaderStatus();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
132 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
133 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
134
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
135 void EditLogDialog::on_HeaderUsage_valueChanged(int value) {}
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
136
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
137 void EditLogDialog::on_ReadAllSamples_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
138 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
139 try {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
140 LOG_INFO(tr("Request All Samples..."));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
141 _op->getAllSamples(SampleBuffer);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
142 } catch (const std::exception &e) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
143 LOG_INFO(
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
144 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what()));
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
145 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
146 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
147
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
148 void EditLogDialog::on_WriteAllSamples_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
149 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
150 try {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
151 LOG_INFO(tr("Request All Samples..."));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
152 _op->writeAllSamples(SampleBuffer);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
153 } catch (const std::exception &e) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
154 LOG_INFO(
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
155 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what()));
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
156 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
157 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
158
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
159 void EditLogDialog::on_pushButton_2_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
160 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
161 qint64 length;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
162 QFile dumpFile;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
163 dumpFile.setFileName("Log_Dump.bin");
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
164 if (!dumpFile.open(QIODevice::WriteOnly)) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
165 LOG_THROW("Cannot create dump file ");
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
166 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
167 length = 0x8000 * 8 + 1;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
168 dumpFile.write((const char *) HeaderBuffer, length);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
169 length = 0xC00000 + 4;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
170 dumpFile.write((const char *) SampleBuffer, length);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
171 dumpFile.close();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
172 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
173 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
174
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
175 void EditLogDialog::on_LoadDump_clicked()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
176 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
177 qint64 length;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
178 QFile dumpFile;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
179 dumpFile.setFileName("Log_Dump.bin");
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
180 if (!dumpFile.open(QIODevice::ReadOnly)) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
181 LOG_THROW("Cannot read dump file ");
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
182 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
183 length = 0x8000 * 8 + 1;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
184 dumpFile.read((char *) HeaderBuffer, length);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
185 length = 0xC00000 + 4;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
186 dumpFile.read((char *) SampleBuffer, length);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
187 dumpFile.close();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
188
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
189 updateHeaderStatus();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
190 updateSampleStatus();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
191 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
192 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
193
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
194 void EditLogDialog::updateHeaderStatus()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
195 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
196 QProgressBar *w = _ui->HeaderUsage;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
197 QTableWidget *sv = _ui->SectorView;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
198 SLogbookHeader *LogInfo;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
199 SSmallHeader *smallHeader;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
200 unsigned char HeaderInUse = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
201 uint32_t index, index2;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
202 uint32_t sampleStartAddr, sampleEndAddr, sampleLength;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
203 int row;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
204 int colum;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
205
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
206 for (index = 0; index < 16; index++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
207 for (index2 = 0; index2 < 16; index2++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
208 if ((HeaderBuffer[(0x800 * (index * 16 + index2)) + HEADER2OFFSET] == 0xFA)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
209 && (HeaderBuffer[(0x800 * (index * 16 + index2)) + HEADER2OFFSET + 1] == 0xFA)) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
210 HeaderInUse++;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
211 LogInfo = (SLogbookHeader *) (HeaderBuffer + (0x800 * (index * 16 + index2))
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
212 + 0x400);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
213 sampleEndAddr = (LogInfo->profileLength[2] << 16) + (LogInfo->profileLength[1] << 8)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
214 + LogInfo->profileLength[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
215 if (sampleEndAddr == 0) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
216 sv->item(index, index2)->setBackground(Qt::black);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
217 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
218 LogInfo = (SLogbookHeader *) (HeaderBuffer + (0x800 * (index * 16 + index2)));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
219 sampleStartAddr = (LogInfo->pBeginProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
220 + (LogInfo->pBeginProfileData[1] << 8)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
221 + LogInfo->pBeginProfileData[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
222 smallHeader = (SSmallHeader *) &SampleBuffer[sampleStartAddr - 0x100000];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
223 sampleLength = (smallHeader->profileLength[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
224 + (smallHeader->profileLength[1] << 8)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
225 + smallHeader->profileLength[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
226 if (sampleLength == sampleEndAddr) // - sampleStartAddr))
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
227 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
228 sv->item(index, index2)->setBackground(Qt::green);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
229 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
230 sv->item(index, index2)->setBackground(Qt::red);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
231 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
232 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
233
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
234 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
235 sv->item(index, index2)->setBackground(Qt::white);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
236 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
237 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
238 }
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
239 row = (HeaderBuffer[(0x8000 * 8)]) / 16;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
240 colum = (HeaderBuffer[(0x8000 * 8)] % 16);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
241 sv->item(row, colum)->setBackground(Qt::blue);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
242 w->setMaximum(256);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
243 w->setValue(HeaderInUse);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
244 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
245
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
246 void EditLogDialog::on_SectorView_cellClicked(int row, int column) {}
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
247
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
248 void EditLogDialog::updateSampleStatus()
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
249 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
250 uint8_t row, colum;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
251 uint32_t index;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
252 QTableWidget *sv = _ui->SampleView;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
253 QProgressBar *w = _ui->SampleUsage;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
254 uint8_t SamplesInUse = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
255
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
256 for (index = 0; index < 192; index++) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
257 row = index / 16;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
258 colum = index % 16;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
259
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
260 if (SampleBuffer[index * 0x10000] != 0xFF) /* used */
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
261 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
262 SamplesInUse++;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
263 if (SampleBuffer[index * 0x10000 + 0xFFFF] == 0xFF) /* open */
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
264 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
265 sv->item(row, colum)->setBackground(Qt::blue);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
266 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
267 sv->item(row, colum)->setBackground(Qt::green); /* closed */
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
268 }
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
269 } else {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
270 sv->item(row, colum)->setBackground(Qt::white); /* empty */
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
271 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
272 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
273 w->setMaximum(192);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
274 w->setValue(SamplesInUse);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
275 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
276
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
277 void EditLogDialog::on_SectorView_currentCellChanged(int currentRow,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
278 int currentColumn,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
279 int previousRow,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
280 int previousColumn)
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
281 {
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
282 SLogbookHeader *LogInfo;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
283 SLogbookHeader *LogInfo2nd;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
284 QTextEdit *tf = _ui->textBrowser_2;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
285 QString InfoText;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
286 QTableWidget *sv = _ui->SampleView;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
287 uint32_t sampleAddrStart = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
288 uint32_t sampleAddrEnd = 0;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
289 uint8_t rowidx, columidx;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
290
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
291 tf->setReadOnly(true);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
292
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
293 LogInfo = (SLogbookHeader *) (HeaderBuffer + (0x800 * (currentRow * 16 + currentColumn)));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
294 LogInfo2nd = (SLogbookHeader *) (HeaderBuffer + (0x800 * (currentRow * 16 + currentColumn))
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
295 + 0x400);
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
296
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
297 updateSampleStatus();
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
298
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
299 if (LogInfo->diveHeaderStart == 0xFAFA) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
300 sampleAddrStart = (LogInfo->pBeginProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
301 + (LogInfo->pBeginProfileData[1] << 8) + LogInfo->pBeginProfileData[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
302 sampleAddrEnd = (LogInfo2nd->pEndProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
303 + (LogInfo2nd->pEndProfileData[1] << 8) + LogInfo2nd->pEndProfileData[0];
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
304
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
305 // InfoText.sprintf("Header: %d \nNummer: %d\nSamplestart 0x%x\nSampleend 0x%x", currentRow*16+currentColumn, LogInfo->diveNumber,sampleAddrStart,sampleAddrEnd);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
306 InfoText = QString::asprintf("Header: %d \nNummer: %d\nSamplestart 0x%x\nSampleend 0x%x",
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
307 currentRow * 16 + currentColumn,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
308 LogInfo->diveNumber,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
309 sampleAddrStart,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
310 sampleAddrEnd);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
311 sampleAddrStart = (LogInfo->pBeginProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
312 + (LogInfo->pBeginProfileData[1] << 8) + LogInfo->pBeginProfileData[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
313 if (sampleAddrStart != 0) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
314 sampleAddrStart -= 0x100000; /* substract memory offset */
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
315 sampleAddrStart /= 0x10000; /* calc sector */
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
316 sv->item(sampleAddrStart / 16, sampleAddrStart % 16)->setBackground(Qt::magenta);
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
317 } else {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
318 sv->item(0, 0)->setBackground(Qt::black);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
319 }
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
320 } else {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
321 InfoText = QString::asprintf("Empty");
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
322 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
323 tf->setPlainText((InfoText));
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
324 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
325
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
326 void EditLogDialog::on_SampleView_currentCellChanged(int currentRow,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
327 int currentColumn,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
328 int previousRow,
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
329 int previousColumn)
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
330 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
331 uint16_t sampleSector;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
332 uint8_t headerRow, headerColumn;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
333 SLogbookHeader *LogInfo;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
334 SLogbookHeader *LogInfo2nd;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
335 uint32_t sectorStart, sectorEnd;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
336 uint32_t sampleAddrStart, sampleAddrEnd;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
337 QTableWidget *headerView = _ui->SectorView;
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
338
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
339 sampleSector = currentRow * 16 + currentColumn;
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
340 sectorStart = sampleSector * 0x10000 + 0x100000;
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
341 sectorEnd = sectorStart + 0xFFFF;
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
342 if (SampleBuffer[sectorStart - 0x100000] != 0xFF) // is buffer used?
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
343 {
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
344 updateHeaderStatus();
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
345 for (headerRow = 0; headerRow < 16; headerRow++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
346 for (headerColumn = 0; headerColumn < 16; headerColumn++) {
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
347 LogInfo = (SLogbookHeader *) (HeaderBuffer
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
348 + (0x800 * (headerRow * 16 + headerColumn)));
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
349 LogInfo2nd = (SLogbookHeader *) (HeaderBuffer
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
350 + (0x800 * (headerRow * 16 + headerColumn))
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
351 + 0x400);
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
352 sampleAddrStart = (LogInfo->pBeginProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
353 + (LogInfo->pBeginProfileData[1] << 8)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
354 + LogInfo->pBeginProfileData[0];
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
355 sampleAddrEnd = (LogInfo2nd->pEndProfileData[2] << 16)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
356 + (LogInfo2nd->pEndProfileData[1] << 8)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
357 + LogInfo2nd->pEndProfileData[0];
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
358
8
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
359 if (((sampleAddrStart >= sectorStart) && (sampleAddrStart < sectorEnd)
21ce6187d32e Minor changes done by automatic style checker
Ideenmodellierer
parents: 1
diff changeset
360 || (sampleAddrEnd >= sectorStart) && (sampleAddrEnd < sectorEnd))) {
1
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
361 headerView->item(headerRow, headerColumn)->setBackground(Qt::magenta);
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
362 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
363 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
364 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
365 }
0b3630a29ad8 Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff changeset
366 }