Skip to content

Latest commit

 

History

History
111 lines (71 loc) · 5.07 KB

CONTRIBUTING.md

File metadata and controls

111 lines (71 loc) · 5.07 KB

Contributor Guidelines

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

How To Contribute

Styleguides

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

Language

Faraday's firmware is written in C.

Tools

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.

How To Contribute


Bug Reporting

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!

Enhancement Suggestions

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

Begginer Contributions

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.

##Pull Requests

  • Include examples/screenshots/videos of your pull request if applicable
  • Include a detailed description of the pull requests purpose
  • Follow our code style guidelines

#Styleguides

C Style

TODO: Implement clear C styleguide.

For now use:

Firmware Version Guide

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 of version.h
    • e.g. HASH = a825d82 would be saved in variable as version = 0xa825d82
  • 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.