Documentation
Clear and consistent documentation is crucial for keeping any open-source project alive and well. Here are the documentation standards we'd like to strive to maintain for any new or existing pieces of hardware and software:
Documenting software
All software should be thoroughly documented for both developers and users.
For developers:
- All C++ header files should contain comments that can be parsed by Doxygen. For more information, see the Documentation of classes and methods page.
For users:
- All processors should be described on their own sub-page of the Individual modules area of this wiki. Such pages should contain a screenshot of the processor's editor, notes on usage, a list of parameters that are saved across sessions, and any known bugs or necessary upgrades.
In addition, any software or hardware in progress should be posted on the Currently in development page, to prevent redundant development efforts.
Documenting hardware
Any major piece of hardware that's compatible with the Open Ephys ecosystem should its own top-level page on this wiki (e.g. Open Ephys Acquisition Board or Open Ephys Headstages). Sub-pages should present the hardware in three ways:
- Theory of operation - thorough description of the function and interconnection of the component parts, such that someone with basic knowledge of electronics can modify or extend it.
- Assembly - all the steps required to build it, from ordering supplies to troubleshooting
- Usage - everything the end-user needs to know to use the device properly
Keeping hardware documentation consistent and up-to-date should be one of our major priorities moving forward. For more information on creating nice graphics for your hardware, check out this page.