Closed Thread
Results 1 to 2 of 2

Thread: Choosing the right language / data structure / Interface

  1. #1
    ups
    ups is offline Newbie
    Join Date
    Sep 2008
    Posts
    3
    Rep Power
    0

    Choosing the right language / data structure / Interface

    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.

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #2
    Join Date
    Jul 2006
    Posts
    16,482
    Blog Entries
    75
    Rep Power
    143

    Re: Choosing the right language / data structure / Interface

    I would use C++, no threads.
    Just create an istream connected to the serial port. For every input, you push out the data to both outputs (an ostream on a file and the grid). For your grid, you can use most any grid component and append a new row to the end of the grid.

    Most any GUI toolkit will provide you the necessary graphical tools (wxWidgets, Ultimate++, .NET, etc)

    You can pull your input into an integer and then display it as either hex or numeric as needed.

    If you can define what counts as "similar packets", then a RegEx may be useful for comparing the previous value to the current value.
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

Closed Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Advice on choosing a programming language
    By DoktorD1313 in forum General Programming
    Replies: 5
    Last Post: 07-08-2011, 09:16 AM
  2. Replies: 1
    Last Post: 04-04-2011, 11:03 AM
  3. Help novice choosing language for app with sql db
    By cople in forum General Programming
    Replies: 3
    Last Post: 02-18-2010, 11:59 AM
  4. Choosing the right language
    By Athene in forum General Programming
    Replies: 30
    Last Post: 09-01-2008, 01:12 PM
  5. Choosing a language
    By realhipcat in forum General Programming
    Replies: 2
    Last Post: 05-27-2007, 01:33 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts