From d4afd75c5fc9d673d919575a3fc768decba55e9e Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 2 Mar 2018 13:05:09 -0600 Subject: [PATCH 1/5] renamed example; 1 learn guide needs updated --- examples/{simpletest.py => mcp4725_simpletest.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{simpletest.py => mcp4725_simpletest.py} (100%) diff --git a/examples/simpletest.py b/examples/mcp4725_simpletest.py similarity index 100% rename from examples/simpletest.py rename to examples/mcp4725_simpletest.py From 773132746b607d78b2c165e429eb7b6d8ae8161b Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 2 Mar 2018 13:08:15 -0600 Subject: [PATCH 2/5] setup docs folder --- docs/_static/favicon.ico | Bin 0 -> 4414 bytes api.rst => docs/api.rst | 0 conf.py => docs/conf.py | 15 ++++++++++--- docs/examples.rst | 8 +++++++ docs/index.rst | 47 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 docs/_static/favicon.ico rename api.rst => docs/api.rst (100%) rename conf.py => docs/conf.py (90%) create mode 100644 docs/examples.rst create mode 100644 docs/index.rst diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5aca98376a1f7e593ebd9cf41a808512c2135635 GIT binary patch literal 4414 zcmd^BX;4#F6n=SG-XmlONeGrD5E6J{RVh+e928U#MG!$jWvO+UsvWh`x&VqGNx*en zx=qox7Dqv{kPwo%fZC$dDwVpRtz{HzTkSs8QhG0)%Y=-3@Kt!4ag|JcIo?$-F|?bXVS9UDUyev>MVZQ(H8K4#;BQW-t2CPorj8^KJrMX}QK zp+e<;4ldpXz~=)2GxNy811&)gt-}Q*yVQpsxr@VMoA##{)$1~=bZ1MmjeFw?uT(`8 z^g=09<=zW%r%buwN%iHtuKSg|+r7HkT0PYN*_u9k1;^Ss-Z!RBfJ?Un4w(awqp2b3 z%+myoFis_lTlCrGx2z$0BQdh+7?!JK#9K9@Z!VrG zNj6gK5r(b4?YDOLw|DPRoN7bdP{(>GEG41YcN~4r_SUHU2hgVtUwZG@s%edC;k7Sn zC)RvEnlq~raE2mY2ko64^m1KQL}3riixh?#J{o)IT+K-RdHae2eRX91-+g!y`8^># z-zI0ir>P%Xon)!@xp-BK2bDYUB9k613NRrY6%lVjbFcQc*pRqiK~8xtkNPLxt}e?&QsTB}^!39t_%Qb)~Ukn0O%iC;zt z<&A-y;3h++)>c1br`5VFM~5(83!HKx$L+my8sW_c#@x*|*vB1yU)_dt3vH;2hqPWx zAl^6@?ipx&U7pf`a*>Yq6C85nb+B=Fnn+(id$W#WB^uHAcZVG`qg;rWB}ubvi(Y>D z$ei>REw$#xp0SHAd^|1hq&9HJ=jKK8^zTH~nk)G?yUcmTh9vUM6Y0LMw4(gYVY$D$ zGl&WY&H<)BbJ&3sYbKjx1j^=3-0Q#f^}(aP1?8^`&FUWMp|rmtpK)bLQ1Zo?^s4jqK=Lfg*9&geMGVQ z#^-*!V`fG@;H&{M9S8%+;|h&Qrxym0Ar>WT4BCVLR8cGXF=JmEYN(sNT(9vl+S|%g z8r7nXQ(95i^`=+XHo|){$vf2$?=`F$^&wFlYXyXg$B{a>$-Fp+V}+D;9k=~Xl~?C4 zAB-;RKXdUzBJE{V&d&%R>aEfFe;vxqI$0@hwVM}gFeQR@j}a>DDxR+n+-*6|_)k%% z*mSpDV|=5I9!&VC&9tD%fcVygWZV!iIo2qFtm#!*(s|@ZT33*Ad;+<|3^+yrp*;oH zBSYLV(H1zTU?2WjrCQoQW)Z>J2a=dTriuvezBmu16`tM2fm7Q@d4^iqII-xFpwHGI zn9CL}QE*1vdj2PX{PIuqOe5dracsciH6OlAZATvE8rj6ykqdIjal2 z0S0S~PwHb-5?OQ-tU-^KTG@XNrEVSvo|HIP?H;7ZhYeZkhSqh-{reE!5di;1zk$#Y zCe7rOnlzFYJ6Z#Hm$GoidKB=2HBCwm`BbZVeZY4ukmG%1uz7p2URs6c9j-Gjj^oQV zsdDb3@k2e`C$1I5ML5U0Qs0C1GAp^?!*`=|Nm(vWz3j*j*8ucum2;r0^-6Aca=Gv) zc%}&;!+_*S2tlnnJnz0EKeRmw-Y!@9ob!XQBwiv}^u9MkaXHvM=!<3YX;+2#5Cj5pp?FEK750S3BgeSDtaE^ zXUM@xoV6yBFKfzvY20V&Lr0yC + +.. toctree:: + :caption: Other Links + + Download + CircuitPython Reference Documentation + CircuitPython Support Forum + Discord Chat + Adafruit Learning System + Adafruit Blog + Adafruit Store + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` From d813ae47e9ad26ed83d1cf4a26397b9e067fce1c Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 2 Mar 2018 13:09:15 -0600 Subject: [PATCH 3/5] updated .travis & .readthedocs yml --- readthedocs.yml => .readthedocs.yml | 0 .travis.yml | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename readthedocs.yml => .readthedocs.yml (100%) diff --git a/readthedocs.yml b/.readthedocs.yml similarity index 100% rename from readthedocs.yml rename to .readthedocs.yml diff --git a/.travis.yml b/.travis.yml index 702013f..ec89a1d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,16 +16,17 @@ deploy: provider: releases api_key: $GITHUB_TOKEN file_glob: true - file: bundles/* + file: $TRAVIS_BUILD_DIR/bundles/* skip_cleanup: true overwrite: true on: tags: true install: - - pip install pylint circuitpython-build-tools + - pip install pylint circuitpython-build-tools Sphinx sphinx-rtd-theme script: - pylint adafruit_mcp4725.py - ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py) - circuitpython-build-bundles --filename_prefix adafruit-circuitpython-mcp4725 --library_location . + - cd docs && sphinx-build -E -W -b html . _build/html \ No newline at end of file From ff551bd2c53b7191a5c47807c52cffae96862045 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 2 Mar 2018 13:10:22 -0600 Subject: [PATCH 4/5] updated README --- README.rst | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index ffee624..3703bef 100644 --- a/README.rst +++ b/README.rst @@ -10,10 +10,6 @@ Introduction :target: https://discord.gg/nBQh6qu :alt: Discord -.. image:: https://travis-ci.org/adafruit/Adafruit_CircuitPython_MCP4725.svg?branch=master - :target: https://travis-ci.org/adafruit/Adafruit_CircuitPython_MCP4725 - :alt: Build Status - CircuitPython module for the MCP4725 digital to analog converter. Dependencies @@ -29,15 +25,7 @@ This is easily achieved by downloading Usage Example ============= -See examples/simpletest.py for a demo of the usage. - -API Reference -============= - -.. toctree:: - :maxdepth: 2 - - api +See examples/max4725_simpletest.py for a demo of the usage. Contributing ============ @@ -69,3 +57,26 @@ Then run the build: .. code-block:: shell circuitpython-build-bundles --filename_prefix adafruit-circuitpython-mcp4725 --library_location . + +Sphinx documentation +----------------------- + +Sphinx is used to build the documentation based on rST files and comments in the code. First, +install dependencies (feel free to reuse the virtual environment from above): + +.. code-block:: shell + + python3 -m venv .env + source .env/bin/activate + pip install Sphinx sphinx-rtd-theme + +Now, once you have the virtual environment activated: + +.. code-block:: shell + + cd docs + sphinx-build -E -W -b html . _build/html + +This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to +view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to +locally verify it will pass. \ No newline at end of file From f765ec7afde52afe2deae6d866f130ae65421196 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 2 Mar 2018 13:13:56 -0600 Subject: [PATCH 5/5] updated info docstring; docstring formatting --- adafruit_mcp4725.py | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/adafruit_mcp4725.py b/adafruit_mcp4725.py index a19fc8e..090538d 100644 --- a/adafruit_mcp4725.py +++ b/adafruit_mcp4725.py @@ -24,9 +24,22 @@ ======================================================== CircuitPython module for the MCP4725 digital to analog converter. See -examples/simpletest.py for a demo of the usage. +examples/mcp4725_simpletest.py for a demo of the usage. * Author(s): Tony DiCola + +Implementation Notes +-------------------- + +**Hardware:** + +* Adafruit `MCP4725 Breakout Board - 12-Bit DAC w/I2C Interface + `_ (Product ID: 935) + +**Software and Dependencies:** + +* Adafruit CircuitPython firmware for the ESP8622 and M0-based boards: + https://github.com/adafruit/circuitpython/releases """ from micropython import const @@ -40,12 +53,13 @@ class MCP4725: - """MCP4725 12-bit digital to analog converter. This class has a similar - interface as the CircuitPython AnalogOut class and can be used in place - of that module. + """ + MCP4725 12-bit digital to analog converter. This class has a similar + interface as the CircuitPython AnalogOut class and can be used in place + of that module. - :param ~busio.I2C i2c: The I2C bus. - :param int address: The address of the device if set differently from the default. + :param ~busio.I2C i2c: The I2C bus. + :param int address: The address of the device if set differently from the default. """ @@ -97,12 +111,13 @@ def _read(self): @property def value(self): - """The DAC value as a 16-bit unsigned value compatible with the + """ + The DAC value as a 16-bit unsigned value compatible with the :py:class:`~analogio.AnalogOut` class. Note that the MCP4725 is still just a 12-bit device so quantization will occur. If you'd - like to instead deal with the raw 12-bit value use the raw_value property, or the - normalized_value property to deal with a 0...1 float value. + like to instead deal with the raw 12-bit value use the ``raw_value`` property, or the + ``normalized_value`` property to deal with a 0...1 float value. """ raw_value = self._read() # Scale up to 16-bit range.