First, we would like to thank you for contributing to the open source project!
This document contains information relavent to anyone wishing to contribute the Faraday digital radio CC430 firmware. Our core mission is laid out in our Master Plan and all contributions to the main project should help enable these goal set out.
What should I know before I get started
##Software Design and Purpose The Faraday CC430 firmware is responsible for providing basic "smart node" functionality. As described on the Code Overview page, this firm provides both stand-alone operation and functionality when connected to a host computer.
Faraday's firmware is written in C.
Please use the tools of your choice but we recommend:
- Code Composer Studio - An IDE based on Eclipse provided by Texas Instruments.
- Doxygen - An automatic code documentation tool. This is the defacto C tool and "Read The Docs" provides a method to import Doxygen.
Following these simple guidelines will help the maintainers better understand your bug report and to ensure a quality solution. Not all guidelines may be applicable to a given situation, please provide as much as possible.
- Perform basic debugging
- Are you using the latest version?
- Have you changed your configuration of both software or Faraday device from default? (if so please specify)
- Are multiple programs running that may be interferring?
- Use a clear and descriptive title**
- Describe the exact steps used to reproduce the bug
- Describe the exact problem behavior you observed
- Provide a demonstration if possible
- An application script, log file, screenshots, video, etc...
- Explain what behavior you expected to see and why
- When in doubt provide as much information as possible!
Suggesting enhancements is one of the most important factors to driving innovation within the Faraday digital amateur radio community! Please follow as best as possible these guidelines to ensure that maintainers clearly understand the request.
- Use a clear and descriptive title
- Provide a descriptive overview of the enhancements operation(s)
- In addition to text screenshots, diagrams, etc... are welcome if they better explain your suggestion
- Explain why this is a useful enhancement to the community
If you are not sure how to start off contributing to the project browse the tagged begginner issues below.
- Begginner Issues - Simple issues where the solution is likley a few lines of code or less
- Documentation Updates - Clear and consitant documenation is key to building a knowlegable and growing community
TODO: Add links to Github issue filters for the above.
- Include examples/screenshots/videos of your pull request if applicable
- Include a detailed description of the pull requests purpose
- Follow our code style guidelines
TODO: Implement clear C styleguide.
For now use:
Each firmware "Tag" or "Release" has a corresponding version embedded in the unit program that can be queried. This guide section shows how the current version is created. This should be done imediately prior to a pull request.
- Ensure all commits are made
- Obtain a shorten HASH of the HEAD commit:
git rev-list --max-count=1 --abbrev-commit --skip=# HEAD
- Place this value as HEX into the
version = HASH_IN_HEX
global variable ofversion.h
- e.g. HASH = a825d82 would be saved in variable as
version = 0xa825d82
- e.g. HASH = a825d82 would be saved in variable as
- Save and commit. Make sure to save with commit comment indicating version variable update.
- Please make this commit containing ONLY the version update and not combined with any prior updates.