{ "info": { "author": "ponty", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "pysimavr is a python wrapper for simavr_ which is AVR_ and arduino_ simulator\n\nLinks:\n * home: https://github.com/ponty/pysimavr\n * documentation: http://pysimavr.readthedocs.org\n * PYPI: https://pypi.python.org/pypi/pysimavr\n\n|Travis| |Coveralls| |Latest Version| |Supported Python versions| |License| |Downloads| |Code Health| |Documentation|\n \nFeatures:\n - python wrapper using swig_\n - simavr_ source code and avr-libc_ headers are included for easier installation\n - object oriented interface on top of the generated interface\n - maximum speed can be real-time\n - serial communication\n - check simavr_ documentation\n \nBasic usage\n===========\n\n >>> from pysimavr.avr import Avr\n >>> avr=Avr(mcu='atmega48',f_cpu=8000000)\n >>> firmware = Firmware('lcd.elf')\n >>> avr.load_firmware(firmware)\n\n \n >>> from pysimavr.sim import ArduinoSim\n >>> print ArduinoSim(snippet='Serial.print(\"hello!\");').get_serial()\n hello!\n\nInstallation\n============\n\ncheck simavr_ documentation\n \nGeneral\n-------\n\n * install python_\n * install pip_\n * install swig_ (for source build only)\n * install header files and a static library for Python (for source build only)\n * install a compiler (for source build only)\n * install elf library \n * install the program::\n\n # as root\n pip install pysimavr\n\n\nUbuntu 14.04\n------------\n::\n\n sudo apt-get install python-pip\n sudo apt-get install python-dev gcc libelf-dev arduino\n sudo pip install pysimavr\n # optional for some tests:\n sudo apt-get install freeglut3-dev scons swig\n\nUninstall\n---------\n\n::\n\n # as root\n pip uninstall pysimavr\n\nUsage\n=====\n\npysimavr.examples.simple::\n \n #-- include('examples/simple.py')--#\n from pysimavr.avr import Avr\n\n if __name__ == \"__main__\":\n avr = Avr(mcu='atmega48', f_cpu=8000000)\n print( avr.pc )\n avr.step(1)\n print( avr.pc )\n avr.step(1)\n print( avr.pc )\n \n avr.terminate()\n #-#\n\nOutput::\n\n #-- sh('python -m pysimavr.examples.simple ')--#\n 0\n 2\n 4\n #-#\n\npysimavr.examples.hello::\n \n #-- include('examples/hello.py')--#\n from pysimavr.sim import ArduinoSim\n\n if __name__ == \"__main__\":\n s= ArduinoSim(snippet='Serial.println(\"hello!\");').get_serial()\n print(s)\n #-#\n\nOutput::\n\n #-- sh('python -m pysimavr.examples.hello ')--#\n hello!\r\n\n #-#\n\npysimavr.examples.delay::\n \n #-- include('examples/delay.py')--#\n from pysimavr.sim import ArduinoSim\n import time\n\n snippet = '''\n int i=0;\n while (1)\n {\n Serial.println(i++);\n _delay_ms(1000);\n }\n '''\n t0 = None\n\n\n def logger(x):\n global t0\n t = time.time()\n if not t0:\n t0 = t\n print t - t0, x\n\n\n f_cpu=16000000\n fps=20\n speed=1\n timespan=5\n\n if __name__ == \"__main__\":\n ArduinoSim(snippet=snippet,\n timespan=timespan,\n serial_line_logger=logger,\n f_cpu=f_cpu,\n fps=fps,\n speed=speed,\n ).run()\n #-#\n\nOutput::\n\n #-- sh('python -m pysimavr.examples.delay ')--#\n 0.0 0\r\n\n 1.00977802277 1\r\n\n 2.01976013184 2\r\n\n 3.02968215942 3\r\n\n 4.03792500496 4\r\n\n #-#\n\nvcd export example\n------------------\n\npysimavr.examples.vcd::\n\n #-- include('examples/vcd.py')--#\n from pysimavr.sim import ArduinoSim\n\n\n vcdfile='delay.vcd'\n snippet = '''\n Serial.println(\"start\");\n pinMode(0, OUTPUT);\n digitalWrite(0, HIGH);\n delay(100);\n digitalWrite(0, LOW);\n delay(100);\n digitalWrite(0, HIGH);\n delay(100);\n digitalWrite(0, LOW);\n delay(100);\n Serial.println(\"end\");\n '''\n\n if __name__ == \"__main__\":\n sim = ArduinoSim(snippet=snippet, vcd=vcdfile, timespan=0.5)\n sim.run()\n #-#\n\n.. image:: gtkwave_id0.png\n\nFile hierarchy\n==============\n\n::\n \n |-docs sphinx documentation\n |---.build generated documentation\n |-pysimavr main python package, high level classes\n |---examples examples\n |---swig all swig files (simavr and parts)\n |-----include copy of simavr generated *.h files\n |-------avr copy from avr-libc\n |-----parts some electronic parts in c\n |-----simavr simavr as git submodule\n |-tests unit tests\n\n\n\nHow to update external sources\n==============================\n\n1. copy avr-libc_ headers (Ubuntu folder: /usr/lib/avr/include/avr/) into pysimavr/swig/include/avr\n2. simavr_ is a git submodule. Run 'make' inside simavr directory, \n then copy generated sim_core_config.h and sim_core_decl.h into pysimavr/swig/include \n \n \n\n\n.. _setuptools: http://peak.telecommunity.com/DevCenter/EasyInstall\n.. _pip: https://pypi.python.org/pypi/pip\n.. _arduino: http://arduino.cc/\n.. _python: http://www.python.org/\n.. _simavr: https://github.com/buserror/simavr\n.. _swig: http://www.swig.org/\n.. _avr: http://en.wikipedia.org/wiki/Atmel_AVR\n.. _avr-libc: http://www.nongnu.org/avr-libc/\n\n.. |Travis| image:: http://img.shields.io/travis/ponty/pysimavr.svg\n :target: https://travis-ci.org/ponty/pysimavr/\n.. |Coveralls| image:: http://img.shields.io/coveralls/ponty/pysimavr/master.svg\n :target: https://coveralls.io/r/ponty/pysimavr/\n.. |Latest Version| image:: https://img.shields.io/pypi/v/pysimavr.svg\n :target: https://pypi.python.org/pypi/pysimavr/\n.. |Supported Python versions| image:: https://img.shields.io/pypi/pyversions/pysimavr.svg\n :target: https://pypi.python.org/pypi/pysimavr/\n.. |License| image:: https://img.shields.io/pypi/l/pysimavr.svg\n :target: https://pypi.python.org/pypi/pysimavr/\n.. |Downloads| image:: https://img.shields.io/pypi/dm/pysimavr.svg\n :target: https://pypi.python.org/pypi/pysimavr/\n.. |Code Health| image:: https://landscape.io/github/ponty/pysimavr/master/landscape.svg?style=flat\n :target: https://landscape.io/github/ponty/pysimavr/master\n.. |Documentation| image:: https://readthedocs.org/projects/pysimavr/badge/?version=latest\n :target: http://pysimavr.readthedocs.org", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ponty/pysimavr", "keywords": "avr simavr", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "pysimavr", "package_url": "https://pypi.org/project/pysimavr/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pysimavr/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ponty/pysimavr" }, "release_url": "https://pypi.org/project/pysimavr/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "python wrapper for simavr which is AVR and arduino simulator.", "version": "0.2.2" }, "last_serial": 2533056, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "3ab9b16dcf347116cadd7db35a24a665", "sha256": "8d3a4550901c2af4f2cb11263e6967fc82cbeb1cc641c831d38fce86936aec42" }, "downloads": -1, "filename": "pysimavr-0.0.0-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "3ab9b16dcf347116cadd7db35a24a665", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 977541, "upload_time": "2011-07-25T23:20:28", "url": "https://files.pythonhosted.org/packages/fb/78/02fdaab0a47b32ee7390bf237b077e34318ca7f317c7aa89998a01861c6e/pysimavr-0.0.0-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "bab389fc4fc802bb84a6616f9c25335a", "sha256": "c6cddddc24a0c0697006fc04cfb7001f862a92cc75ace8c893ffd8b14561bf14" }, "downloads": -1, "filename": "pysimavr-0.0.0.tar.gz", "has_sig": false, "md5_digest": "bab389fc4fc802bb84a6616f9c25335a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 168077, "upload_time": "2011-07-25T23:15:30", "url": "https://files.pythonhosted.org/packages/ca/3b/7b04d1528c3a4a04a2569099e2860c7d1010a339e4d2d997e8db6156b9de/pysimavr-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "d7448c2f5ecc23e537a6dc918c9510ff", "sha256": "90b22b83ba65b494d425414fd2e559de908bf197ca0782a21b19db88b1975976" }, "downloads": -1, "filename": "pysimavr-0.0.1-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "d7448c2f5ecc23e537a6dc918c9510ff", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 982554, "upload_time": "2011-07-26T21:32:29", "url": "https://files.pythonhosted.org/packages/b3/02/cb3d471e32310bcd05ef67ef0f4b501a1427e4ee36a2e40a265156cb2a6e/pysimavr-0.0.1-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "a15b8e93b36c5d0610957ce8cc889aaf", "sha256": "2608069ea0bcf3d8c2a366920f765c8764287f96ed83c9a14f76b69dfda7c1e0" }, "downloads": -1, "filename": "pysimavr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a15b8e93b36c5d0610957ce8cc889aaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169399, "upload_time": "2011-07-26T21:32:44", "url": "https://files.pythonhosted.org/packages/e9/2b/df2349e91218fb243b14837a8f930d29c8e6d24603c491124d3a38affd18/pysimavr-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "159cd696e1466933e8d1d8c33c1efa73", "sha256": "c9b7d68ae50a171b09fff287bb2c6fffc0ef612fecc61d047ffe0b685a186e59" }, "downloads": -1, "filename": "pysimavr-0.0.2-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "159cd696e1466933e8d1d8c33c1efa73", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 986517, "upload_time": "2011-07-30T22:54:49", "url": "https://files.pythonhosted.org/packages/b2/e1/4c31d45c325356ab30be41bcffad3ecc9b07ba7391e0dfe26f1dbe627510/pysimavr-0.0.2-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "c29cc7d6d830f7766b63801a5b168329", "sha256": "9b85c9628277e247f4e1d9bc20bea6fd0a3961ff842a19018ac9e610eaaa80b5" }, "downloads": -1, "filename": "pysimavr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c29cc7d6d830f7766b63801a5b168329", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169746, "upload_time": "2011-07-30T22:55:05", "url": "https://files.pythonhosted.org/packages/81/89/27dd74ee3afb856071995d3e5e3c88ea53d5a2efd6e9ec5ea26ab088d069/pysimavr-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ad1be5a93014114d8e68fc302e4b062d", "sha256": "d4533837c48fdf9bc232e9251c93fada3fd5c81bc02bd0fc2d41da7eb21b67b3" }, "downloads": -1, "filename": "pysimavr-0.0.3-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "ad1be5a93014114d8e68fc302e4b062d", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 987627, "upload_time": "2011-10-24T13:15:47", "url": "https://files.pythonhosted.org/packages/92/47/42ca6be4d96dd52b602467fde05b3d67a095fedebffa680abb1f049ec2b8/pysimavr-0.0.3-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "f18e46847d4369c5a457a01f8503099b", "sha256": "4ce6e14e75d2a3f77efed329b182ad93b1605b18cf718ff9bc018504a28d5cef" }, "downloads": -1, "filename": "pysimavr-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f18e46847d4369c5a457a01f8503099b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170392, "upload_time": "2011-10-24T13:16:01", "url": "https://files.pythonhosted.org/packages/6d/97/cf25acb3e464d314ba98e494bf290d39ebdf59f1a63828bbeae8b50ca7c0/pysimavr-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "fd708cd79ea610b4801d18a908a9d101", "sha256": "b6cbd8692964b1d09ba93254e633604a77ffc9e324425c188931ab76c69626df" }, "downloads": -1, "filename": "pysimavr-0.0.4-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "fd708cd79ea610b4801d18a908a9d101", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 1050027, "upload_time": "2011-11-10T20:01:19", "url": "https://files.pythonhosted.org/packages/85/41/7015ea851019ee82d3a2046218d78b1d4fbf6c5d308638c746ef30d728b5/pysimavr-0.0.4-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "c33ebf81e86487cbd7bb985e79a184a1", "sha256": "2953d5380865f7d1d863f0962ba2abfdd5cf80a536baf550513342d7c3b7619b" }, "downloads": -1, "filename": "pysimavr-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c33ebf81e86487cbd7bb985e79a184a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 191863, "upload_time": "2011-11-10T20:01:35", "url": "https://files.pythonhosted.org/packages/f3/0f/90a955913ea47bb8cfc2da36a0554f0ab67366b8315eaa09a006aa0951e4/pysimavr-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8365dec12c0a2c6a6742405cce28858b", "sha256": "6003c2a6139fbd7391f6c8bd0050fabebac09fb2df4c1fd94452df63c57ff2b8" }, "downloads": -1, "filename": "pysimavr-0.0.5-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "8365dec12c0a2c6a6742405cce28858b", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 1049926, "upload_time": "2011-11-13T17:34:56", "url": "https://files.pythonhosted.org/packages/33/7e/d3ab6b71db94b96de2a4098775d53a805e66fb5afbcec698ff40febe0e59/pysimavr-0.0.5-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "8ec02ea6eb940356ba209bfd890ea213", "sha256": "853106446672f278e3f7b4b495c36caa0127689f44c81343d045994ff9c72f61" }, "downloads": -1, "filename": "pysimavr-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8ec02ea6eb940356ba209bfd890ea213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 192752, "upload_time": "2011-11-13T17:35:19", "url": "https://files.pythonhosted.org/packages/5d/b1/8165784f077dfc809f3e6b0ddd010b35d0bd7bfa063d0d84c60077720e68/pysimavr-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4bc949848d1fcf02e0803e6a4680be57", "sha256": "05e5bc81b7416cc5eeb9db64342277d8e4583f0a73582069b02c82d06ab44a4e" }, "downloads": -1, "filename": "pysimavr-0.0.6-py2.6-linux-i686.egg", "has_sig": false, "md5_digest": "4bc949848d1fcf02e0803e6a4680be57", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 1049899, "upload_time": "2011-11-17T20:00:37", "url": "https://files.pythonhosted.org/packages/18/05/453779829150d19b19765d6e8329040d29afae4239f4629ec09a3805e001/pysimavr-0.0.6-py2.6-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "bf7f6abbce61c3380abe006f1b1153ae", "sha256": "868dc0386c9c1ef5a1657187538944c4c1c5eda8492fa0ee7ffb364f6abcd214" }, "downloads": -1, "filename": "pysimavr-0.0.6.tar.gz", "has_sig": false, "md5_digest": "bf7f6abbce61c3380abe006f1b1153ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 192767, "upload_time": "2011-11-17T20:00:51", "url": "https://files.pythonhosted.org/packages/13/05/27285e4c6ff533f6197d6394f99d7bbdce9409cc509ca7ee0eda3bb0d16c/pysimavr-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "651221d6721e2ae378b799e3cc693622", "sha256": "d52c85b26b562942cbcd8365a71121ec47c16c9e0234292becee654c72b90482" }, "downloads": -1, "filename": "pysimavr-0.0.7-py2.7-linux-i686.egg", "has_sig": false, "md5_digest": "651221d6721e2ae378b799e3cc693622", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 1147465, "upload_time": "2012-02-07T18:58:07", "url": "https://files.pythonhosted.org/packages/7f/20/51c59fcb9c5e3aec96b84b0afc00ecd8936a64e9f6067da81bede2ba6db7/pysimavr-0.0.7-py2.7-linux-i686.egg" }, { "comment_text": "", "digests": { "md5": "e60179f48a784ddade430e218c366fed", "sha256": "b3e40c19336f5f8fcc0a5bc26e82d64f8eac50fa2b7e0abefa25977b8926ed2c" }, "downloads": -1, "filename": "pysimavr-0.0.7.tar.gz", "has_sig": false, "md5_digest": "e60179f48a784ddade430e218c366fed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 189570, "upload_time": "2012-02-07T18:56:44", "url": "https://files.pythonhosted.org/packages/cf/da/7c8ab420f34bec42b84412ee1889aa138ed34063600df8af8bc945cfa9a5/pysimavr-0.0.7.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "d958482bbf3070bbfb1d3450fef3d068", "sha256": "c132c0af1d73c079c4a09d3d2bc1642b03c7037b1f4d887380b1c3f51c09a71b" }, "downloads": -1, "filename": "pysimavr-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d958482bbf3070bbfb1d3450fef3d068", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187526, "upload_time": "2013-02-16T10:30:24", "url": "https://files.pythonhosted.org/packages/e3/bf/f13b4c226fa2c61d4ce4fb542450f5132421ec96c8a0fdd0e43333a86b3a/pysimavr-0.1.0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "968e4609fe6a04da110808cf41685b5d", "sha256": "ee8134059e4dd772d51e1801f29c88af8a5d585f621187cdb68ea4dc619d3465" }, "downloads": -1, "filename": "pysimavr-0.2.tar.gz", "has_sig": false, "md5_digest": "968e4609fe6a04da110808cf41685b5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 287710, "upload_time": "2015-11-05T08:39:38", "url": "https://files.pythonhosted.org/packages/01/20/2cbf68ba4c28c3d9762ee365b7e0c6e6b881af726e79a3aebab6814b1a22/pysimavr-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "dc2c9fd590424c8296333672e94975fc", "sha256": "410a5368f905ce503e298d4eed5a55e6f9dc30160b894a0c21380a94667e4242" }, "downloads": -1, "filename": "pysimavr-0.2.1.tar.gz", "has_sig": false, "md5_digest": "dc2c9fd590424c8296333672e94975fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1081633, "upload_time": "2016-05-26T15:04:10", "url": "https://files.pythonhosted.org/packages/78/d5/54fc9cf687eac224650f94b02a7d88380e3bfad0c15b7d5e4837770f7ffc/pysimavr-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "92b53e1d991647824f1a655bd973c311", "sha256": "70d49d3500d0381e6695f492e97eb86164ddc403ca03780ca2787f4641b20926" }, "downloads": -1, "filename": "pysimavr-0.2.2.tar.gz", "has_sig": false, "md5_digest": "92b53e1d991647824f1a655bd973c311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1081675, "upload_time": "2016-12-21T17:06:09", "url": "https://files.pythonhosted.org/packages/2f/e4/ac33181c5c9acd2f9ae41b76ce5b7fcb9bb81004b5f1d2ad9cde409cae8c/pysimavr-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "92b53e1d991647824f1a655bd973c311", "sha256": "70d49d3500d0381e6695f492e97eb86164ddc403ca03780ca2787f4641b20926" }, "downloads": -1, "filename": "pysimavr-0.2.2.tar.gz", "has_sig": false, "md5_digest": "92b53e1d991647824f1a655bd973c311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1081675, "upload_time": "2016-12-21T17:06:09", "url": "https://files.pythonhosted.org/packages/2f/e4/ac33181c5c9acd2f9ae41b76ce5b7fcb9bb81004b5f1d2ad9cde409cae8c/pysimavr-0.2.2.tar.gz" } ] }