[MAT logo][Prev][Up][Next]

Contributing to the MatPLC

There are three ways of contributing to the MatPLC, depending on your coding skill and the degree to which you are familiar (or wish to become familiar) with the MatPLC.


Testing, and reporting successes or failures, is the simplest way of contributing to the MatPLC. The developers do their own testing, of course, but sometimes we are a bit too close to the system to be able to test it well, and in any case there's only so much hardware we have access to. The only way to ensure robustness in a project such as this is for a large number of people to test it with a reasonable variety of hardware.

The documentation for this are the relevant sections of this manual, skipping perhaps the section on custom modules. Please send your reports to the mailing list, or submit bug reports to the SourceForge buglist. If you're reporting error messages from the MatPLC, please cut'n'paste - do not paraphrase.


Writing modules is the second way of contributing. It requires some skill in programming, and moderate knowledge of the MatPLC.

Writing modules to contribute is no different from writing custom modules, so you'll need to read that section of the manual. Since it is currently rather sparse, please ask questions on the mailing list - we'll expand the manual as we answer them.

These modules can be either I/O modules, interfacing the MatPLC to particular hardware, or other modules, fulfilling some other useful function. Notice that I/O modules have an additional library available to them, which further reduces the amount of work required to write them.

Alternately, you can write enhancements (or even just bug fixes) for existing modules. This has the advantage that it is overall a smaller task, since the bulk of the module will remain unchanged. Take a look at the buglist on SourceForge if you would like to work on a module bugfix or enhancement; the wishlist on the other hand contains ideas for pure enhancements and new modules.


Contributing to the MatPLC core requires familiarity with the internals of the MatPLC, and therefore an investment in time to learn them.

Read the whole manual, and any other documentation in the doc directory, in particular the article (doc/lplc-article.txt), and participate on the mailing list. Again, the Sourceforge buglist and wishlist contain lists of bugs to be fixed and new features that would be desirable, but it is by no means exhaustive. Discuss any proposed major changes on the mat-devel mailing list before beginning them - some of the developers may already be working on something similar.


$Date: 2004/12/28 05:32:10 $