I am Srimal and I would like to contribute to the project Documentation for Beaglebone and BeagleBone Black. I am currently studying Electronic and Telecommunication Engineering Degree at University of Moratuwa. I have been working with BeagleBone for some time now.
Actually there is a lack of proper documentation for how to handle functionalists of beagle for dummies as well as intermediates . To me that was very hard to move from micro controllers like Atmel and PIC to beagle. Only helpful resource was the BeagleBone Google group. But it wont come in handy everytime. As I believe it is a must to prepare this kind of documentation.
Despite it being in the project ideas, no documentation-only ideas will be accepted for GSoC. All proposals must include a coding component. This is a GSoC requirement, not a BeagleBoard.org requirement.
To see I didn’t make this rule up: http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs#documentation
If documentation is your passion and skill, I’d suggest a proposal to extend http://github.com/beagleboard/bone101 which is an interactive tutorial in the form of a web-page. It makes use of the fact that the BeagleBone’s come with BoneScript installed, which pretty much opens up access to everything in the system through the node.js interpreter, RPC functions that allow reading/writing of text files and an ‘autorun’ mechanism that will run any script dropped into ‘/var/lib/cloud9/autorun’.
So, take the “show me, don’t tell me” approach to documentation by writing examples that execute common tasks people will want to do and then document the code well such that they understand how it works.
A nice example would be fixing up http://beagleboard.github.io/bone101/attic/pinMux.html. At one point, Koen Kooi had this application showing the current status of all the pinmuxes on the board. Cleaning up this bit of code/documentation alone would be very cool for many new to BeagleBone.
My suggestions for the minimum documentation are,
- Complete guide to configure BeagleBone Software according to the user need. ( e,g changing os Ubuntu or Angstrom);
I suggest starting with the Debian images. Further, the documentation should be in the form of minimal exercises. For example, provide a wizard to setup a wireless network adapter and document all of the files edited in the process. Something similar could be done for setting up a systemd service file. Anyway, you’ll need to spend some time ahead of the proposal figuring out what types of things you’ll want to illustrate/document.
- Details of UARTs, I2C, SPI, PWM, ADC, USB Host/Gadget that are inside AM335x.
Sounds great. You’ll want to provide some visibility tools that allow you to interact with each of these rather than pure documentation. Be sure you understand the scope. Converting the entire TRM into a readable HTML wouldn’t be that useful (too overwhelming), would take you too long to complete in a nice manner and still doesn’t satisfy the need for code to be at the center of the project.
- Code Examples containing How to configure, How to use etc… reagarding each different aspects of each unit.
This is where you need to start. You absolutely need to do documentation and should gear all of your code examples based on what you’d like to document, but make sure the code is complete and of high quality.
And It was always a pleasure to work with beaglebone.
Expecting positive feedback,
Thanks for taking the time to discuss your thoughts. I look forward to more interactions and your final proposal.