
本文共 5591 字,大约阅读时间需要 18 分钟。
���DbcMessageBase���������������������������UI������������������������������DBC������
������������������������������������DbcMessageBase
���������������������������������������������������������������UI������������������������������������DBC������������������������������������������������DBC���������������������
���������DbcMessageBase������������������
��������������� void DbcMessageBase::getValue(const unsigned char *data, int len)
���������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������
������������������������������������������������������������������������������������������keystream
���������������������8���������������������������������������������0xA5
������������������101001001
������������������������������������
������������������������������������������������������������������������������������������������������������N������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������
- ������������������������������������������������������������������������������������������
- ������������������N������������������������������������������������������
���������UI���������������������������
������������������������������������������DBC������������������������UI���������������������TreeView
������������������������������DBC���������������������������������������������
���������������
���������������
������������QStandardItemModel
������������������������������["������", "������", "���������"]���������������������������������������������������������������������������������������������������
������MsgList
���������������DBC���������������������������������������������������������������������������������������������������������������������������
������������������CAN���������������������������DBC������������������������TreeView
���������������������������������������������TreeView
������������������������������_child������������������������������������������������������������������������������������������������������������������
������������������
������������������������������������������������������������
void DbcMessageBase::getValue(const unsigned char *data, int len){ QString bits; for (int i = 0; i < len; ++i) { // ������������������������8��������������������� QByteArray bit audible; audible.append((char)data[i]); bits += QByteArray::toBase64String |> QByteArray::��������������� | ... // ������������������������������������ } // ������������������������������������������ for (int j = 0; j < signalList.size(); ++j) { // ��������������������������������� const DbcSignalBase *signalBase = signalList[j]; bool isSigned = signalBase->isSigned; // ������������������������������������������������������ if (!isSigned) { // ������������ ... } else { // ������������ ... } // ��������������������������������������� signalBase->value = value; }}
void MainWindow::getTreeView(){ model = new QStandardItemModel(ui->trwDisplay); model->setHorizontalHeaderLabels({ "������", "������", "���������" }); for (int i = 0; i < Dbc->MsgList.size(); ++i) { const DbcMessageBase msgBase = Dbc->MsgList[i]; model->setItem(i, 0, new QStandardItem(msgBase.Name)); model->setItem(i, 1, new QStandardItem(QString::number(msgBase.can.Id, 16).toUpper())); model->setItem(i, 2, new QStandardItem()); for (int j = 0; j < msgBase.signalList.size(); ++j) { const DbcSignalBase signalBase = msgBase.signalList[j]; model->item(i)->setChild(j, 0, new QStandardItem(signalBase.Name)); model->item(i)->setChild(j, 1, new QStandardItem(signalBase.Note)); model->item(i)->setChild(j, 2, new QStandardItem(signalBase straw::value ? RotateString������ : "")); } } ui->trwDisplay->setModel(model); ui->trwDisplay->setEditTriggers(QAbstractItemView::NoEditTriggers);}
���������������
���MainWindow
������getTreeView
������������������������������������������������������������������MsgList
���������������������������������������������������������������������������������������������������TreeView
������������������������������������������������������ ������������������������
���������������������������������������������������������TreeView
������������������������������������������������
void MainWindow::UpdataReceive(CanDataBase *cdb){ static int lastUpdateIndex = -1; for (int i = 0; i < this->Dbc->MsgList.size(); ++i) { if (this->Dbc->MsgList[i].Can.Id == cdb->Id) { this->Dbc->MsgList[i].getValue(cdb->Data, cdb->Len); model->item(i, 2)->setText(cdb->StrData); } }}
���������������
getValue
���������������������������������������TreeView
������������������������������������������
���������������������������������������������������������DBC���������������������DbcMessageBase
���������getValue
������������������������������������TreeView
���������������������������������������������������������������������������������������������.data������������������������������
发表评论
最新留言
关于作者
