# picpro a kitsrus PIC CLI programmer
This is complete rewrite of kitsrus_pic_programmer into Python 3 + bunch of fixes and features.
[](https://github.com/Salamek/picpro/actions/workflows/python-test.yml)
## Supported kitsrus programmers
* K128
* K149-A
* K149-B
* K150 (Tested)
See http://www.kitsrus.com/pic.html
## Installation
### PIP (pip3 on some distros)
```
pip install picpro
```
### Repository
You can also use these repositories maintained by me
#### Debian and derivatives
Add repository by running these commands
```
$ wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg
$ echo "deb [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list
```
And then you can install a package picpro
```
$ apt update && apt install picpro
```
#### Archlinux
Add repository by adding this at end of file /etc/pacman.conf
```
[salamek]
Server = https://repository.salamek.cz/arch/pub/any
SigLevel = Optional
```
and then install by running
```
$ pacman -Sy picpro
```
## Usage
```
Command details:
program Program PIC chip.
verify Verify PIC flash.
dump Dump PIC data as binary.
erase Erase PIC.
chipinfo Prints chipinfo as JSON in terminal.
hexinfo Prints information about hexfile.
Usage:
picpro program -p PORT -i HEX_FILE -t PIC_TYPE [--id=PIC_ID] [--fuse=FUSE_NAME:FUSE_VALUE...] [--icsp]
picpro verify -p PORT -i HEX_FILE -t PIC_TYPE [--icsp]
picpro erase -p PORT -t PIC_TYPE [--icsp]
picpro dump <mem_type> -p PORT -o HEX_FILE -t PIC_TYPE [--icsp] [--binary]
picpro chipinfo [<PIC_TYPE>]
picpro hexinfo <HEX_FILE> <PIC_TYPE>
picpro (-h | --help)
Options:
--icsp Enable ISCP programming.
--fuse=FUSE_NAME:FUSE_VALUE Set fuse value directly.
--id=PIC_ID Set PIC id to be programmed in pic.
-p PORT --port=PORT Set serial port where programmer is connected.
-t PIC_TYPE --pic_type=PIC_TYPE Pic type you are programming/reading.
-i HEX_FILE --hex_file=HEX_FILE Hex file to flash or to read.
-o HEX_FILE --hex_file=HEX_FILE Hex file to write.
--binary Input/Output file is in binary.
```
### Program chip
```bash
picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675
```
### Verify chip program
```bash
picpro verify -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675
```
### Dump ROM as hex file
```bash
picpro dump rom -p /dev/ttyUSB0 -o rom.hex -t 12F675
```
### Dump EEPROM as hex file
```bash
picpro dump eeprom -p /dev/ttyUSB0 -o eeprom.hex -t 12F675
```
### Program chip via ISCP
```bash
picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --icsp
```
### Program chip and override fuses provided from HEX file
```bash
picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --fuse=FUSE_NAME:FUSE_VALUE --fuse=FUSE_NAME:FUSE_VALUE
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Salamek/picpro",
"name": "picpro",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Adam Schubert",
"author_email": "adam.schubert@sg1-game.net",
"download_url": "https://files.pythonhosted.org/packages/a0/d4/320503cc52571b0e0baa477296f85e30f6409c6e9a9a0c6b4e362c0f3638/picpro-0.3.0.tar.gz",
"platform": null,
"description": "# picpro a kitsrus PIC CLI programmer\n\nThis is complete rewrite of kitsrus_pic_programmer into Python 3 + bunch of fixes and features.\n\n[](https://github.com/Salamek/picpro/actions/workflows/python-test.yml)\n\n## Supported kitsrus programmers\n * K128\n * K149-A\n * K149-B\n * K150 (Tested)\n \nSee http://www.kitsrus.com/pic.html\n \n\n## Installation\n\n### PIP (pip3 on some distros)\n\n```\npip install picpro\n```\n\n### Repository\nYou can also use these repositories maintained by me\n#### Debian and derivatives\n\nAdd repository by running these commands\n\n```\n$ wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg\n$ echo \"deb [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main\" | sudo tee /etc/apt/sources.list.d/salamek.cz.list\n```\n\nAnd then you can install a package picpro\n\n```\n$ apt update && apt install picpro\n```\n\n#### Archlinux\n\nAdd repository by adding this at end of file /etc/pacman.conf\n\n```\n[salamek]\nServer = https://repository.salamek.cz/arch/pub/any\nSigLevel = Optional\n```\n\nand then install by running\n\n```\n$ pacman -Sy picpro\n```\n\n\n## Usage\n\n```\nCommand details:\n program Program PIC chip.\n verify Verify PIC flash.\n dump Dump PIC data as binary.\n erase Erase PIC.\n chipinfo Prints chipinfo as JSON in terminal.\n hexinfo Prints information about hexfile.\n\nUsage:\n picpro program -p PORT -i HEX_FILE -t PIC_TYPE [--id=PIC_ID] [--fuse=FUSE_NAME:FUSE_VALUE...] [--icsp]\n picpro verify -p PORT -i HEX_FILE -t PIC_TYPE [--icsp]\n picpro erase -p PORT -t PIC_TYPE [--icsp]\n picpro dump <mem_type> -p PORT -o HEX_FILE -t PIC_TYPE [--icsp] [--binary]\n picpro chipinfo [<PIC_TYPE>]\n picpro hexinfo <HEX_FILE> <PIC_TYPE>\n picpro (-h | --help)\n\n\nOptions:\n --icsp Enable ISCP programming.\n --fuse=FUSE_NAME:FUSE_VALUE Set fuse value directly.\n --id=PIC_ID Set PIC id to be programmed in pic.\n -p PORT --port=PORT Set serial port where programmer is connected.\n -t PIC_TYPE --pic_type=PIC_TYPE Pic type you are programming/reading.\n -i HEX_FILE --hex_file=HEX_FILE Hex file to flash or to read.\n -o HEX_FILE --hex_file=HEX_FILE Hex file to write.\n --binary Input/Output file is in binary.\n\n```\n\n### Program chip\n\n```bash\npicpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675\n```\n\n### Verify chip program\n\n```bash\npicpro verify -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675\n```\n\n### Dump ROM as hex file\n\n```bash\npicpro dump rom -p /dev/ttyUSB0 -o rom.hex -t 12F675\n```\n\n### Dump EEPROM as hex file\n\n```bash\npicpro dump eeprom -p /dev/ttyUSB0 -o eeprom.hex -t 12F675\n```\n\n### Program chip via ISCP\n\n```bash\npicpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --icsp\n```\n\n### Program chip and override fuses provided from HEX file\n\n```bash\npicpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --fuse=FUSE_NAME:FUSE_VALUE --fuse=FUSE_NAME:FUSE_VALUE\n```\n",
"bugtrack_url": null,
"license": "LGPL-3.0",
"summary": "picpro a kitsrus PIC CLI programmer",
"version": "0.3.0",
"project_urls": {
"Homepage": "https://github.com/Salamek/picpro",
"Release notes": "https://github.com/Salamek/picpro/releases"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a0d4320503cc52571b0e0baa477296f85e30f6409c6e9a9a0c6b4e362c0f3638",
"md5": "3b3a0f44fcbd9e744caffe6e3713c24b",
"sha256": "51ba4000f500cffada10e38657c120471e40ebd21673f10a3ea13a1e2d3df4cf"
},
"downloads": -1,
"filename": "picpro-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "3b3a0f44fcbd9e744caffe6e3713c24b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 40119,
"upload_time": "2025-02-02T13:23:36",
"upload_time_iso_8601": "2025-02-02T13:23:36.891063Z",
"url": "https://files.pythonhosted.org/packages/a0/d4/320503cc52571b0e0baa477296f85e30f6409c6e9a9a0c6b4e362c0f3638/picpro-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-02 13:23:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Salamek",
"github_project": "picpro",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "picpro"
}