diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 53429edc76..5401892dda 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,33 @@ # Contributing +Please note that this project is released with a +[Contributor Code of Conduct](https://github.com/adafruit/circuitpython/blob/master/CODE_OF_CONDUCT.md). +By participating in this project you agree to abide by its terms. Participation +covers any forum used to converse about CircuitPython including unofficial and official spaces. Failure to do +so will result in corrective actions such as time out or ban from the project. -Please note that this project is released with a Contributor Code of -Conduct. By participating in this project you agree to abide by its terms. +## Developer contact +[@tannewt](https://github.com/tannewt) is the main developer of CircuitPython +and is sponsored by [Adafruit Industries LLC](https://adafruit.com). He is +reachable on [Discord](https://adafru.it/discord) as tannewt and +[Gitter](gitter.im/adafruit/circuitpython) as tannewt during US West Coast +working hours. He also checks GitHub issues and the [Adafruit support forum](https://forums.adafruit.com/viewforum.php?f=60). -https://github.com/adafruit/micropython/blob/master/CODE_OF_CONDUCT.md +## Licensing +By contributing to this repository you are certifying that you have all necessary +permissions to license the code under an MIT License. You still retain the +copyright but are granting many permissions under the MIT License. -When reporting an issue and especially submitting a pull request, please -make sure that you are acquainted with Contributor Guidelines: +If you have an employment contract with your employer please make sure that they +don't automatically own your work product. Make sure to get any necessary approvals +before contributing. Another term for this contribution off-hours is moonlighting. -https://github.com/micropython/micropython/wiki/ContributorGuidelines +## Code guidelines +We aim to keep our code and commit style compatible with MicroPython upstream. +Please review their +[code conventions](https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md) to do so. +Familiarity with their [design philosophy](https://github.com/micropython/micropython/wiki/ContributorGuidelines) +is also useful though not always applicable to CircuitPython. -and Code Conventions: - -https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md +Furthermore, CircuitPython has a +[design guide](https://circuitpython.readthedocs.io/en/latest/docs/design_guide.html) +that covers a variety of different topics. Please read it as well. diff --git a/docs/common_hal.md b/docs/common_hal.md index ee2105ba14..024c1582c2 100644 --- a/docs/common_hal.md +++ b/docs/common_hal.md @@ -83,4 +83,5 @@ The last step is actually implementing each function in a port specific way. I c ### Testing Woohoo! You are almost done. After you implement everything, lots of drivers and sample code should just work. There are a number of drivers and examples written for Adafruit's Feather ecosystem. Here are places to start: -* https://github.com/adafruit?utf8=%E2%9C%93&q=Adafruit_MicroPython&type=&language= +* [Adafruit repos with CircuitPython topic](https://github.com/search?q=topic%3Acircuitpython+org%3Aadafruit+fork%3Atrue) +* [Adafruit driver bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle) diff --git a/docs/design_guide.rst b/docs/design_guide.rst index efcc5fee80..1481caad74 100644 --- a/docs/design_guide.rst +++ b/docs/design_guide.rst @@ -132,7 +132,7 @@ When adding extra functionality to CircuitPython to mimic what a normal operating system would do, either copy an existing CPython API (for example file writing) or create a separate module to achieve what you want. For example, mounting and unmount drives is not a part of CPython so it should be done in a -module, such as a new ``filesystem``, that is only available in CircuitPython. +module, such as a new ``storage`` module, that is only available in CircuitPython. That way when someone moves the code to CPython they know what parts need to be adapted. @@ -235,12 +235,13 @@ Renders as: Use BusDevice -------------------------------------------------------------------------------- -BusDevice is an awesome foundational library that manages talking on a shared -I2C or SPI device for you. The devices manage locking which ensures that a -transfer is done as a single unit despite CircuitPython internals and, in the -future, other Python threads. For I2C, the device also manages the device -address. The SPI device, manages baudrate settings, chip select line and extra -post-transaction clock cycles. +[BusDevice](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice) is an +awesome foundational library that manages talking on a shared I2C or SPI device +for you. The devices manage locking which ensures that a transfer is done as a +single unit despite CircuitPython internals and, in the future, other Python +threads. For I2C, the device also manages the device address. The SPI device, +manages baudrate settings, chip select line and extra post-transaction clock +cycles. I2C Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/drivers.rst b/docs/drivers.rst index de2f6ff64c..fccd5e2d55 100644 --- a/docs/drivers.rst +++ b/docs/drivers.rst @@ -38,7 +38,7 @@ the ``lib/`` directory. Some drivers may not work without them. Helper Libraries ------- -These libraries build on top of the low level APIS to simplify common tasks. +These libraries build on top of the low level APIs to simplify common tasks. .. toctree:: USB Human Interface Device (Keyboard and Mouse)