git-svn-id: svn://db.shs.com.ru/libs@156 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -286,6 +286,11 @@ void ConnectionEdit::recreateConnection() {
|
|||||||
conn->setDeviceName(dev, Q2PIString(di->name()));
|
conn->setDeviceName(dev, Q2PIString(di->name()));
|
||||||
PIDiagnostics * diag = conn->diagnostic(dev);
|
PIDiagnostics * diag = conn->diagnostic(dev);
|
||||||
if (diag) diag->setDisconnectTimeout(di->disconnectTimeout());
|
if (diag) diag->setDisconnectTimeout(di->disconnectTimeout());
|
||||||
|
}
|
||||||
|
foreach (BlockItem * b, devs) {
|
||||||
|
DeviceItem * di = (DeviceItem*)b;
|
||||||
|
PIIODevice * dev = conn->deviceByName(Q2PIString(di->name()));
|
||||||
|
if (!dev) continue;
|
||||||
BlockItemPin * p = b->pinByText("read");
|
BlockItemPin * p = b->pinByText("read");
|
||||||
if (!p) continue;
|
if (!p) continue;
|
||||||
QList<BlockBusItem*> buses = p->connectedBuses(), nbuses;
|
QList<BlockBusItem*> buses = p->connectedBuses(), nbuses;
|
||||||
@@ -305,19 +310,19 @@ void ConnectionEdit::recreateConnection() {
|
|||||||
bi_f = (cb[0]);
|
bi_f = (cb[0]);
|
||||||
}
|
}
|
||||||
if (!fi_t || !bi_f) continue;
|
if (!fi_t || !bi_f) continue;
|
||||||
QString name_from;
|
PIString name_from;
|
||||||
int type = bi_f->propertyByName("__type").value.toInt();
|
int type = bi_f->propertyByName("__type").value.toInt();
|
||||||
if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->path();
|
if (type == __CV_Device) name_from = Q2PIString(((DeviceItem*)bi_f)->name());
|
||||||
if (type == __CV_Filter) name_from = ((FilterItem*)bi_f)->name();
|
if (type == __CV_Filter) name_from = Q2PIString(((FilterItem*)bi_f)->name());
|
||||||
if (name_from.isEmpty()) continue;
|
if (name_from.isEmpty()) continue;
|
||||||
PIPacketExtractor * pe = conn->addFilter(Q2PIString(fi_t->name()), Q2PIString(name_from), fi_t->mode());
|
PIPacketExtractor * pe = conn->addFilter(Q2PIString(fi_t->name()),conn->deviceByName(name_from), fi_t->mode());
|
||||||
if (!pe) continue;
|
if (!pe) continue;
|
||||||
pe->setHeader(PIByteArray::fromString(Q2PIString(fi_t->header())));
|
pe->setHeader(PIByteArray::fromString(Q2PIString(fi_t->header())));
|
||||||
pe->setFooter(PIByteArray::fromString(Q2PIString(fi_t->footer())));
|
pe->setFooter(PIByteArray::fromString(Q2PIString(fi_t->footer())));
|
||||||
pe->setTimeout(fi_t->timeout());
|
pe->setTimeout(fi_t->timeout());
|
||||||
pe->setPacketSize(fi_t->packetSize());
|
pe->setPacketSize(fi_t->packetSize());
|
||||||
pe->setPayloadSize(fi_t->packetSize());
|
pe->setPayloadSize(fi_t->packetSize());
|
||||||
diag = conn->diagnostic(pe);
|
PIDiagnostics * diag = conn->diagnostic(pe);
|
||||||
if (diag) diag->setDisconnectTimeout(fi_t->disconnectTimeout());
|
if (diag) diag->setDisconnectTimeout(fi_t->disconnectTimeout());
|
||||||
QList<BlockBusItem*> nb = fi_t->pinByText("out")->connectedBuses();
|
QList<BlockBusItem*> nb = fi_t->pinByText("out")->connectedBuses();
|
||||||
foreach (BlockBusItem * b_, nb)
|
foreach (BlockBusItem * b_, nb)
|
||||||
@@ -355,10 +360,10 @@ void ConnectionEdit::recreateConnection() {
|
|||||||
if (!si->data().isEmpty())
|
if (!si->data().isEmpty())
|
||||||
conn->setSenderFixedData(Q2PIString(si->name()), PIByteArray::fromString(Q2PIString(si->data())));
|
conn->setSenderFixedData(Q2PIString(si->name()), PIByteArray::fromString(Q2PIString(si->data())));
|
||||||
} else {
|
} else {
|
||||||
if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->path();
|
if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->name();
|
||||||
if (type == __CV_Filter) name_from = ((FilterItem*)bi_f)->name();
|
if (type == __CV_Filter) name_from = ((FilterItem*)bi_f)->name();
|
||||||
if (name_from.isEmpty()) continue;
|
if (name_from.isEmpty()) continue;
|
||||||
conn->addChannel(Q2PIString(name_from), Q2PIString(di_t->path()));
|
conn->addChannel(Q2PIString(name_from), Q2PIString(di_t->name()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user