summaryrefslogtreecommitdiffstats
path: root/contrib/cp210x-program/README
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cp210x-program/README')
-rw-r--r--contrib/cp210x-program/README92
1 files changed, 92 insertions, 0 deletions
diff --git a/contrib/cp210x-program/README b/contrib/cp210x-program/README
new file mode 100644
index 0000000..2ac42a1
--- /dev/null
+++ b/contrib/cp210x-program/README
@@ -0,0 +1,92 @@
+
+ cp210x-program
+ ==============
+
+ATTENTION: THIS VERSION OF cp210x-program IS NOT FULLY TESTED. IT MAY RENDER
+ YOUR CP210x USELESS OR DESTROY IT.
+
+Be aware that the current version is only tested on CP2102.
+
+The goal of this library is to provide access to the EEPROM of an Silabs CP210x
+under Linux.
+
+The CP210x is an USB-to-serial chip used in a lot of USB devices (similar to
+FTDIs and PL2303). The CP210x has a EEPROM on the chip which can be programmed
+via USB. Silabs provides already a library and gui programm to program this
+EEPROM, but only for windows.
+
+This project uses results from monitoring the USB bus when the windows library
+programms an CP210x. The windows library was not disassembled for this protocol
+analysis.
+
+When the programm is finished, a later goal would be to provide a library which
+can be used to access further functions of the CP210x like the general IO pins
+of the CP2103. The goal is not to provide an tty driver, such driver exists
+already for linux and BSD.
+
+Version: 0.1
+Author: Johannes Hölzl <johannes.hoelzl@gmx.de>
+
+Dependencies
+------------
+
+ * Python >= 2.4
+ * ctypes >= 0.9 (only when Python 2.4 is used)
+ * libusb 0.1
+
+Since libusb is available on most Linux, Mac OS X and FreeBSD cp210x-program
+should run flawlessly on these platforms. Currently it is only tested on
+Linux 2.6 (Ubuntu).
+
+If cp210x-program should run as non-root user, add the udev rule found in
+doc/45-cp210x-programming.rules to /etc/udev/rules.d. When devices with already
+programmed IDs are reprogrammed at this IDs to 45-cp210x-programming.rules.
+
+Usage
+-----
+
+Read EEPROM content into hexfile:
+$ cp210x-program --read-cp210x -F eeprom-content.hex
+
+Show EEPROM content from device 002 on bus 001:
+$ cp210x-program --read-cp210x -m 001/002
+
+Write some data to device with vendor id 0x10C4 and product id 0xEA62:
+$ cp210x-program --write-cp210x -m 10C4:EA62 \
+ --set-product-string="Product String" \
+ --set-max-power=100 \
+ --set-bus-powered=no
+
+TODO
+----
+
+ * Test on other than CP2102
+
+ * Implement CP2103 GIOP settings
+
+ * Implement GUI
+
+Links
+-----
+
+ * CP210x Product page on Silicon Labs:
+ http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/Interface/en/interface.htm
+
+ * AN114 Customization Guide:
+ http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an144.pdf
+ http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/Interface/en/an144sw.zip
+
+ * AN205 CP210x Baudrate Guide:
+ http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an205.pdf
+ http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/en/AN205SW.zip
+
+ * AN223 Port Configuration and GPIO for CP210x
+ http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an223.pdf
+ http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/Interface/en/AN223SW.zip
+
+License
+-------
+
+The python package 'cp210x' and the python script 'cp210x-program' are provided
+under the terms of the GNU LGPL. See LICENSE.
+