{ "info": { "author": "Stefan Mavrodiev", "author_email": "support@olimex.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Topic :: Home Automation", "Topic :: Software Development :: Embedded Systems" ], "description": "This package provide methods for controlling GPIO pins, I2C and SPI buses.\nThis is written for A10-Lime, but it can be used with other boards. If you do\nthis we cannot guarantee proper operation of the module. Before using this\npackage we recommend reading the article at olimex wiki:\n\nhttps://www.olimex.com/wiki/A13-OLinuXino\n\nWhen using GPIO make sure that the desired gpio is not used by another periphery.\n\nGPIO METHODS\n============\n\n init() - Make initialization of the module. Always must be called first.\n getcfg() - Read current configuration of gpio.\n setcfg() - Write configuration to gpio.\n input() - Return current value of gpio.\n output() - Set output value.\n pullup() - Set pull-up/pull-down.\n\n\nThe available constants are:\n\n NAME - EQUALS TO\n ==== =========\n HIGH -> 1\n LOW -> 0\n INPUT -> 0\n OUPTUT -> 1\n PULLUP -> 1\n PULLDOWN -> 2\n\n\nThe gpio are named two ways:\n\n By port name: PH0, PG2, PE10, etc.\n These can be imported from port module:\n\n >>> from pyA13.gpio import port\n >>> dir(port)\n\n By connector name and pin number: gpio2p12, gpio3p8, etc.\n These can be imported from connector module:\n\n >>> from pyA13.gpio import connector\n >>> dir(connector)\n\nGenerally these constants are just an offset in the memory from the base GPIO address, so they can\nbe assigned to a number type variable.\n\n >>> led = port.PH2\n >>> print led\n 226\n\n\n\nI2C METHODS\n===========\n\n init() - Make initialization of the module\n open() - Begin communication with slave device\n read() - Read from slave device\n write() - Write data to slave device\n close() - End communication with slave device\n\n\nSPI METHODS\n===========\n\n open() - Open SPI bus with given configuration\n read() - Read data from slave device without write\n write() - Write data to slave device without read\n xfer() - Do write and after that read\n close() - Close SPI bus\n\n\n\nExamples\n========\n\nGPIO::\n\n #!/usr/bin/env python\n\n from pyA13.gpio import gpio\n from pyA13.gpio import port\n from pyA13.gpio import connector\n\n gpio.init() #Initialize module. Always called first\n\n gpio.setcfg(port.PG9, gpio.OUTPUT) #Configure LED1 as output\n gpio.setcfg(port.PG9, 1) #This is the same as above\n\n gpio.setcfg(port.PE11, gpio.INPUT) #Configure PE11 as input\n gpio.setcfg(port.PE11, 0) #Same as above\n\n gpio.pullup(port.PE11, 0) #Clear pullups\n gpio.pullup(port.PE11, gpio.PULLDOWN) #Enable pull-down\n gpio.pullup(port.PE11, gpio.PULLUP) #Enable pull-up\n\n while True:\n if gpio.input(port.PE11) == 1:\n gpio.output(port.PG9, gpio.LOW)\n gpio.output(port.PG9, 0)\n else:\n gpio.output(port.PG9, gpio.HIGH)\n gpio.output(port.PG9, 1)\n\n\nI2C::\n\n #!/usr/bin/env python\n\n from pyA13 import i2c\n\n i2c.init(\"/dev/i2c-2\") #Initialize module to use /dev/i2c-2\n i2c.open(0x55) #The slave device address is 0x55\n\n #If we want to write to some register\n i2c.write([0xAA, 0x20]) #Write 0x20 to register 0xAA\n i2c.write([0xAA, 0x10, 0x11, 0x12]) #Do continuous write with start address 0xAA\n\n #If we want to do write and read\n i2c.write([0xAA]) #Set address at 0xAA register\n value = i2c.read(1) #Read 1 byte with start address 0xAA\n\n i2c.close() #End communication with slave device\n\n\nSPI::\n\n #!/usr/bin/env python\n\n from pyA13 import spi\n\n spi.open(\"/dev/spidev2.0\")\n #Open SPI device with default settings\n # mode : 0\n # speed : 100000kHz\n # delay : 0\n # bits-per-word: 8\n\n #Different ways to open device\n spi.open(\"/dev/spidev2.0\", mode=1)\n spi.open(\"/dev/spidev2.0\", mode=2, delay=0)\n spi.open(\"/dev/spidev2.0\", mode=3, delay=0, bits_per_word=8)\n spi.open(\"/dev/spidev2.0\", mode=0, delay=0, bits_per_word=8, speed=100000)\n\n spi.write([0x01, 0x02]) #Write 2 bytes to slave device\n spi.read(2) #Read 2 bytes from slave device\n spi.xfer([0x01, 0x02], 2) #Write 2 byte and then read 2 bytes.\n\n spi.close() #Close SPI bus\n\n\nIt's important that you run your python script as root!\n \n\n Changelog\n=========\n * pyA13 0.2.2 (30 JUN 2015)\n * Fixed issue with SPI xfer function\n\n * pyA13 0.2.1 (16 OCT 2014)\n * Fixed some typos\n\n * pyA13 0.2.0 (03 SEP 2014)\n * Updated to enable SPI and I2C control\n * GPIO constant in separate modules\n * Added example files\n * Added support for Python3", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.olimex.com/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pyA13", "package_url": "https://pypi.org/project/pyA13/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyA13/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://www.olimex.com/" }, "release_url": "https://pypi.org/project/pyA13/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "Control GPIO, I2C and SPI", "version": "0.2.2" }, "last_serial": 1612812, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0c0a75c6ca8d659c1c7671209f643d47", "sha256": "a3baf9f5673909ca0b4c85483390e4f49c8deb39493efff3736b245bfd739ea9" }, "downloads": -1, "filename": "pyA13-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0c0a75c6ca8d659c1c7671209f643d47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2032, "upload_time": "2013-03-01T15:03:26", "url": "https://files.pythonhosted.org/packages/66/11/6a455c10aa2f3793d4372fec2ea171a505079cef5a1f1b10ffaf1d000006/pyA13-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ea1a41cbea2d500f524c6319788658bf", "sha256": "d6517c2e0e1d9f40e1116fc0caae5026a90643461cf02eb1bc11676a2e06750c" }, "downloads": -1, "filename": "pyA13-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ea1a41cbea2d500f524c6319788658bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2070, "upload_time": "2013-03-04T06:28:45", "url": "https://files.pythonhosted.org/packages/74/51/48c435875101535dae855caa63a71798673d777aff15608fe2fe4158d25e/pyA13-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "75496fcd9d87541b9dfa8040d71ec6da", "sha256": "269421fb5bfa70a7e7ba9f23a7a9a813186bcdad51ac805905be3962bd5af612" }, "downloads": -1, "filename": "pyA13-0.1.10.tar.gz", "has_sig": false, "md5_digest": "75496fcd9d87541b9dfa8040d71ec6da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7269, "upload_time": "2013-03-08T14:01:59", "url": "https://files.pythonhosted.org/packages/22/e4/bde887dc746e521bd42aad2e56c6dd7b9ba958b507aaf5879ec7a24d0dfe/pyA13-0.1.10.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "684d230c751dc8abf3ab3560a632ce4f", "sha256": "d891c16cd0c2059d2b8351c6ee542b9f88693a2c4c2da59d4cd50f99f7cbd1a9" }, "downloads": -1, "filename": "pyA13-0.1.12.tar.gz", "has_sig": false, "md5_digest": "684d230c751dc8abf3ab3560a632ce4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7259, "upload_time": "2013-03-11T06:16:25", "url": "https://files.pythonhosted.org/packages/41/78/88cd92e3f156b5299042352ba1b1cc914e19b089bfbeb3b3d99d1013f46e/pyA13-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "2bb3743842f95bcd52113eb8973c79ae", "sha256": "8da713c97e7ec21b9c47619d9fe0767d828b792aa4120c96e273a8267b9987c5" }, "downloads": -1, "filename": "pyA13-0.1.13.tar.gz", "has_sig": false, "md5_digest": "2bb3743842f95bcd52113eb8973c79ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6042, "upload_time": "2014-04-16T06:59:36", "url": "https://files.pythonhosted.org/packages/ca/9b/7cfb2e6c8acf20ddca040ce9f5faf182256af15c268349dfc03c35fc53b3/pyA13-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "6ae478c59281aee6872020e4558ecb85", "sha256": "4529ff36559e14a6028db2ae85665eebff5a46cddc66344618d884aec97d3575" }, "downloads": -1, "filename": "pyA13-0.1.14.tar.gz", "has_sig": false, "md5_digest": "6ae478c59281aee6872020e4558ecb85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6056, "upload_time": "2014-04-16T07:06:29", "url": "https://files.pythonhosted.org/packages/cf/ea/1a0ba7d07f18c8ba2970295ac4614cbdcd3f06a8f10a7a53ae2c5d6e566e/pyA13-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "dacb2109b60c7a403c58091a8efd4ae3", "sha256": "93f24432d9db303d66c5ebe9b93eee19e20171b93ac1199ce1dd5363171c3144" }, "downloads": -1, "filename": "pyA13-0.1.15.tar.gz", "has_sig": false, "md5_digest": "dacb2109b60c7a403c58091a8efd4ae3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6059, "upload_time": "2014-04-16T07:17:05", "url": "https://files.pythonhosted.org/packages/d8/42/d2367cbb59beb10bf52a9c5987c97c1bfc7f8c1cd68208deddfeb5beb775/pyA13-0.1.15.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "68ff8ae0d6d5520802f4bce13084a14e", "sha256": "abe6fd9eafad9a2718cce9da5b6cc830421cdc1125c742429aaeec691a09cd88" }, "downloads": -1, "filename": "pyA13-0.1.3.tar.gz", "has_sig": false, "md5_digest": "68ff8ae0d6d5520802f4bce13084a14e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4033, "upload_time": "2013-03-04T12:29:37", "url": "https://files.pythonhosted.org/packages/d5/cd/0fbc63deb0b9f5c008c0c820c15ba562840645b22aed784ad35d2d3c96f5/pyA13-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4b034428c7f3b401bdd4d3d77b4187ae", "sha256": "3ce695d8d21c35e20b6eb78f64a29a5748bce37d1787de718137bcb9ad19a58d" }, "downloads": -1, "filename": "pyA13-0.1.4.tar.gz", "has_sig": false, "md5_digest": "4b034428c7f3b401bdd4d3d77b4187ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4020, "upload_time": "2013-03-04T13:27:15", "url": "https://files.pythonhosted.org/packages/fa/e1/83ea3f6eb7767ac7ac5d51e926232eac7f8bbbd2adb7ad67022b1cf198dd/pyA13-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6f0af1b2fda60bc31cacb334c2482a77", "sha256": "65f6bb5417d0692cc34d2b2e55bc47861189a494a8814377c4a712c2bed38008" }, "downloads": -1, "filename": "pyA13-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6f0af1b2fda60bc31cacb334c2482a77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4113, "upload_time": "2013-03-04T13:45:50", "url": "https://files.pythonhosted.org/packages/60/ea/45ab89767d9beb628c3229adda6ce8afeb32ff8429e9dc3b965040c5768c/pyA13-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3c4c2acb9f6d308407db920d77e5907c", "sha256": "f9050a6204c2877f474d36308a9574290a205855a76d3b72dee6afc898c32cd4" }, "downloads": -1, "filename": "pyA13-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3c4c2acb9f6d308407db920d77e5907c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5283, "upload_time": "2013-03-05T09:05:57", "url": "https://files.pythonhosted.org/packages/17/ef/471eb3d518e7a46ab7e6b9c374db5e1953767fe69ea0e9709edc1467bf25/pyA13-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "cf404efb68ba5e1e3687aaa1fc2bb356", "sha256": "d7e3f9c82f9b2ee1d75140f276babdfd08e163533be87d71f530d1fb91d93bc2" }, "downloads": -1, "filename": "pyA13-0.1.7.tar.gz", "has_sig": false, "md5_digest": "cf404efb68ba5e1e3687aaa1fc2bb356", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5347, "upload_time": "2013-03-05T09:09:35", "url": "https://files.pythonhosted.org/packages/6e/60/84f1f21249b792a8b9a4672d00e9f09fe12c00f8f8ae435f11202d570573/pyA13-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9336a1b880b6ba5acf69e0a51c5dca57", "sha256": "c4eb48da6d0fe09b1cea58ab0352f2721e0cdeddaf3c3ec2869cd27cc1678357" }, "downloads": -1, "filename": "pyA13-0.1.8.tar.gz", "has_sig": false, "md5_digest": "9336a1b880b6ba5acf69e0a51c5dca57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5258, "upload_time": "2013-03-05T09:32:00", "url": "https://files.pythonhosted.org/packages/86/d3/9e54d3f09479ca67d1ba57c0f4bdd094f84f2b0aeac10d558e27c852930c/pyA13-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "2aad971498dd7118c010e4fbaedb5203", "sha256": "4415e3da6c604b3c2f7506e7565c95db10342ec6e0fc81e434e9f51091e321cf" }, "downloads": -1, "filename": "pyA13-0.1.9.tar.gz", "has_sig": false, "md5_digest": "2aad971498dd7118c010e4fbaedb5203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6266, "upload_time": "2013-03-06T11:18:05", "url": "https://files.pythonhosted.org/packages/15/6d/c38b57c4b793381539568d0cac529c0d26bbd2b0a414d65738d4a282467b/pyA13-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f1d7aa35e206edde864dd8c67a66f6f2", "sha256": "f273063d4b534643834ab2fc1eea7175921b3503639a35376f4a3c16093d9544" }, "downloads": -1, "filename": "pyA13-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f1d7aa35e206edde864dd8c67a66f6f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12857, "upload_time": "2014-09-04T10:32:36", "url": "https://files.pythonhosted.org/packages/b6/f9/d68046d528be500584db91bb09e880b80d4cdfd96ce0f1de19d89aefce2d/pyA13-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4be14836b98bbfb3c17fbd61db67bfce", "sha256": "6d4c77767e0cd67de76ce1869874d1390e078a3628f416cb11feecc9d3a15354" }, "downloads": -1, "filename": "pyA13-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4be14836b98bbfb3c17fbd61db67bfce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12914, "upload_time": "2014-10-16T12:56:12", "url": "https://files.pythonhosted.org/packages/c6/db/0c77592d5047f0837feeafde4499046e0775b9a5dfc2616844edb6aa3d2d/pyA13-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "b73d3166b8cdbe908db4759496329bf2", "sha256": "d19fa6a6c08de50bf43cd5258fedc3c0eefc14c29b668ef3603f765782338bae" }, "downloads": -1, "filename": "pyA13-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b73d3166b8cdbe908db4759496329bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12937, "upload_time": "2015-06-30T08:54:30", "url": "https://files.pythonhosted.org/packages/2b/74/442399bf90999961c011d0504573b3f08cd9902eacb2fca4da2492abf88e/pyA13-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b73d3166b8cdbe908db4759496329bf2", "sha256": "d19fa6a6c08de50bf43cd5258fedc3c0eefc14c29b668ef3603f765782338bae" }, "downloads": -1, "filename": "pyA13-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b73d3166b8cdbe908db4759496329bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12937, "upload_time": "2015-06-30T08:54:30", "url": "https://files.pythonhosted.org/packages/2b/74/442399bf90999961c011d0504573b3f08cd9902eacb2fca4da2492abf88e/pyA13-0.2.2.tar.gz" } ] }