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 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.
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 $