Becoming an EMC ContributorBecause it is Free Software, anyone can modify the EMC software and distribute those changes to others. But for these improvements to be enjoyed by the greatest number of users, they must be incorporated into the official version of EMC which is distributed by linuxcnc.org. This document describes how to contribute your improvements to linuxcnc.org.
(This document uses the term Contributor instead of Developer, because Contributions can take many forms including documentation, artwork and localization (translation), while the word Developer generally means someone who writes code) Step 1. Participate in the EMC communityFirst, make yourself a member of the community. This generally means participating on the IRC channels (#Emc on freenode.net) and/or mailing lists (http://sourceforge.net/mail/?group_id=6744). Step 2. Know and articulate how you'd like to helpHow do you hope to improve EMC? If you have a new feature in mind, talk about it and get a feel for how others think it will fit with the EMC project. If you want to translate or document, find out whether someone else is working on the same thing. If you want to fix nontrivial bugs, discuss your approach with others who are familiar with the source code. Step 3. Understand the development toolsHere are a few things that you should know how to do: - Obtain and update the source code with cvs
- Produce and apply patches ("diffs") with cvs
- Build the software and test your changes
Step 4. Share your workAfter making your changes, produce patches. Use e-mail, IRC, or the web to share them with others. Work with a Contributor who has CVS commit access to refine the patch. If your changes fit with our vision of emc, a Contributor with CVS commit access will add the changes to the official version. Be prepared to accept criticism of your patch; remember that it's not personal criticism.
For certain things which can stand alone (such as HAL components), we have dedicated wiki pages (http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?ContributedComponents) Step 5. Ask for CVS commit accessHaving CVS commit access means that you can directly add your changes without prior review by another Contributor.
After you have several contributions under your belt, talk with a member of the EMC Board of Directors about getting commit access. The Board will generally quickly make a decision whether to grant commit access. |
|
Dernière mise à jour : ( 29-04-2008 )
|
|
|
The EMC team uses SourceForge Trackers to keep track of bug reports and feature requests, and to help guide development effort. This page has links to the trackers, and explains how they are used by EMC. Bug Reports
To see the list of existing bug reports, click here.
The most usefull bug reports (and the ones most likely to get quick results), are ones that describe in as much detail as possible what happens, and under what conditions. You should include information about your system, what RTOS you are using, etc. Describe the conditions that lead to the bug, what the program did, and what you think it should have done. Errors in documentation should be reported the same way - describe what the doc says, and what you think it should say. Indicate whether it is simply unclear, or if it doesn't match the actual behavior of the program.
If possible, you should register with SourceForge and log in before submitting a bug report. That will allow us to keep you informed about the progress of your report, or contact you for more information. To register, click here. If it is impossible or impractical for you to register, you can still submit a bug report. However anonymous reports are harder for us to act on and may get a lower priority.
To submit a bug report, click here. |
|
Dernière mise à jour : ( 19-03-2008 )
|
|
Lire la suite...
|
|
|
This is a mirror of an older page describing some of EMC's internals. It refers to the specifics of emc1, yet some of it also applies to the ways it's done in emc2. One day someone might have enough good will to update the graphics, descriptions for the current code. |
|
Dernière mise à jour : ( 11-11-2007 )
|
|
Lire la suite...
|
|
|
Part 2 of EMC2 controlling lathes refers to threading.
Probably one of the more common operations on a lathe is cutting threads, for that to work the machine controller needs to synchronize the feedrates based on the actual spindle speed. In this example there is an encoder attached to the spindle, and emc2 uses software counting on the parallel port to see how fast the spindle is turning.
Of course this can be done with hardware counters as well (if you have a motion control card that's supported by emc2). |
|
Dernière mise à jour : ( 17-10-2007 )
|
|
Lire la suite...
|
|
|
One of the bits missing from the Enhanced Machine Controller for a long time, was the ability to control lathes. This has changed recently. EMC2 can now succesfully control lathes as you can see from the next few chapters. However, although it already works, support for lathe is constantly beeing improved as new features are planned and get added (lathe canned cycles, constant surface speed to name but a few).
|
|
Dernière mise à jour : ( 13-11-2006 )
|
|
Lire la suite...
|
|
|