====================================================================================================
Python-Based UPDI Driver for Programming New tinyAVR and megaAVR Devices
====================================================================================================

----------------------------------------------------------------------------------------------------
pyupdi and all its files are not part of the eCxx library and are not covered by eCxx licenses.
----------------------------------------------------------------------------------------------------

Please refer to this resource for more details:

    https://github.com/mraardvark/pyupdi

----------------------------------------------------------------------------------------------------
pyupdi utility is licensed under term of the MIT License. Please refer to LICENSE file for more
details.
----------------------------------------------------------------------------------------------------


====================================================================================================
Usage Examples
====================================================================================================

----------------------
Get device information
----------------------

python3 pyupdi.py -d mega4808 -c /dev/ttyUSB0 -b 115200 -i

~~~~~~~~~~~~~~
Example output
~~~~~~~~~~~~~~

Device info: {'family': 'megaAVR', 'nvm': 'P:0', 'ocd': 'D:1', 'osc': '3', 'device_id': '1E9650', 'device_rev': '0.1'}


----------
Read fuses
----------

python3 pyupdi.py -d mega4808 -c /dev/ttyUSB0 -b 115200 -fr

~~~~~~~~~~~~~~
Example output
~~~~~~~~~~~~~~

Device info: {'family': 'megaAVR', 'nvm': 'P:0', 'ocd': 'D:1', 'osc': '3', 'device_id': '1E9650', 'device_rev': '0.1'}
Fuse:Value
0:0x00
1:0x00
2:0x01
3:0xFF
4:0x00
5:0xC9
6:0x07
7:0x00
8:0x00
9:0xFF
10:0xC5


-------------------
Upload user program
-------------------

python3 pyupdi.py -d mega4808 -c /dev/ttyUSB0 -b 115200 -f my_program.hex

~~~~~~~~~~~~~~
Example output
~~~~~~~~~~~~~~

Device info: {'family': 'megaAVR', 'nvm': 'P:0', 'ocd': 'D:1', 'osc': '3', 'device_id': '1E9650', 'device_rev': '0.1'}
Programming successful


====================================================================================================
