From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ffe4fb1477fe67e6 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!proxad.net!213.200.89.82.MISMATCH!tiscali!newsfeed1.ip.tiscali.net!news.tiscali.de!news.belwue.de!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Newbie Needs Ada Advice Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1178212418.538270.283700@c35g2000hsg.googlegroups.com> <1178635220.859690.3310@y80g2000hsf.googlegroups.com> <5abtplF2n3855U1@mid.individual.net> <1178650313.462774.91850@e51g2000hsg.googlegroups.com> Date: Tue, 8 May 2007 22:02:06 +0200 Message-ID: <2kxz8cntat9y$.1t9ovvtq8zcjs$.dlg@40tude.net> NNTP-Posting-Date: 08 May 2007 22:02:04 CEST NNTP-Posting-Host: 54acab09.newsspool2.arcor-online.net X-Trace: DXC=9gA9EHlD;3Yc24Fo<]lROoR18kF[ On 8 May 2007 11:51:53 -0700, ezkcdude wrote: > All helpful responses. Thanks. One idea that now makes some sense > (having thought about it for all of a couple of hours), is that the > GUI/interface could be a separate application that simply sets up the > experiment (i.e. microscope configuration). For example, creating an > XML document with appropriate hardware parameters, and then feeding > this document to the "engine", which actually controls the microscope. What for? If the parameter dialogs is the only GUI you need, you can accomplish that in practically any GUI library in two days. > The GUI could then be written using something even more high-level > (like my favorite language MATLAB!). You can call Ada from Matlab, same as you would call C. But, Matlab is not GPL, it is rather a lot of money. And it is extremely slow. (For our customers we often design hardware-in-the-loop systems with Matlab/Simulink mounted on the system's top. Of course the engine is not Matlab, as you suggested, otherwise it would never work. But the only reason why Matlab is used, is not fancy GUI, but modeling our customers (mechanical engineers) wanted to do in Simulink. These are open-end systems. It does not look like your case.) > The engine could be written in > Ada. I could also write another application that would graphically > monitor the ongoing experiment (i.e. display images). This monitor > could be web based, and simply interact with the data that is acquired > by the microscope controller engine. Simply interact means what? I bet a subprogram call is the simplest thing one can imagine. A separate GUI process would mean some communication middleman between the data acquisition/control engine and the GUI. TCP/IP sockets, RPC, OPC? And all this just in order to display an image, a couple of buttons and combo boxes? It looks like an architectural mess. From what you have described, GUI is about half man-week programming in GtkAda. > The only issue that still bugs me is that most of the hardware drivers > for the major microscope manufacturers (Leica, Nikon, Olympus, Zeiss) > are in C/C++, so there will still be a need to interface Ada/C/C++ to > some extent. I would not consider it as a problem at all. The real problem with hardware interface libraries from third firms is that they are *normally* non-portable, non-functioning and have documentation describing something quite different from what you get. Add here, that the devices are customary malfunctioning. If you send the command A followed by B, the device software crashes. When you make a full-duplex communication, it crashes again. When A is sent more frequently than each 100ms it crashes once more, and so on and so forth. Usually GUI is your least problem. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de