0 purchases
pykitinfo 1.1.2.19
pykitinfo
pykitinfo provides information about connected Microchip development kits and tools
Overview
pykitinfo will scan the USB subsystem for connected Microchip development kits, and provide information such as kit name, mounted device, serial port identifier, and extension information.
pykitinfo is available:
install using pip from pypi: https://pypi.org/project/pykitinfo
browse source code on github: https://github.com/microchip-pic-avr-tools/pykitinfo
read API documentation on github: https://microchip-pic-avr-tools.github.io/pykitinfo
pykitinfo currently supports:
all PKOB nano (nEDBG), mEDBG and EDBG kits
Atmel-ICE, Power Debugger, JTAGICE3
PICkit3, PKOB
PICkit4, Snap, PKOB4, PICkit5
MCP2221A
Usage
pykitinfo can be used as a library or as a CLI
Example - simple list of connected kits
pykitinfo
Displays a simple list of kits in the form:
Kit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT
For example:
pykitinfo
Looking for Microchip kits...
Compatible kits detected: 8
Kit MCHP3349011800000000: 'AVR-IoT WA' (ATmega4808) on COM21
Kit MCHP3280021800000000: 'AVR128DA48 Curiosity Nano' (AVR128DA48) on COM17
Kit ATML2241020200000000: 'SAM L21 Xplained Pro' (ATSAML21J18A) on COM34
Kit J41800000000: 'Atmel-ICE CMSIS-DAP' () on N/A
Kit J50200000000: 'Power Debugger CMSIS-DAP' () on N/A
Kit ATML2323040200000000: 'mEDBG' (ATmega328P) on COM26
Kit BUR180115004: 'Explorer 16/32 PICkit on Board' () on N/A
Kit 020063002RYN000091: 'Curiosity Nano Explorer' (N/A) on COM74
Example - simple list of connected kits with specific serial number
pykitinfo -s <serialnumber ending>
Displays a simple list of kits in the form:
Kit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT
For example:
pykitinfo -s 29
Looking for Microchip kits...
Compatible kits detected: 1
Kit MCHP3352011800000029: 'PIC-IoT WA' (PIC24FJ128GA705) on COM22
Example - brief lookup of serial port of connected kit
pykitinfo -b
Displays ONLY the serial port name of a connected kit. This can be useful for command chaining.
For example:
pykitinfo -b -s 123456
COM12
Example - long form list of kits
pykitinfo -l
Displays a JSON formatted list of dictionaries.
For example:
pykitinfo -l
Looking for Microchip kits...
Compatible kits detected: 2
[
{
"debugger": {
"device": "ATmega4808",
"kitname": "AVR-IoT WA",
"product": "nEDBG CMSIS-DAP",
"protocol": "edbg",
"serial_number": "MCHP3349011800000000",
"serial_port": "COM21"
},
"usb": {
"interface": "hid",
"packet_size": 64,
"product_id": 8565,
"product_string": "nEDBG CMSIS-DAP",
"serial_number": "MCHP3349011800000000",
"vendor_id": 1003
}
},
{
"debugger": {
"device": "AVR128DA48",
"kitname": "AVR128DA48 Curiosity Nano",
"product": "nEDBG CMSIS-DAP",
"protocol": "edbg",
"serial_number": "MCHP3280021800000000",
"serial_port": "COM17"
},
"usb": {
"interface": "hid",
"packet_size": 64,
"product_id": 8565,
"product_string": "nEDBG CMSIS-DAP",
"serial_number": "MCHP3280021800000000",
"vendor_id": 1003
}
}
]
Example - library usage
# Example: using pykitinfo as a library
import logging
logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.ERROR)
from pykitinfo import pykitinfo
kits = pykitinfo.detect_all_kits()
for kit in kits:
print("Found kit: '{}'".format(kit['debugger']['kitname']))
Notes for Linux® systems
This package uses pyedbglib and other libraries for USB transport and some udev rules are required. For details see the pyedbglib package: https://pypi.org/project/pyedbglib
Changelog
[1.1.2] - April 2024
Added
DSG-7105 added support for Explorer 16/32 kit
DSG-7181 added support for MCP2221A kits
[1.0.3] - January 2024
Added
DSG-5792 added brief mode for reporting serial port only
DSG-6091 added support for reading out nEDBG extension information
DSG-6444 added support for PICkit 5
Fixed
DSG-5767 fixed unicode output in long mode
DSG-6310 added fault tolerance for non-numeric interface numbers
DSG-7084 fixed crash on Mac when virtual serial port is missing serial number
DSG-7087 added fault tolerance for USB devices missing serial number
[0.4.0] - November 2022
Changed
DSG-5562 added catch-all exception handling in CLI; added return code
DSG-5624 improved port detection using updated pyedbglib (requirement)
DSG-5551 removed metadata tag for Python 3.6
DSG-5450 added metadata tag for Python 3.10
[0.3.1] - December 2021
Added
DSG-3826 PICkit3 support
DSG-3903 WinUSB tools support
DSG-4140 Help updates
DSG-4195 Documentation output
Fixed
DSG-3407 Serial port detection on Xplained Pro
DSG-3409 CLI argument -R
DSG-3410 Xplained Pro kit name reporting
[0.1.2] - May 2021
First public release to PyPi
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.