I'm working in a personal project and I'm having some problems that I think you might help.
This project consists in gathering and processing a large amount of data received in the serial port in a windows environment. The arrival of new of information is constant.
The program should read the input by line and display it in a "table". (Data is composed by an ID and a data field.
For start, the program should log the data in to a file and at the same time display it on the screen. I guess the ideal would have separe threads, one for logging to a file and another to display the relevant data.
I want a system that can filter the displayed data on real time (by ID) while still storing and processing all the data in the background - disabling the ID filter should show all the data including the new one that is being received.
So.. challenge number one: How to display (table) a very large amount of data in real time/fast refresh rate.
Second, the data field is composed by a string of hexadecimal numbers. The string can have a different meaning depending on the ID of the packet. Most of them are bitfields. Others are in BCD format. Others are.. I'm trying to find that out precisely by using this program. I need a way to convert the strings to processed numbers in a readable format very fast.
Challenge number two: which language would give the best performance to deal with the strings and numbers? I've been told that C# can handle it pretty well.. Is the .NET integration needed? (I suppose it would make my life easier.. but is it fast for constant reading and displaying?)
Finally, the application will be used to debug, test and analyze the information so it has to be dynamic and would have to highlight changes in similar consecutive packets. Optimally, it would also be able to change the way the information is displayed (like some kind of script) without restarting/recompiling the application.
Challenge number 3: Speed is in the essence while having highly customized display of the data.
Now.. I've started with perl which gives a good grip on the data but no easy GUI. the command line is a bit too powerless to all the things I want to do. Also I noted that with too much data it starts to lag behind.
I made a small incursion in VB because of the customized data tables. It was way to slow to handle the data (even to display it in a text box)!
Now.. I have some experience with C and C++ but I must confess it was a long time ago and there are a lot of stuff I don't quite grasp (those *strange*pointers of pointers and MFC always had me..) but I sure willing to get my hands dirty and learn if I feel I can get somewhere.
Also, I'm willing to learn new programming languages. This project is my first incursion in perl and so far so good. (Just stroke me now.. how fast is MATLAB?)
Anyway, thanks for your time. Any help is appreciated.


LinkBack URL
About LinkBacks
pointers of pointers and MFC always had me..) but I sure willing to get my hands dirty and learn if I feel I can get somewhere.



Reply With Quote



Bookmarks
Algorithms and Data Structures
Java tutorials
Algorithms Forum