/** Fills the various fields for the device */ void deviceWidget::populate() { int id = m_dfu->devices[deviceID].ID; myDevice->lbldevID->setText(QString("Device ID: ") + QString::number(id, 16)); // DeviceID tells us what sort of HW we have detected: // display a nice icon: myDevice->gVDevice->scene()->clear(); myDevice->lblDevName->setText(deviceDescriptorStruct::idToBoardName(id)); myDevice->lblHWRev->setText(QString(tr("HW Revision: "))+QString::number(id & 0x00FF, 16)); switch (id) { case 0x0101: devicePic.load("");//TODO break; case 0x0201: devicePic.load("");//TODO break; case 0x0301: devicePic.load(":/uploader/images/pipx.png"); break; case 0x0401: devicePic.load(":/uploader/images/gcs-board-cc.png"); break; case 0x0402: devicePic.load(":/uploader/images/gcs-board-cc3d.png"); break; default: break; } myDevice->gVDevice->scene()->addPixmap(devicePic); myDevice->gVDevice->setSceneRect(devicePic.rect()); myDevice->gVDevice->fitInView(devicePic.rect(),Qt::KeepAspectRatio); bool r = m_dfu->devices[deviceID].Readable; bool w = m_dfu->devices[deviceID].Writable; myDevice->lblAccess->setText(QString("Flash access: ") + QString(r ? "R" : "-") + QString(w ? "W" : "-")); myDevice->lblMaxCode->setText(QString("Max code size: ") +QString::number(m_dfu->devices[deviceID].SizeOfCode)); myDevice->lblCRC->setText(QString::number(m_dfu->devices[deviceID].FW_CRC)); myDevice->lblBLVer->setText(QString("BL version: ") + QString::number(m_dfu->devices[deviceID].BL_Version)); int size=((OP_DFU::device)m_dfu->devices[deviceID]).SizeOfDesc; m_dfu->enterDFU(deviceID); QByteArray desc = m_dfu->DownloadDescriptionAsBA(size); if (! populateBoardStructuredDescription(desc)) { //TODO // desc was not a structured description QString str = m_dfu->DownloadDescription(size); myDevice->lblDescription->setText(QString("Firmware custom description: ")+str.left(str.indexOf(QChar(255)))); QPixmap pix = QPixmap(QString(":uploader/images/warning.svg")); myDevice->lblCertified->setPixmap(pix); myDevice->lblCertified->setToolTip(tr("Custom Firmware Build")); myDevice->lblBuildDate->setText("Warning: development firmware"); myDevice->lblGitTag->setText(""); myDevice->lblBrdName->setText(""); } status("Ready...", STATUSICON_INFO); }
/** Fills the various fields for the device */ void DeviceWidget::populate() { int id = m_dfu->devices[deviceID].ID; myDevice->lbldevID->setText(tr("Device ID: ") + QString::number(id, 16)); // DeviceID tells us what sort of HW we have detected: // display a nice icon: myDevice->gVDevice->scene()->clear(); myDevice->lblDevName->setText(deviceDescriptorStruct::idToBoardName(id)); myDevice->lblHWRev->setText(tr("HW Revision: ") + QString::number(id & 0x00FF, 16)); switch (id) { case 0x0101: case 0x0201: devicePic.load(""); break; case 0x0301: devicePic.load(":/uploader/images/gcs-board-oplink.png"); break; case 0x0401: devicePic.load(":/uploader/images/gcs-board-cc.png"); break; case 0x0402: devicePic.load(":/uploader/images/gcs-board-cc3d.png"); break; case 0x0903: devicePic.load(":/uploader/images/gcs-board-revo.png"); break; case 0x0904: devicePic.load(":/uploader/images/gcs-board-revo.png"); break; default: // Clear devicePic.load(""); break; } myDevice->gVDevice->scene()->addPixmap(devicePic); myDevice->gVDevice->setSceneRect(devicePic.rect()); myDevice->gVDevice->fitInView(devicePic.rect(), Qt::KeepAspectRatio); bool r = m_dfu->devices[deviceID].Readable; bool w = m_dfu->devices[deviceID].Writable; myDevice->lblAccess->setText(tr("Flash access: ") + QString(r ? "R" : "-") + QString(w ? "W" : "-")); myDevice->lblMaxCode->setText(tr("Max code size: ") + QString::number(m_dfu->devices[deviceID].SizeOfCode)); myDevice->lblCRC->setText(QString::number(m_dfu->devices[deviceID].FW_CRC)); myDevice->lblBLVer->setText(tr("BL version: ") + QString::number(m_dfu->devices[deviceID].BL_Version)); int size = ((OP_DFU::device)m_dfu->devices[deviceID]).SizeOfDesc; m_dfu->enterDFU(deviceID); QByteArray desc = m_dfu->DownloadDescriptionAsBA(size); if (!populateBoardStructuredDescription(desc)) { // desc was not a structured description QString str = m_dfu->DownloadDescription(size); myDevice->lblDescription->setText((!str.isEmpty()) ? str : tr("Unknown")); myDevice->lblCertified->setPixmap(QPixmap(":uploader/images/warning.svg")); myDevice->lblCertified->setToolTip(tr("Custom Firmware Build")); myDevice->lblBuildDate->setText(tr("Unknown")); myDevice->lblGitTag->setText(tr("Unknown")); myDevice->lblBrdName->setText(tr("Unknown")); } myDevice->filenameLabel->setText(tr("No file loaded")); status("Ready...", STATUSICON_INFO); QString fwFileName = getDevFirmwarePath(); QFile fwFile(fwFileName); if (fwFile.exists()) { loadFirmware(fwFileName); } }