587,768 active members*
3,718 visitors online*
Register for free
Login
Results 1 to 14 of 14
  1. #1
    Join Date
    Apr 2009
    Posts
    95

    What is the status of the Mocca GUI

    I was looking at the linuxcnc forum the other day and I saw a New GUI on a thread. Anybody know anything about this? Is the project alive or dead? Is anybody using it?

    Jim

  2. #2
    Join Date
    Aug 2008
    Posts
    74
    Surely the best place to ask would be on the EMC forum? ;-)

    The project's homepage is at http://code.google.com/p/moccagui/

    A quick search shows, on the plus side:
    • There are 4 contributors, so its not just a one man band.
    • There have been recent commits to the project this year, so it seems to be alive and ongoing.


    and on the minus side:
    • It seems pretty new. That's not such a bad thing, but there's no way to tell it isn't just a brief bit of enthusiasm from a few people that will dry up in a month or two.
    • It's written in a crazy moon language. I mean seriously, Pascal? No-one uses that any more. I suspect this will limit its longevity and popularity, as people are more likely to contribute to a project that is written in a common language like C++ or Java or Python or whatever.
    • It isn't clear what its purpose is. What is the deficiency in the current selection of UIs that mocca fills, and why couldn't it have been done by improving an existing project?

  3. #3
    Join Date
    Apr 2006
    Posts
    76
    Quote Originally Posted by serriadh View Post
    It isn't clear what its purpose is. What is the deficiency in the current selection of UIs that mocca fills, and why couldn't it have been done by improving an existing project?

    I don't think it matters that they used free pascal. GTK is used to make the GUI, which I think was used to make the "axis" and "touchy" interface.

    The deficiency they are trying to correct is the current reliance on using a mouse to control a CNC machine. Mocca is trying to make EMC look and feel like a true industrial control (looks like a Siemens or Acromatic control). They are also adding a true tool table editor, which is much better than a random text file IMO.

    Axis is a fine GUI, but it does not lend itself to use in an industrial setting. Mocca can use a touch screen or have soft keys.

    I am quite excited about it!

  4. #4
    Join Date
    Aug 2008
    Posts
    74
    Quote Originally Posted by UWP_Wes View Post
    I don't think it matters that they used free pascal. GTK is used to make the GUI, which I think was used to make the "axis" and "touchy" interface.
    Sure, there's nothing intrinsically wrong with pascal, in the same way that there's nothing intrinsically wrong with writing the code in, say, lisp or cobol. But the long term success of any open source project generally lies in its developers and maintainers, and by choosing not to use languages which are very well known and supported (like C++ or Python) they've cut their pool waaaay down.

    Its not a death-knell for the project by any stretch of the imagination, just a poor choice.

    Quote Originally Posted by UWP_Wes View Post
    The deficiency they are trying to correct is the current reliance on using a mouse to control a CNC machine. Mocca is trying to make EMC look and feel like a true industrial control (looks like a Siemens or Acromatic control). They are also adding a true tool table editor, which is much better than a random text file IMO.
    Ahh, right. That sounds like a much more useful goal, and certainly one well worth pursuing. I wish em the best of luck, but I'm cynical enough to wait until the first maintenance release comes out after the first main release before I'll get excited ;-)

  5. #5
    Join Date
    Jun 2003
    Posts
    866
    I suspect this is an evolutionary dead end for the programming reasons stated. Axis is extensible and easily modified. Not sure why you need a mouse, but it seems to me that if you want to get away from a mouse you can. Seems to me that the Centroid has a mouse replacement and definitely has a keyboard. The touch screen interface "touchy" seems to be pretty interesting. No keyboard or mouse needed, but you do need a touch screen.

  6. #6
    Join Date
    Apr 2006
    Posts
    76
    Quote Originally Posted by unterhaus View Post
    I suspect this is an evolutionary dead end for the programming reasons stated. Axis is extensible and easily modified. Not sure why you need a mouse, but it seems to me that if you want to get away from a mouse you can. Seems to me that the Centroid has a mouse replacement and definitely has a keyboard. The touch screen interface "touchy" seems to be pretty interesting. No keyboard or mouse needed, but you do need a touch screen.
    I don't think that "mocca" is trying to eliminate a keyboard.

    Yes, you can use Axis without a mouse, but it is not very handy. The list of keyboard commands you need to remember is pretty extensive and there is no on screen prompt. It's worse than the old command prompt commands on a Fadal 88 controls.

    Mocca looks more like a menu based system like the Centroid you mentioned. If you read the description you will see that there are some empty buttons that can be assigned by the user. I think it can be just as extensible as Axis.

  7. #7
    Join Date
    Jul 2003
    Posts
    1759
    as unterhaus has said.. Have you looked at touchy?

    http://www.linuxcnc.org/docs/2.4/html/gui_touchy.html

    sam

  8. #8
    Join Date
    Apr 2009
    Posts
    95
    The Touchy interface has it's own set of issues.

    The buttons are not modal. If halui changes someting like estop, Axis (X,Y,Z), The interface does not reflect the change. You cannot tell what is going on by looking at the screen.

    I like the graphic part of axis. it is great with its display of your milling envelope and your part. It would not have to track the part as Axis does. It just needs to give you the relationship of your part to the milling envelope.

    With some work and my own custom keyboard and a touchscreen monitor I find Axis to be more usable then my experiance with Touchy. The only thing I need a mouse for is the right click button.

    I will come up with a graceful solution for the right click until Axis makes changes with larger buttons for use with a touchscreen or Touhcy grows up and adds feedback on the butons and a graphics screen.

    Just my opinion of what is availabe at this time.

    Jim

  9. #9
    Join Date
    Jun 2003
    Posts
    866
    it's a lot harder for a general purpose PC based machine to be all things to everyone than a specific machine controller with a custom keyboard. It still seems like a lot of custom keyboards have extra labels and handwritten notes on them for specific functions. I'm sure most production EMC machines have cheat sheets taped to them.

    It would be nice if it was easier to load a custom layout like Mach has, but I don't see anyone working on that now.

  10. #10
    Join Date
    Nov 2008
    Posts
    228
    Does anybody have some screenshots? I don't run EMC but am interested in what it looks like.

  11. #11
    Join Date
    Jun 2003
    Posts
    866
    the gui is replaceable, so EMC looks like different things to different people. But here are some screenshots with Axis, tkemc, and touchy among others

  12. #12
    Join Date
    Jun 2010
    Posts
    0
    Hello, im Thomas from Germany, the one who is writing the code for mocca...

    To give some answers:

    Mocca is still developed, some things have to be done like a interface for the configuration program, preview & opengl-Stuff for lathes etc...

    Why another Gui and why in freepascal/lazarus ???

    Well, after some time with Axis,TkEmc on my private milling machine if felt quite uncomfortable with those Guis compared to professional Cnc Controls.

    Axis is very stable and working but it does not look "professional" and the Gui itself is not flexible enough (my opinion!)
    TkEmc looks better but the preview is missing, also in Touchy...

    Things that mocca can do:

    Mocca has a OpenGl preview with zoom,pan,rotate.
    Colors,Background etc can be set by the user.

    Mocca has a fully configurable/designable layout.
    Want it with a red font, background image? No problem. just edit your layout.xml. Dont want the button "xy" on the screen? just set its "visible" property in the layout file to false...

    Mocca can run scripts of nc-code (up to 10 scripts can be defined in the config.xml- file)

    The mocca mainwindow can be "fullscreen" i mean really fullscreen without a border and overlapping the menus of ubuntu.

    Mocca can load a user defined background image (like mach3)

    All Buttons can show bitmaps/icons, they can be modified by the user layout file.


    Somebody wrote that Freepascal/Lazarus is not "UpToDate" compared to python or c++ !?

    If we talk about a "small" program c++/python etc may be better than fpc/lazarus. But if a project grows the python code gets nearly "unreadable".

    for example the ToolEdit Dialog in Mocca (where you can edit the Toolfile):
    In Freepascal/Lazarus it is a matter of minutes to create and design the dialog itself, the complete Editor for the Toolfile is only 50 Lines of "written" Code, rest is generated by Lazarus. The compiled code is nearly 100% the same as "C" Code...

    I wrote a professional business program about 10 Years ago with Delphi.
    We talk about ~100 Dialogs and ~160 database tables, this software still compiles with freepascal/lazarus and newest Delphi versions. Even compiling the code with linux is no problem (small changes)

    Think that in the Windows Os about 90% of the software is written in those RAD languages (Delphi/VB/VisualC++ etc)

    one BIG advantage of those languages:

    The user does not have to know about the code of the "components".
    I.e. i wrote a component for emc. Even a programer who knows nothing about the emc "c" code would be able to write a program with this component.

    Another advantage of freepascal: freepascal can directly link and be linked to "C" Code, you do NOT need to write code to access "C". Just the "C++" object code needs to be called trough "C" functions...

    regards, Thomas

  13. #13
    Join Date
    Jun 2010
    Posts
    0
    Quote Originally Posted by unterhaus View Post
    It would be nice if it was easier to load a custom layout like Mach has, but I don't see anyone working on that now.
    Well "Mocca" has this custom layout, we'll need some more time to write the documentation and some example Layouts for mocca, think that end of this month we'll have at least 4 Layouts available (English & German) for 1024/768 and 800/600 Resolution.

    The "layout" stuff:

    in the emc inifile you have to add

    [MOCCA]
    config=/home/yourname/yourconfigpath

    in this directory the user can edit the layout-files (like mainform.xml) or the config- file (config.xml)

    Custom layouts come as a packed archive, unpack em to a folder, change the config= value in the [mocca] section and mocca will start with the new layout....

    regards, Thomas

  14. #14
    Join Date
    Jun 2010
    Posts
    0
    Quote Originally Posted by serriadh View Post
    and on the minus side:
    • It seems pretty new. That's not such a bad thing, but there's no way to tell it isn't just a brief bit of enthusiasm from a few people that will dry up in a month or two.
    • It's written in a crazy moon language. I mean seriously, Pascal? No-one uses that any more. I suspect this will limit its longevity and popularity, as people are more likely to contribute to a project that is written in a common language like C++ or Java or Python or whatever.
    • It isn't clear what its purpose is. What is the deficiency in the current selection of UIs that mocca fills, and why couldn't it have been done by improving an existing project?
    mocca was started in October last year, the first running version was published end of November, from Feb to this month i was'nt able to continue the work - i still have a job :-)

    As explained earlier "pascal" is not a crazy moon language, freepascal generates code that is nearly 1:1 "C" code and pascal is available (and will be available) for almost all platforms since the early 70s.

    For a modern UI you'll need lot more things that a programmer knows about. For example the OpenGl- Preview in mocca: I still know nothing about the interface between the X-Server,the Gtk2 etc... In Lazarus i can start a project, drop a OpenGlControl on a Form (Window) and use it. I only have to care about the "emc" relevant code. How long did it take from the first line of code until axis was "ready" to use??? Years ???
    With the Lazarus RAD i was able to publish the first running version within 30 hours of programming. A simple Editor for the Tooltable was written in python years after axis was created, i wrote the Tooltable- editor in less than 1 hour...
    Another advantage: If you have lazarus installed you can open the mocca.lpi (the project), open a Form (i.e. the Mainform) an edit the appearance of the form without touching the code itself. Even if you know NOTHING about pascal you can do this!

    regards, Thomas

Similar Threads

  1. status bar mx3
    By fenix728 in forum Mastercam
    Replies: 6
    Last Post: 03-26-2009, 03:06 AM
  2. Rutex status??
    By bcromwell in forum Servo Drives
    Replies: 6
    Last Post: 04-08-2008, 08:29 PM
  3. status bar
    By miltonmorales in forum Mastercam
    Replies: 8
    Last Post: 02-04-2008, 10:56 PM
  4. What is the status of the new 3016FX?
    By ltmquik in forum Fadal
    Replies: 0
    Last Post: 04-10-2007, 06:08 PM
  5. Current Status
    By jabuffi in forum OpenSource Software
    Replies: 20
    Last Post: 11-02-2006, 09:08 AM

Posting Permissions

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