mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-17 07:12:08 +08:00
cabana: sort bus:id numerically instead of alphabetically (#26996)
* cabana: sort bus:id numerically instead of alphabetically * Update tools/cabana/canmessages.h old-commit-hash: e69e4f4052927b1053145d06cc8144f209f84f11
This commit is contained in:
@@ -64,6 +64,8 @@ bool CANMessages::eventFilter(const Event *event) {
|
||||
QString id = QString("%1:%2").arg(c.getSrc()).arg(c.getAddress(), 1, 16);
|
||||
CanData &data = (*new_msgs)[id];
|
||||
data.ts = current_sec;
|
||||
data.src = c.getSrc();
|
||||
data.address = c.getAddress();
|
||||
data.dat = QByteArray((char *)c.getDat().begin(), c.getDat().size());
|
||||
data.count = ++counters[id];
|
||||
if (double delta = (current_sec - counters_begin_sec); delta > 0) {
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
struct CanData {
|
||||
double ts = 0.;
|
||||
uint8_t src = 0;
|
||||
uint32_t address = 0;
|
||||
uint32_t count = 0;
|
||||
uint32_t freq = 0;
|
||||
QByteArray dat;
|
||||
|
||||
@@ -102,7 +102,9 @@ void MessageListModel::sortMessages() {
|
||||
});
|
||||
} else if (sort_column == 1) {
|
||||
std::sort(msgs.begin(), msgs.end(), [this](auto &l, auto &r) {
|
||||
return sort_order == Qt::AscendingOrder ? l < r : l > r;
|
||||
auto ll = std::tuple{can->lastMessage(l).src, can->lastMessage(l).address, l};
|
||||
auto rr = std::tuple{can->lastMessage(r).src, can->lastMessage(r).address, r};
|
||||
return sort_order == Qt::AscendingOrder ? ll < rr : ll > rr;
|
||||
});
|
||||
} else if (sort_column == 2) {
|
||||
std::sort(msgs.begin(), msgs.end(), [this](auto &l, auto &r) {
|
||||
|
||||
Reference in New Issue
Block a user