Metadata-Version: 2.1
Name: silabs-flasher
Version: 0.0.3
Summary: Tool to flash Silicon Labs Wireless Gecko devices.
Home-page: https://github.com/agners/silabs-flasher
Author: Stefan Agner
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Embedded Systems
Requires-Python: >=3.7
Description-Content-Type: text/markdown; charset=UTF-8
License-File: LICENSE.txt
Requires-Dist: bellows
Requires-Dist: xmodem
Requires-Dist: pyserial
Requires-Dist: click
Requires-Dist: pexpect
Provides-Extra: gpio
Requires-Dist: gpiod (>=1.5.3) ; extra == 'gpio'

# Silicon Labs Firmware flashing utility

The `silabs-flasher` utility allows to flash products using the Silicon Labs
Wireless Gecko Series 1 and 2 chips. It makes use of the zigpy bellows library 
to communicate using the EmberZNet Serial Protocol over serial port.

Note: There is also a more capable utilty called [Universal Silicon Labs
Flasher](https://github.com/NabuCasa/universal-silabs-flasher).

## Install

Silicon Labs Flasher is available from PyPI:
```
$ pip install silabs-flasher
```

To use GPIOs to reset the chip (useful on Home Assistant Yellow) make sure to
install with gpiod from PyPI as extra dependency:
```
$ pip install silabs-flasher[gpio]
```

## Usage

Use the info command to check communication with the device and get
information about the current firmware and the bootloader:
```
$ silabs-flasher --device /dev/ttyUSB4 info
Manufacturer: 
Board name: 
EmberZNet version: 6.7.9.0 build 405
bootloader version: 0x1902, nodePlat: 0x04, nodeMicro: 0x18, nodePhy: 0x0f
```

The firmware can be flashed using the `flash` command:
```
$ silabs-flasher --device /dev/ttyUSB4 flash --firmware ncp-uart-sw_679_115200.gbl 
Trying to connect using EZSP...
Launching bootloader in mode recovery mode via EZSP.
Bootloader detected successfully.
Bootloader version: 1.9.2
Starting firmware upload...
Firmware update  [####################################]  100%          
Bootloader reported successful upload.
```

To reset the chip using GPIO use the following arguments:
```
$ silabs-flasher --device /dev/ttyAMA1 --baudrate 115200 flash \
                 --no-ezsp-reset --cm4-gpio-reset \
                 --firmware NabuCasa_EZSP_v6.10.3.0_PA32_ncp-uart-hw_115200.gbl
```
