spmtool


Namespmtool JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryRead/write SPM motor controller configuration over serial connection
upload_time2024-08-27 01:16:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords serial spm kelly
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # spmtool

Read/write Kelly SPM brushed motor controller
configuration over serial connection. Tested with:

   - SPM24121


## Usage

Test serial connection:

	$ spmtool

Show help:

	$ spmtool -h
	usage: spmtool [-h] [-r | -w | -c] [-v] [-d DEVICE] [-s SETTINGS] [file]
	
	positional arguments:
	  file           config file
	
	options:
	  -h, --help     show this help message and exit
	  -r, --read     read controller memory to file
	  -w, --write    write config to controller
	  -c, --check    check and compare controller config
	  -v, --verbose  show debug log
	  -d DEVICE      serial port device
	  -s SETTINGS    settings schema preset or file


### Read Memory

Connect to controller, read memory, optionally mask settings
and then save to nominated file.

Read controller settings into conf.bin using SPM24121 preset:

	$ spmtool -r -s SPM24121 conf.bin


### Write Memory

Load config from nominated file, connect to controller,
update any settings listed in settings schema
on controller and save. A settings schema file or preset is
mandatory in this mode, see "Settings Schema" below for details.

Write settings from conf.bin to controller using SPM24121 preset:

	$ spmtool -w -s SPM24121 conf.bin


### Check Memory

Load config file, connect to controller and then list any differences
between config and controller memory. Optionally mask config and
memory with a settings schema.

Compare controller memory with contents of conf.bin using SPM24121 preset:

	$ spmtool -c -s SPM24121 conf.bin


## Settings Schema

Controller settings are listed in the settings schema
one per line with the whitespace delimited
columns:

	offset mask description

Where offset is a hexadecimal byte offset in the memory,
mask limits the bits that are set/cleared and description
is a text description for the setting. See included file
SPM24121.txt for an example.

To use a defined preset, use preset name as the schema, eg:

	$ spmtool -s SPM24121


## Installation

Install with pip, or run script file directly:

	$ python3 spmtool.py

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "spmtool",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "serial, spm, kelly",
    "author": null,
    "author_email": "Nathan Fraser <ndf-zz@6-v.org>",
    "download_url": "https://files.pythonhosted.org/packages/3e/46/4d42ad07256ca0bbd6848c907acda5f80f95457eb98db1b9e8a24a170ad5/spmtool-1.0.0.tar.gz",
    "platform": null,
    "description": "# spmtool\n\nRead/write Kelly SPM brushed motor controller\nconfiguration over serial connection. Tested with:\n\n   - SPM24121\n\n\n## Usage\n\nTest serial connection:\n\n\t$ spmtool\n\nShow help:\n\n\t$ spmtool -h\n\tusage: spmtool [-h] [-r | -w | -c] [-v] [-d DEVICE] [-s SETTINGS] [file]\n\t\n\tpositional arguments:\n\t  file           config file\n\t\n\toptions:\n\t  -h, --help     show this help message and exit\n\t  -r, --read     read controller memory to file\n\t  -w, --write    write config to controller\n\t  -c, --check    check and compare controller config\n\t  -v, --verbose  show debug log\n\t  -d DEVICE      serial port device\n\t  -s SETTINGS    settings schema preset or file\n\n\n### Read Memory\n\nConnect to controller, read memory, optionally mask settings\nand then save to nominated file.\n\nRead controller settings into conf.bin using SPM24121 preset:\n\n\t$ spmtool -r -s SPM24121 conf.bin\n\n\n### Write Memory\n\nLoad config from nominated file, connect to controller,\nupdate any settings listed in settings schema\non controller and save. A settings schema file or preset is\nmandatory in this mode, see \"Settings Schema\" below for details.\n\nWrite settings from conf.bin to controller using SPM24121 preset:\n\n\t$ spmtool -w -s SPM24121 conf.bin\n\n\n### Check Memory\n\nLoad config file, connect to controller and then list any differences\nbetween config and controller memory. Optionally mask config and\nmemory with a settings schema.\n\nCompare controller memory with contents of conf.bin using SPM24121 preset:\n\n\t$ spmtool -c -s SPM24121 conf.bin\n\n\n## Settings Schema\n\nController settings are listed in the settings schema\none per line with the whitespace delimited\ncolumns:\n\n\toffset mask description\n\nWhere offset is a hexadecimal byte offset in the memory,\nmask limits the bits that are set/cleared and description\nis a text description for the setting. See included file\nSPM24121.txt for an example.\n\nTo use a defined preset, use preset name as the schema, eg:\n\n\t$ spmtool -s SPM24121\n\n\n## Installation\n\nInstall with pip, or run script file directly:\n\n\t$ python3 spmtool.py\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Read/write SPM motor controller configuration over serial connection",
    "version": "1.0.0",
    "project_urls": {
        "homepage": "https://github.com/ndf-zz/spmtool"
    },
    "split_keywords": [
        "serial",
        " spm",
        " kelly"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "851a9d151e8412bc2e9988192a4c0e5f72821526ee1c078b85d2c9a54937168b",
                "md5": "674b483c2dd5397b40bb625f5c14c94f",
                "sha256": "7f0dbd169451e2c34204fd9e1850bd51018d6ddb69d3713d5b47ebd002c581d1"
            },
            "downloads": -1,
            "filename": "spmtool-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "674b483c2dd5397b40bb625f5c14c94f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7244,
            "upload_time": "2024-08-27T01:16:54",
            "upload_time_iso_8601": "2024-08-27T01:16:54.181975Z",
            "url": "https://files.pythonhosted.org/packages/85/1a/9d151e8412bc2e9988192a4c0e5f72821526ee1c078b85d2c9a54937168b/spmtool-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e464d42ad07256ca0bbd6848c907acda5f80f95457eb98db1b9e8a24a170ad5",
                "md5": "6aba8519da97afae9f49c7d18ca113ad",
                "sha256": "2d0cdf00fed727afb6672f9377fd40cf0045993a3a8152debd5ad10eb67503a8"
            },
            "downloads": -1,
            "filename": "spmtool-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6aba8519da97afae9f49c7d18ca113ad",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 7735,
            "upload_time": "2024-08-27T01:16:56",
            "upload_time_iso_8601": "2024-08-27T01:16:56.316139Z",
            "url": "https://files.pythonhosted.org/packages/3e/46/4d42ad07256ca0bbd6848c907acda5f80f95457eb98db1b9e8a24a170ad5/spmtool-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-27 01:16:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ndf-zz",
    "github_project": "spmtool",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "spmtool"
}
        
Elapsed time: 3.50624s