{ "info": { "author": "Connor Wolf, Akela Inc", "author_email": "cwolf@akelainc.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3" ], "description": "\n# AVMU Interface\n\nPython 3 interface to AKELA Inc's vector meaurement units.\n\n[Complete API Documentation here](https://akelainc.github.io/avmu/index.html)\n\nQuickstart:\n\n import avmu\n\n AVMU_IP_ADDRESS = \"192.168.1.219\"\n HOP_RATE = \"HOP_15K\"\n START_F = 250\n STOP_F = 2100\n NUM_POINTS = 1024\n SWEEP_COUNT = 100\n\n device = avmu.AvmuInterface()\n device.setIPAddress(AVMU_IP_ADDRESS)\n device.setIPPort(1027)\n device.setTimeout(500)\n device.setMeasurementType(\"PROG_ASYNC\")\n\n device.initialize()\n\n device.setHopRate(HOP_RATE)\n device.addPathToMeasure('AVMU_TX_PATH_0', 'AVMU_RX_PATH_1')\n\n device.utilGenerateLinearSweep(startF_mhz=START_F, stopF_mhz=STOP_F, points=NUM_POINTS)\n\n # Get the freqency plan that utilGenerateLinearSweep calculated given the\n # hardware constraints.\n frequencies = device.getFrequencies()\n\n # Arm the device\n device.start()\n\n sweeps = []\n\n # Tell the AVMU to start asynchronous acquisitions.\n device.beginAsync()\n\n # Consume asynchronously generated frequency sweeps\n for _ in range(count):\n\n device.measure()\n sweep_data = device.extractAllPaths()\n sweeps.append(sweep_data)\n print(\"Acquired sweep (%s)\" % (len(sweeps), ))\n\n # Stop the asynchronous acquisition\n device.haltAsync()\n\n # Finally, disarm the acquisition.\n device.stop()\n\n\nSignificantly more comprehensive examples are included in `demo-simple.py` and `demo-threaded.py`.\n\n - `demo-simple.py` shows how to properly convert acquired frequency domain data into time-domain \n data, for extracting meaningful range profiles. It also includes a waterfall plot for viewing\n motion the returned data, if desired.\n - `demo-threaded.py` implements a much more robust, error tolerant client for the AVMU, with proper\n handling for the various way the network connection can hiccup.\n\n### Usage:\n\nIf you clone this repository, the examples can be run directly, as the `avmu` package is present \nin the repository as well. However, for external projects, this depends on you manually placing\nthe `avmu` directory in the root of any project that would like to use it.\n\nAlternatively, `avmu` is also available in PyPi, so `pip install avmu` will make the `avmu`\ninterface package available globally. At that point, either of the example files can be run\nfrom any location.\n\n\n\n## Changes:\n\n0.0.12\n - Remove setup.py windows check (thanks https://github.com/AkelaInc/avmu/pull/1!)\n\n0.0.11\n - Add extra setup classifiers that indicate MacOS/Linux support (whoops!)\n\n0.0.10\n - This changeset primarily adds (preliminary) support for MacOS.\n There are no internal changes to the AVMU library, it solely consists of adding support \n for locating/loading MacOS DyLibs, and the associated (internal) build-process support \n for compiling on MacOS.\n Additionally, the windows build environment was also updated to VC141 (VS2017). This \n should not affect users of this library, as the C ABI is stable across versions.\n\n0.0.9\n - The combo utils tool has been updated to include the transmitting AVMU in each combo tuple.\n This will require any software that uses `avmu.combo_utils` to be updated, but as that particular\n file is so-far undocumented, this is not regarded as a breaking change. This change is motivated\n entirely by internal use of the library.\n\n0.0.8\n - Added linux x86_64 shared object. This `.so` was built on ubuntu 16.04, so it will likely work on \n most debian variants.\n\n0.0.7\n - Minor DLL lookup improvements. Added linux armv7l shared object (e.g. raspberry pi version). \n\n0.0.6\n - Re-enable RTTI in the DLL, so it stops exploding. Whoops, sorry about that.\n \n0.0.5\n - `utilPingUnit()` now takes an optional parameter to specify the number of retry attemps \n for the ping.\n - Default timeout library-wide set to 100 milliseconds. Previously, it was 1000 milliseconds\n (and mis-documented as being 150). 1000 ms doesn't make much sense in the context of the hardware, \n which cannot (generally) perform blocking operations at all. As such, it *can't* take longer \n then a millisecond or two to respond, if it received a message at all. \n\n0.0.4:\n - Improved return of `getHardwareDetails()` call to include hardware feature flags, \n which makes determining what a remote AVMU can do easier then just trying to \n turn on assorted features and seeing if you get errors.\n - Fixed typo in the reported versions in `setup.py` to include python 3.4.\n\n0.0.3:\n - Initial Release\n\n\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AkelaInc/avmu", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "avmu", "package_url": "https://pypi.org/project/avmu/", "platform": "", "project_url": "https://pypi.org/project/avmu/", "project_urls": { "Homepage": "https://github.com/AkelaInc/avmu" }, "release_url": "https://pypi.org/project/avmu/0.0.12/", "requires_dist": null, "requires_python": "", "summary": "Control interface and API for running Akela Vector Measurement Units.", "version": "0.0.12" }, "last_serial": 4808771, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "705b251f0d8850b76fc48c5b38b7810c", "sha256": "cb184870ec57e5b45fefd8202aa3db1d27a437d3015993e8b637d83b5685c39d" }, "downloads": -1, "filename": "avmu-0.0.1.tar.gz", "has_sig": false, "md5_digest": "705b251f0d8850b76fc48c5b38b7810c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1043, "upload_time": "2018-10-11T23:29:01", "url": "https://files.pythonhosted.org/packages/43/d6/35ca883fd1a269dbe46722c55e2f59969466799930cd4eb14e99a7d10edc/avmu-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "dc857e412cc8d6c96335b1b62dac1220", "sha256": "c8e46c73144e09409ddd65712d0fd586cce422ac3b722506ee78b59bf4bd7d95" }, "downloads": -1, "filename": "avmu-0.0.10.tar.gz", "has_sig": false, "md5_digest": "dc857e412cc8d6c96335b1b62dac1220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 425269, "upload_time": "2019-02-08T03:11:57", "url": "https://files.pythonhosted.org/packages/dc/b5/e154194a600ec95b041664e4f375f2248414958196850e44cab1d08db979/avmu-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "306ba3a2c3478c58d154983cf8c0e969", "sha256": "13f8231523b69f179f8ac7d080d33b4e58a631c7ddda92b53cf9963ef9aaf382" }, "downloads": -1, "filename": "avmu-0.0.11.tar.gz", "has_sig": false, "md5_digest": "306ba3a2c3478c58d154983cf8c0e969", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 425344, "upload_time": "2019-02-08T03:14:31", "url": "https://files.pythonhosted.org/packages/de/a4/c91cecb23d7013e266eab1e336e196164965f983224c5637aab4ae5e622c/avmu-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "3410ad2e5f60b4c808d838d389fc3fc1", "sha256": "82b5f7e7c29d6f367fc398e6e120bc38190b4e275f9247767b355b16007dd24a" }, "downloads": -1, "filename": "avmu-0.0.12.tar.gz", "has_sig": false, "md5_digest": "3410ad2e5f60b4c808d838d389fc3fc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 425345, "upload_time": "2019-02-12T02:17:02", "url": "https://files.pythonhosted.org/packages/4a/66/a7f8f88f0efb03c07ee847b25772d7f94582b590c96bedab8fba2ab8c7ab/avmu-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1a5686ba612091e0f299b120974bcc18", "sha256": "34c12efddac5615dc124eef12362d87dc425b001ebca822be0d7c8937f5b8c41" }, "downloads": -1, "filename": "avmu-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1a5686ba612091e0f299b120974bcc18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155987, "upload_time": "2018-10-18T19:09:53", "url": "https://files.pythonhosted.org/packages/88/88/95d7b7d71f7f635ade018ef7a4fb033eb36b999f063865fc2ed29d9c2f2b/avmu-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6f40783561a7e80d65929beaa07ec8c6", "sha256": "89ab2ed1333aa6d08c521d2ee0b4a9935eb2819b1ab7f70727010ef115d4e964" }, "downloads": -1, "filename": "avmu-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6f40783561a7e80d65929beaa07ec8c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155992, "upload_time": "2018-10-18T19:12:32", "url": "https://files.pythonhosted.org/packages/0b/52/8fd91745956843cb1dca3ea474a3c1b87edec579c7b3a12bc386e99ebf42/avmu-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "82629bfe6dfdf4f0f3ceeeff6beadd42", "sha256": "ae8fe6cc48294fac4cccf29afd6d6d1bb49311f080c157d6957576585c2d9bf6" }, "downloads": -1, "filename": "avmu-0.0.4.tar.gz", "has_sig": false, "md5_digest": "82629bfe6dfdf4f0f3ceeeff6beadd42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157086, "upload_time": "2018-10-23T22:29:10", "url": "https://files.pythonhosted.org/packages/ca/46/aec9e297c525872d3b42777cf689ef33d48c54a5c6f02cdca2feadafec0d/avmu-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "cca35be33d7f43cb07f8bb004c370dea", "sha256": "beafb51251d6dc4a77c8b14df0f4d72eec15b81d3ed007fbd3efd867767fd275" }, "downloads": -1, "filename": "avmu-0.0.5.tar.gz", "has_sig": false, "md5_digest": "cca35be33d7f43cb07f8bb004c370dea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157968, "upload_time": "2018-10-25T23:32:09", "url": "https://files.pythonhosted.org/packages/81/8d/2b272d7512e8c0aae91a337aa49e7cdf726784d33aea101a7de6cbcaba24/avmu-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "01bba244a4a114d4f713a719178e2069", "sha256": "8ee6420dd91ec70836a6d8074689609a5b9021f448b23f60492919d2aabe3d7c" }, "downloads": -1, "filename": "avmu-0.0.6.tar.gz", "has_sig": false, "md5_digest": "01bba244a4a114d4f713a719178e2069", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 160352, "upload_time": "2018-10-26T01:50:38", "url": "https://files.pythonhosted.org/packages/ff/b8/882e7f43dfaeaa939d331ea280a030906b60dc1e41dc1f8be5e2aac41c9b/avmu-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "47399bac70c4ef91f34189b8abe2ec81", "sha256": "7321fc581feeeeccbe01ab030aebc2e5f53073b0a41a3f9d017e5c2581170906" }, "downloads": -1, "filename": "avmu-0.0.7.tar.gz", "has_sig": false, "md5_digest": "47399bac70c4ef91f34189b8abe2ec81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 280980, "upload_time": "2018-11-07T01:24:47", "url": "https://files.pythonhosted.org/packages/ec/c7/b76fafd4c6c3c8773231214307636a45dd01ab560e676b6fae832f335da5/avmu-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "c4c2d93aa76405b05587df715027a1ef", "sha256": "659b2dbd3378a8e5bbe9ff58af5986cdffdfde083a1dee335d9ecae49e47ea22" }, "downloads": -1, "filename": "avmu-0.0.8.tar.gz", "has_sig": false, "md5_digest": "c4c2d93aa76405b05587df715027a1ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 428476, "upload_time": "2018-11-07T01:56:07", "url": "https://files.pythonhosted.org/packages/be/8e/8764657cbc5c5481b1c076ec437b40f9c1bb13c912f0cb7e5359bf3424aa/avmu-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "ea3098087c77ba8ac77c3e4d3aabeb70", "sha256": "ed1b957f75769cbe655972e6a4424dc4f1188bdb1b089ab1364defde49331eaf" }, "downloads": -1, "filename": "avmu-0.0.9.tar.gz", "has_sig": false, "md5_digest": "ea3098087c77ba8ac77c3e4d3aabeb70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 428773, "upload_time": "2018-11-20T03:50:04", "url": "https://files.pythonhosted.org/packages/4c/23/79639508704c1441dc2964acab6b06c989817b1f7e7b36250a88a038d505/avmu-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3410ad2e5f60b4c808d838d389fc3fc1", "sha256": "82b5f7e7c29d6f367fc398e6e120bc38190b4e275f9247767b355b16007dd24a" }, "downloads": -1, "filename": "avmu-0.0.12.tar.gz", "has_sig": false, "md5_digest": "3410ad2e5f60b4c808d838d389fc3fc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 425345, "upload_time": "2019-02-12T02:17:02", "url": "https://files.pythonhosted.org/packages/4a/66/a7f8f88f0efb03c07ee847b25772d7f94582b590c96bedab8fba2ab8c7ab/avmu-0.0.12.tar.gz" } ] }