MCPcopy Create free account
hub / github.com/collin80/SavvyCAN / loadFile

Method loadFile

motorcontrollerconfigwindow.cpp:101–165  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99}
100
101void MotorControllerConfigWindow::loadFile()
102{
103 QString filename;
104 QFileDialog dialog;
105 QFile *inFile;
106 QByteArray line;
107 PARAM param;
108
109 QStringList filters;
110 filters.append(QString(tr("RMS Definition File (*.txt *.TXT)")));
111
112 dialog.setFileMode(QFileDialog::ExistingFile);
113 dialog.setNameFilters(filters);
114 dialog.setViewMode(QFileDialog::Detail);
115
116 if (dialog.exec() == QDialog::Accepted)
117 {
118 filename = dialog.selectedFiles()[0];
119 inFile = new QFile(filename);
120
121 if (!inFile->open(QIODevice::ReadOnly | QIODevice::Text))
122 {
123 delete inFile;
124 return;
125 }
126
127 ui->tableParams->clear();
128 params.clear();
129
130 while (!inFile->atEnd())
131 {
132 line = inFile->readLine().simplified().toUpper();
133 if (!line.startsWith("#") && line.length() > 10)
134 {
135 QList<QByteArray> tokens = line.split(',');
136 //Serial_Number_EEPROM , 0x0113, uint, dec, 16, 6, spr, spr, spr
137 param.paramName = tokens[0].simplified();
138 param.paramID = Utility::ParseStringToNum(tokens[1].simplified());
139 QString signedStr = tokens[2].simplified().toUpper();
140 param.signedType = SIGNED;
141 if (signedStr.compare("UINT") == 0) param.signedType = UNSIGNED;
142 if (signedStr.compare("Q15") == 0) param.signedType = Q15;
143 QString typeStr = tokens[3].simplified().toUpper();
144 param.paramType = DEC;
145 if (typeStr.compare("HEX") == 0) param.paramType = HEX;
146 if (typeStr.compare("ASCII") == 0) param.paramType = ASCII;
147
148 int row = ui->tableParams->rowCount();
149 ui->tableParams->insertRow(row);
150
151 QTableWidgetItem *item = new QTableWidgetItem(param.paramName);
152 ui->tableParams->setItem(row, 0, item);
153 item = new QTableWidgetItem("");
154 ui->tableParams->setItem(row, 1, item);
155
156 params.append(param);
157 }
158 }

Callers

nothing calls this directly

Calls 4

appendMethod · 0.80
insertRowMethod · 0.80
clearMethod · 0.45
rowCountMethod · 0.45

Tested by

no test coverage detected