Comments (3)
As a simple alternative to this and (and even more to state finding), what has helped me a lot is to display in a tabular form, a cell per seen CAN id, simply all 8 cell values is hex, real time. Our visual system is really good in finding correlations so things like pressing buttons jump out rather fast.
A further enhancement to this idea would be to slowly "dim away" bytes, or even packets that do not change over time.
My "implementation" was very crude, terminal style, so the code itself is not very usable I guess. In the picture the upper half already has "some" interpretation added. The still unknown packets run in the bottom half.
from savvycan.
The linux CAN utilities actually have pretty much the exact functionality you're talking about. I can see how that'd be handy.
I suppose there could be some way to do this in a GUI app.
Perhaps have a screen with one line per ID and with frames that have changing data naturally grouped toward the top? The problem with EV drive systems is that there are over a 100 messages generally and not all of them can fit on the screen at once. So, the view would have to bring changing messages up the top. But, it messes up visual inspection if the rows change ID too rapidly so it would have to be done very carefully.
How about the view defaults to being sorted by number of changes since the start of the capture then by ID but you can pin any row you want? That way rapidly changing rows naturally rise the top and IDs with totally unchanging data sink to the bottom where presumably no one is looking.
So, the idea is to have a screen with a table of data, one row per ID. The IDs with rapidly changing data rise to the top, rows with unchanging data sink to the bottom. Otherwise it is sorted by ID. The user can pin a given ID in place by clicking a checkbox in the row. They can also filter which IDs they are even viewing (to remove any IDs they know they're not interested in) As in your screenshot, it should be possible to name a frame ID for easier human friendliness. SavvyCAN can use the name from loaded DBC files.
The GUI will utilize a model/view system with a model based tableview. The underlying model gets updated as traffic comes in and is sorted as above. This is all sort of like a more configurable version of overwrite mode that's found on the main window.
from savvycan.
The sniffer window has existed for a long time and satisfies the simple alternative suggested by yoh-there. Additionally, there is a "Range State" window that is somewhat similar to my first idea above. So, this issue will be closed as suitable functionality does exist.
from savvycan.
Related Issues (20)
- Sniffer window improvement: optional filter for bits that exist in selected DBC
- EVTV ESP 32 with actual RET Firmware and Savvy Can V213 not getting any frame :-(
- Question: Does anyone tried to use Waveshare USB-CAN-B devices with SavvyCAN? HOT 2
- Script sends 29-bit extended frames sometimes, and standard frames other times.
- If a script goes wrong how do you stop it running?
- CANFD log playback
- Lawicel Connection. 3 Commands at the same time.
- CSV Output of CAN Mux'd Data is Incorrect
- Signal Viewer doesn't seem to support multiplexed signal HOT 4
- Who asks for Vehicle Speed? HOT 1
- Custom frame sender not working in latest commit/dev build HOT 3
- SavvyCan won't startup on Win10 HOT 2
- README.md Update? HOT 3
- core dumped HOT 3
- Online User's Manual HOT 1
- Lawicel does not work / BSOD on Windows 11 with CP210x USB Serial adapter HOT 7
- Range State Window no calculating correctly
- SavvyCan is crashing after "Load file" is pressed HOT 5
- Issue with SavvyCan(V213) slowdown during frame transmission in fuzzing HOT 3
- Importing TRC Files with Extended Frames Reads as Standard Frame
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from savvycan.