Skip to content

Commit e825cd0

Browse files
committed
working, possibly releasable version with basic input selection and gain adjustment
1 parent 14613d6 commit e825cd0

File tree

13 files changed

+703
-135
lines changed

13 files changed

+703
-135
lines changed

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
*.mpy
2+
.idea
3+
__pycache__
4+
_build
5+
*.pyc
6+
.env
7+
build*
8+
bundles
9+
*.DS_Store
10+
.eggs
11+
dist
12+
**/*.egg-info

CODE_OF_CONDUCT.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Adafruit Community Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and leaders pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level or type of
9+
experience, education, socio-economic status, nationality, personal appearance,
10+
race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
We are committed to providing a friendly, safe and welcoming environment for
15+
all.
16+
17+
Examples of behavior that contributes to creating a positive environment
18+
include:
19+
20+
* Be kind and courteous to others
21+
* Using welcoming and inclusive language
22+
* Being respectful of differing viewpoints and experiences
23+
* Collaborating with other community members
24+
* Gracefully accepting constructive criticism
25+
* Focusing on what is best for the community
26+
* Showing empathy towards other community members
27+
28+
Examples of unacceptable behavior by participants include:
29+
30+
* The use of sexualized language or imagery and sexual attention or advances
31+
* The use of inappropriate images, including in a community member's avatar
32+
* The use of inappropriate language, including in a community member's nickname
33+
* Any spamming, flaming, baiting or other attention-stealing behavior
34+
* Excessive or unwelcome helping; answering outside the scope of the question
35+
asked
36+
* Trolling, insulting/derogatory comments, and personal or political attacks
37+
* Public or private harassment
38+
* Publishing others' private information, such as a physical or electronic
39+
address, without explicit permission
40+
* Other conduct which could reasonably be considered inappropriate
41+
42+
The goal of the standards and moderation guidelines outlined here is to build
43+
and maintain a respectful community. We ask that you don’t just aim to be
44+
"technically unimpeachable", but rather try to be your best self.
45+
46+
We value many things beyond technical expertise, including collaboration and
47+
supporting others within our community. Providing a positive experience for
48+
other community members can have a much more significant impact than simply
49+
providing the correct answer.
50+
51+
## Our Responsibilities
52+
53+
Project leaders are responsible for clarifying the standards of acceptable
54+
behavior and are expected to take appropriate and fair corrective action in
55+
response to any instances of unacceptable behavior.
56+
57+
Project leaders have the right and responsibility to remove, edit, or
58+
reject messages, comments, commits, code, issues, and other contributions
59+
that are not aligned to this Code of Conduct, or to ban temporarily or
60+
permanently any community member for other behaviors that they deem
61+
inappropriate, threatening, offensive, or harmful.
62+
63+
## Moderation
64+
65+
Instances of behaviors that violate the Adafruit Community Code of Conduct
66+
may be reported by any member of the community. Community members are
67+
encouraged to report these situations, including situations they witness
68+
involving other community members.
69+
70+
You may report in the following ways:
71+
72+
In any situation, you may send an email to <[email protected]>.
73+
74+
On the Adafruit Discord, you may send an open message from any channel
75+
to all Community Helpers by tagging @community moderators. You may also send an
76+
open message from any channel, or a direct message to @kattni#1507,
77+
@tannewt#4653, @Dan Halbert#1614, @cater#2442, @sommersoft#0222, or
78+
@Andon#8175.
79+
80+
Email and direct message reports will be kept confidential.
81+
82+
In situations on Discord where the issue is particularly egregious, possibly
83+
illegal, requires immediate action, or violates the Discord terms of service,
84+
you should also report the message directly to Discord.
85+
86+
These are the steps for upholding our community’s standards of conduct.
87+
88+
1. Any member of the community may report any situation that violates the
89+
Adafruit Community Code of Conduct. All reports will be reviewed and
90+
investigated.
91+
2. If the behavior is an egregious violation, the community member who
92+
committed the violation may be banned immediately, without warning.
93+
3. Otherwise, moderators will first respond to such behavior with a warning.
94+
4. Moderators follow a soft "three strikes" policy - the community member may
95+
be given another chance, if they are receptive to the warning and change their
96+
behavior.
97+
5. If the community member is unreceptive or unreasonable when warned by a
98+
moderator, or the warning goes unheeded, they may be banned for a first or
99+
second offense. Repeated offenses will result in the community member being
100+
banned.
101+
102+
## Scope
103+
104+
This Code of Conduct and the enforcement policies listed above apply to all
105+
Adafruit Community venues. This includes but is not limited to any community
106+
spaces (both public and private), the entire Adafruit Discord server, and
107+
Adafruit GitHub repositories. Examples of Adafruit Community spaces include
108+
but are not limited to meet-ups, audio chats on the Adafruit Discord, or
109+
interaction at a conference.
110+
111+
This Code of Conduct applies both within project spaces and in public spaces
112+
when an individual is representing the project or its community. As a community
113+
member, you are representing our community, and are expected to behave
114+
accordingly.
115+
116+
## Attribution
117+
118+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119+
version 1.4, available at
120+
<https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>,
121+
and the [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html).
122+
123+
For other projects adopting the Adafruit Community Code of
124+
Conduct, please contact the maintainers of those projects for enforcement.
125+
If you wish to use this code of conduct for your own project, consider
126+
explicitly mentioning your moderation policy or making a copy with your
127+
own moderation policy so as to avoid confusion.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2019 Bryan Siepert for Adafruit Industries
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.rst

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
Introduction
2+
============
3+
4+
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-bd3491fs/badge/?version=latest
5+
:target: https://circuitpython.readthedocs.io/projects/bd3491fs/en/latest/
6+
:alt: Documentation Status
7+
8+
.. image:: https://img.shields.io/discord/327254708534116352.svg
9+
:target: https://discord.gg/nBQh6qu
10+
:alt: Discord
11+
12+
.. image:: https://travis-ci.com/adafruit/Adafruit_CircuitPython_BD3491FS.svg?branch=master
13+
:target: https://travis-ci.com/adafruit/Adafruit_CircuitPython_BD3491FS
14+
:alt: Build Status
15+
16+
CircuitPython library for the Rohm BD3491FS Audio Processor
17+
18+
19+
Dependencies
20+
=============
21+
This driver depends on:
22+
23+
* `Adafruit CircuitPython <https://github.com/adafruit/circuitpython>`_
24+
* `Bus Device <https://github.com/adafruit/Adafruit_CircuitPython_BusDevice>`_
25+
* `Register <https://github.com/adafruit/Adafruit_CircuitPython_Register>`_
26+
27+
Please ensure all dependencies are available on the CircuitPython filesystem.
28+
This is easily achieved by downloading
29+
`the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_Bundle>`_.
30+
31+
Installing from PyPI
32+
--------------------
33+
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
34+
PyPI <https://pypi.org/project/adafruit-circuitpython-bd3491fs/>`_. To install for current user:
35+
36+
.. code-block:: shell
37+
38+
pip3 install adafruit-circuitpython-bd3491fs
39+
40+
To install system-wide (this may be required in some cases):
41+
42+
.. code-block:: shell
43+
44+
sudo pip3 install adafruit-circuitpython-bd3491fs
45+
46+
To install in a virtual environment in your current project:
47+
48+
.. code-block:: shell
49+
50+
mkdir project-name && cd project-name
51+
python3 -m venv .env
52+
source .env/bin/activate
53+
pip3 install adafruit-circuitpython-bd3491fs
54+
55+
Usage Example
56+
=============
57+
58+
.. code-block:: python
59+
60+
import board
61+
import adafruit_bd3491fs
62+
import busio
63+
64+
i2c = busio.I2C(board.SCL, board.SDA)
65+
bd3491fs = adafruit_bd3491fs.BD3491FS(i2c)
66+
67+
bd3491fs.active_input = adafruit_bd3491fs.Input.A
68+
bd3491fs.input_gain = adafruit_bd3491fs.Level.LEVEL_20DB
69+
bd3491fs.channel_1_attenuation = 0
70+
bd3491fs.channel_2_attenuation = 0
71+
72+
Contributing
73+
============
74+
75+
Contributions are welcome! Please read our `Code of Conduct
76+
<https://github.com/adafruit/Adafruit_CircuitPython_BD3491FS/blob/master/CODE_OF_CONDUCT.md>`_
77+
before contributing to help this project stay welcoming.
78+
79+
Building locally
80+
================
81+
82+
Zip release files
83+
-----------------
84+
85+
To build this library locally you'll need to install the
86+
`circuitpython-build-tools <https://github.com/adafruit/circuitpython-build-tools>`_ package.
87+
88+
.. code-block:: shell
89+
90+
python3 -m venv .env
91+
source .env/bin/activate
92+
pip install circuitpython-build-tools
93+
94+
Once installed, make sure you are in the virtual environment:
95+
96+
.. code-block:: shell
97+
98+
source .env/bin/activate
99+
100+
Then run the build:
101+
102+
.. code-block:: shell
103+
104+
circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bd3491fs --library_location .
105+
106+
Sphinx documentation
107+
-----------------------
108+
109+
Sphinx is used to build the documentation based on rST files and comments in the code. First,
110+
install dependencies (feel free to reuse the virtual environment from above):
111+
112+
.. code-block:: shell
113+
114+
python3 -m venv .env
115+
source .env/bin/activate
116+
pip install Sphinx sphinx-rtd-theme
117+
118+
Now, once you have the virtual environment activated:
119+
120+
.. code-block:: shell
121+
122+
cd docs
123+
sphinx-build -E -W -b html . _build/html
124+
125+
This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to
126+
view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to
127+
locally verify it will pass.

0 commit comments

Comments
 (0)