diff --git a/Doc/Doxygen/html/Page_14443AReader.html b/Doc/Doxygen/html/Page_14443AReader.html
index 30915f6..a88cd2d 100644
--- a/Doc/Doxygen/html/Page_14443AReader.html
+++ b/Doc/Doxygen/html/Page_14443AReader.html
@@ -160,7 +160,7 @@ Each of the following commands returns INVALID COMMAND USAGE on a n
1.8.11
diff --git a/Doc/Doxygen/html/Page_Buttons.html b/Doc/Doxygen/html/Page_Buttons.html
index 56615c9..e5cd69b 100644
--- a/Doc/Doxygen/html/Page_Buttons.html
+++ b/Doc/Doxygen/html/Page_Buttons.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_CommandLine.html b/Doc/Doxygen/html/Page_CommandLine.html
index 3aa0431..092d4c2 100644
--- a/Doc/Doxygen/html/Page_CommandLine.html
+++ b/Doc/Doxygen/html/Page_CommandLine.html
@@ -284,7 +284,7 @@ When setting the timeout to zero, there is no timeout and thus a process may con
1.8.11
diff --git a/Doc/Doxygen/html/Page_Configurations.html b/Doc/Doxygen/html/Page_Configurations.html
index c347b18..b91afb1 100644
--- a/Doc/Doxygen/html/Page_Configurations.html
+++ b/Doc/Doxygen/html/Page_Configurations.html
@@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_GettingStarted.html b/Doc/Doxygen/html/Page_GettingStarted.html
index 175d301..d2a980d 100644
--- a/Doc/Doxygen/html/Page_GettingStarted.html
+++ b/Doc/Doxygen/html/Page_GettingStarted.html
@@ -91,25 +91,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
In either way, the ChameleonMini now jumps to the bootloader and waits patiently for a firmware upgrade.
Once the ChameleonMini is in the bootloader, you can flash a new firmware, i.e., the files Chameleon-Mini.hex and the Chameleon-Mini.eep, into the microcontroller. The source code directory contains these files precompiled but you can of course also compile the code yourself. Create a new folder and copy the two files into it. The following depends on your operating system:
+Once the ChameleonMini is in the bootloader, you can flash a new firmware, i.e., the files Chameleon-Mini.hex and the Chameleon-Mini.eep, into the microcontroller. The source code directory contains these files precompiled but you can of course also compile the code yourself. Create a new folder and copy the two files into it. The following depends on your operating system:
In order to upgrade the firmware under Linux you first have to install avrdude, e.g. under Ubuntu with the command sudo apt-get install avra avrdude. Then change to the directory where you have saved the hex and eep files and run sudo avrdude -c flip2 -p ATXMega128A4U -B 60 -P usb -U application:w:Chameleon-Mini.hex:i -U eeprom:w:Chameleon-Mini.eep:i.
You also can use sudo make program in the source code directory, which basically does the same.
After running this command you need to restart your Chameleon, e.g. by reattaching the Chameleon to the PC.
+add-apt-repository ppa:pmjdebruijn/avrdude-release, then apt-get update and finally apt-get install avrdude to upgrade to a version of avrdude that supports flip2.When running Homebrew you can install avrdude with brew install avrdude. After this, change to the directory where you have saved the hex and eep files and run sudo avrdude -c flip2 -p ATXMega128A4U -B 60 -P usb -U application:w:Chameleon-Mini.hex:i -U eeprom:w:Chameleon-Mini.eep:i.
For upgrading the firmware under Windows please
dfu-prog-usb-1.2.2. Install the atmel_usb_dfu.inf driver (right click -> install).dfu-programmer.exe from the extraction directory to the directory where you have saved the hex and eep files.ChameleonFirmwareUpgrade.bat as Administrator (right click -> run as Administrator) and wait for the firmware upgrade to terminate. Upon success, the green LED of the ChameleonMini should light up.Finally, install the driver for Chameleon: Download both ChameleonDriver.inf and ChameleonDriver.cat from the Drivers directory and install the INF file (right click -> install).
-Now, Chameleon should appear in the Windows device manager and you should be able to open a terminal program such as TeraTerm and connect to the Chameleon-Mini via the COM port shown in the device manager. Further information about how to "talk" to the Chameleon can be found here: The Chameleon Command Structure.
+Finally, install the driver for Chameleon: Download both ChameleonDriver.inf and ChameleonDriver.cat from the Drivers directory and install the INF file (right click -> install).
+Now, Chameleon should appear in the Windows device manager and you should be able to open a terminal program such as TeraTerm and connect to the Chameleon-Mini via the COM port shown in the device manager. On Mac or Linux you can use screen (screen /dev/tty.usbmodem1421, please replace your device path with the appropriate one) to communicate with your Chameleon. Further information about how to "talk" to the Chameleon can be found here: The Chameleon Command Structure.
1.8.11
diff --git a/Doc/Doxygen/html/Page_LED.html b/Doc/Doxygen/html/Page_LED.html
index 82ebc03..78807b9 100644
--- a/Doc/Doxygen/html/Page_LED.html
+++ b/Doc/Doxygen/html/Page_LED.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_LEDs.html b/Doc/Doxygen/html/Page_LEDs.html
index b849adf..acc5fb2 100644
--- a/Doc/Doxygen/html/Page_LEDs.html
+++ b/Doc/Doxygen/html/Page_LEDs.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_Log.html b/Doc/Doxygen/html/Page_Log.html
index c78daa0..abdf70d 100644
--- a/Doc/Doxygen/html/Page_Log.html
+++ b/Doc/Doxygen/html/Page_Log.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_Settings.html b/Doc/Doxygen/html/Page_Settings.html
index 1437c46..8051756 100644
--- a/Doc/Doxygen/html/Page_Settings.html
+++ b/Doc/Doxygen/html/Page_Settings.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/Page_UploadingDownloading.html b/Doc/Doxygen/html/Page_UploadingDownloading.html
index aee6649..017a3b1 100644
--- a/Doc/Doxygen/html/Page_UploadingDownloading.html
+++ b/Doc/Doxygen/html/Page_UploadingDownloading.html
@@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_antenna_level_8h_source.html b/Doc/Doxygen/html/_antenna_level_8h_source.html
index da44422..ceee645 100644
--- a/Doc/Doxygen/html/_antenna_level_8h_source.html
+++ b/Doc/Doxygen/html/_antenna_level_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_application_8h_source.html b/Doc/Doxygen/html/_application_8h_source.html
index 5d30513..5475282 100644
--- a/Doc/Doxygen/html/_application_8h_source.html
+++ b/Doc/Doxygen/html/_application_8h_source.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_battery_8h_source.html b/Doc/Doxygen/html/_battery_8h_source.html
index 0f26d8a..60acf7d 100644
--- a/Doc/Doxygen/html/_battery_8h_source.html
+++ b/Doc/Doxygen/html/_battery_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_button_8h_source.html b/Doc/Doxygen/html/_button_8h_source.html
index 4a30bf9..fcdee4b 100644
--- a/Doc/Doxygen/html/_button_8h_source.html
+++ b/Doc/Doxygen/html/_button_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_buttons_8txt.html b/Doc/Doxygen/html/_buttons_8txt.html
index fc87c0c..feab581 100644
--- a/Doc/Doxygen/html/_buttons_8txt.html
+++ b/Doc/Doxygen/html/_buttons_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_chameleon-_mini_8h_source.html b/Doc/Doxygen/html/_chameleon-_mini_8h_source.html
index 6d545f1..0e10f19 100644
--- a/Doc/Doxygen/html/_chameleon-_mini_8h_source.html
+++ b/Doc/Doxygen/html/_chameleon-_mini_8h_source.html
@@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_codec_8h_source.html b/Doc/Doxygen/html/_codec_8h_source.html
index 07f1d59..b9b84df 100644
--- a/Doc/Doxygen/html/_codec_8h_source.html
+++ b/Doc/Doxygen/html/_codec_8h_source.html
@@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_command_line_8h_source.html b/Doc/Doxygen/html/_command_line_8h_source.html
index 5347462..c5ecf30 100644
--- a/Doc/Doxygen/html/_command_line_8h_source.html
+++ b/Doc/Doxygen/html/_command_line_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_command_line_8txt.html b/Doc/Doxygen/html/_command_line_8txt.html
index d7fc2ff..98c11ee 100644
--- a/Doc/Doxygen/html/_command_line_8txt.html
+++ b/Doc/Doxygen/html/_command_line_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_commands_8h_source.html b/Doc/Doxygen/html/_commands_8h_source.html
index 8a6047c..d37644b 100644
--- a/Doc/Doxygen/html/_commands_8h_source.html
+++ b/Doc/Doxygen/html/_commands_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_common_8h_source.html b/Doc/Doxygen/html/_common_8h_source.html
index dac4861..e7cf3fc 100644
--- a/Doc/Doxygen/html/_common_8h_source.html
+++ b/Doc/Doxygen/html/_common_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_configuration_8h.html b/Doc/Doxygen/html/_configuration_8h.html
index 81c8a9a..6539673 100644
--- a/Doc/Doxygen/html/_configuration_8h.html
+++ b/Doc/Doxygen/html/_configuration_8h.html
@@ -104,7 +104,7 @@ Classes
1.8.11
diff --git a/Doc/Doxygen/html/_configuration_8h_source.html b/Doc/Doxygen/html/_configuration_8h_source.html
index 3157971..dba0820 100644
--- a/Doc/Doxygen/html/_configuration_8h_source.html
+++ b/Doc/Doxygen/html/_configuration_8h_source.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_configurations_8txt.html b/Doc/Doxygen/html/_configurations_8txt.html
index 04d4df5..bbf72df 100644
--- a/Doc/Doxygen/html/_configurations_8txt.html
+++ b/Doc/Doxygen/html/_configurations_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_crypto1_8h_source.html b/Doc/Doxygen/html/_crypto1_8h_source.html
index 2c8af7a..89a6d65 100644
--- a/Doc/Doxygen/html/_crypto1_8h_source.html
+++ b/Doc/Doxygen/html/_crypto1_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_getting_started_8txt.html b/Doc/Doxygen/html/_getting_started_8txt.html
index a4301e2..13872ee 100644
--- a/Doc/Doxygen/html/_getting_started_8txt.html
+++ b/Doc/Doxygen/html/_getting_started_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html b/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html
index b9cfba2..822241b 100644
--- a/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html
+++ b/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html b/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html
index 15dd227..fba3119 100644
--- a/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html
+++ b/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_e_d_8h_source.html b/Doc/Doxygen/html/_l_e_d_8h_source.html
index f5dfdf1..02ef962 100644
--- a/Doc/Doxygen/html/_l_e_d_8h_source.html
+++ b/Doc/Doxygen/html/_l_e_d_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_e_d_8txt.html b/Doc/Doxygen/html/_l_e_d_8txt.html
index 9b6faf8..aec48b4 100644
--- a/Doc/Doxygen/html/_l_e_d_8txt.html
+++ b/Doc/Doxygen/html/_l_e_d_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_e_d_hook_8h_source.html b/Doc/Doxygen/html/_l_e_d_hook_8h_source.html
index 073995d..c57ba3e 100644
--- a/Doc/Doxygen/html/_l_e_d_hook_8h_source.html
+++ b/Doc/Doxygen/html/_l_e_d_hook_8h_source.html
@@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_e_ds_8txt.html b/Doc/Doxygen/html/_l_e_ds_8txt.html
index 74c7bb5..892d1fb 100644
--- a/Doc/Doxygen/html/_l_e_ds_8txt.html
+++ b/Doc/Doxygen/html/_l_e_ds_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_u_f_a_config_8h.html b/Doc/Doxygen/html/_l_u_f_a_config_8h.html
index 0c67084..8f8685c 100644
--- a/Doc/Doxygen/html/_l_u_f_a_config_8h.html
+++ b/Doc/Doxygen/html/_l_u_f_a_config_8h.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_l_u_f_a_config_8h_source.html b/Doc/Doxygen/html/_l_u_f_a_config_8h_source.html
index b143438..1e37f87 100644
--- a/Doc/Doxygen/html/_l_u_f_a_config_8h_source.html
+++ b/Doc/Doxygen/html/_l_u_f_a_config_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Go to the documentation of this file.
1.8.11
diff --git a/Doc/Doxygen/html/_l_u_f_a_descriptors_8c.html b/Doc/Doxygen/html/_l_u_f_a_descriptors_8c.html
index d1b1316..23dcfed 100644
--- a/Doc/Doxygen/html/_l_u_f_a_descriptors_8c.html
+++ b/Doc/Doxygen/html/_l_u_f_a_descriptors_8c.html
@@ -218,7 +218,7 @@ Variables
1.8.11
diff --git a/Doc/Doxygen/html/_l_u_f_a_descriptors_8h.html b/Doc/Doxygen/html/_l_u_f_a_descriptors_8h.html
index d3cdafc..5efc1bc 100644
--- a/Doc/Doxygen/html/_l_u_f_a_descriptors_8h.html
+++ b/Doc/Doxygen/html/_l_u_f_a_descriptors_8h.html
@@ -226,7 +226,7 @@ Functions
1.8.11
diff --git a/Doc/Doxygen/html/_l_u_f_a_descriptors_8h_source.html b/Doc/Doxygen/html/_l_u_f_a_descriptors_8h_source.html
index f15e2ad..ed8cb1c 100644
--- a/Doc/Doxygen/html/_l_u_f_a_descriptors_8h_source.html
+++ b/Doc/Doxygen/html/_l_u_f_a_descriptors_8h_source.html
@@ -94,7 +94,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_log_8h.html b/Doc/Doxygen/html/_log_8h.html
index e28038b..7f1ebc7 100644
--- a/Doc/Doxygen/html/_log_8h.html
+++ b/Doc/Doxygen/html/_log_8h.html
@@ -183,7 +183,7 @@ Enumerations
1.8.11
diff --git a/Doc/Doxygen/html/_log_8h_source.html b/Doc/Doxygen/html/_log_8h_source.html
index e1f08d5..bd1edc2 100644
--- a/Doc/Doxygen/html/_log_8h_source.html
+++ b/Doc/Doxygen/html/_log_8h_source.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_log_8txt.html b/Doc/Doxygen/html/_log_8txt.html
index b1a7631..f40b817 100644
--- a/Doc/Doxygen/html/_log_8txt.html
+++ b/Doc/Doxygen/html/_log_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_main_page_8txt.html b/Doc/Doxygen/html/_main_page_8txt.html
index f35e48f..a5414c1 100644
--- a/Doc/Doxygen/html/_main_page_8txt.html
+++ b/Doc/Doxygen/html/_main_page_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_map_8h_source.html b/Doc/Doxygen/html/_map_8h_source.html
index 992e2fe..5a5dbaf 100644
--- a/Doc/Doxygen/html/_map_8h_source.html
+++ b/Doc/Doxygen/html/_map_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_memory_8h_source.html b/Doc/Doxygen/html/_memory_8h_source.html
index ad659fa..098576b 100644
--- a/Doc/Doxygen/html/_memory_8h_source.html
+++ b/Doc/Doxygen/html/_memory_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_mifare_classic_8h_source.html b/Doc/Doxygen/html/_mifare_classic_8h_source.html
index 2947268..2b83440 100644
--- a/Doc/Doxygen/html/_mifare_classic_8h_source.html
+++ b/Doc/Doxygen/html/_mifare_classic_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_mifare_ultralight_8h_source.html b/Doc/Doxygen/html/_mifare_ultralight_8h_source.html
index 9a61486..3767a68 100644
--- a/Doc/Doxygen/html/_mifare_ultralight_8h_source.html
+++ b/Doc/Doxygen/html/_mifare_ultralight_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_random_8h_source.html b/Doc/Doxygen/html/_random_8h_source.html
index ba497da..198db9e 100644
--- a/Doc/Doxygen/html/_random_8h_source.html
+++ b/Doc/Doxygen/html/_random_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_reader14443-2_a_8h_source.html b/Doc/Doxygen/html/_reader14443-2_a_8h_source.html
index 79bb453..6a002d8 100644
--- a/Doc/Doxygen/html/_reader14443-2_a_8h_source.html
+++ b/Doc/Doxygen/html/_reader14443-2_a_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_reader14443_a_8h_source.html b/Doc/Doxygen/html/_reader14443_a_8h_source.html
index 8e559aa..29c0077 100644
--- a/Doc/Doxygen/html/_reader14443_a_8h_source.html
+++ b/Doc/Doxygen/html/_reader14443_a_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_reader_8txt.html b/Doc/Doxygen/html/_reader_8txt.html
index 7379547..f5b5da5 100644
--- a/Doc/Doxygen/html/_reader_8txt.html
+++ b/Doc/Doxygen/html/_reader_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_settings_8h.html b/Doc/Doxygen/html/_settings_8h.html
index 8e208b2..771b81e 100644
--- a/Doc/Doxygen/html/_settings_8h.html
+++ b/Doc/Doxygen/html/_settings_8h.html
@@ -107,7 +107,7 @@ Classes
1.8.11
diff --git a/Doc/Doxygen/html/_settings_8h_source.html b/Doc/Doxygen/html/_settings_8h_source.html
index 0ed037a..671422a 100644
--- a/Doc/Doxygen/html/_settings_8h_source.html
+++ b/Doc/Doxygen/html/_settings_8h_source.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_settings_8txt.html b/Doc/Doxygen/html/_settings_8txt.html
index c1fd18a..11b7ce8 100644
--- a/Doc/Doxygen/html/_settings_8txt.html
+++ b/Doc/Doxygen/html/_settings_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_system_8h_source.html b/Doc/Doxygen/html/_system_8h_source.html
index f4e99d6..f43dae9 100644
--- a/Doc/Doxygen/html/_system_8h_source.html
+++ b/Doc/Doxygen/html/_system_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_terminal_8h_source.html b/Doc/Doxygen/html/_terminal_8h_source.html
index 6a31cf8..17f4432 100644
--- a/Doc/Doxygen/html/_terminal_8h_source.html
+++ b/Doc/Doxygen/html/_terminal_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_uploading_downloading_8txt.html b/Doc/Doxygen/html/_uploading_downloading_8txt.html
index 46f3f53..99a1dbb 100644
--- a/Doc/Doxygen/html/_uploading_downloading_8txt.html
+++ b/Doc/Doxygen/html/_uploading_downloading_8txt.html
@@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/_x_modem_8h_source.html b/Doc/Doxygen/html/_x_modem_8h_source.html
index 29d1610..1a6b2d9 100644
--- a/Doc/Doxygen/html/_x_modem_8h_source.html
+++ b/Doc/Doxygen/html/_x_modem_8h_source.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/annotated.html b/Doc/Doxygen/html/annotated.html
index 8c1d5de..f387ca3 100644
--- a/Doc/Doxygen/html/annotated.html
+++ b/Doc/Doxygen/html/annotated.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/classes.html b/Doc/Doxygen/html/classes.html
index 31610da..6df2137 100644
--- a/Doc/Doxygen/html/classes.html
+++ b/Doc/Doxygen/html/classes.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/dir_5de29d499bb29a41092979d00d22c134.html b/Doc/Doxygen/html/dir_5de29d499bb29a41092979d00d22c134.html
index a215da6..cb9592a 100644
--- a/Doc/Doxygen/html/dir_5de29d499bb29a41092979d00d22c134.html
+++ b/Doc/Doxygen/html/dir_5de29d499bb29a41092979d00d22c134.html
@@ -96,7 +96,7 @@ Files
1.8.11
diff --git a/Doc/Doxygen/html/dir_74b6a3b63f61c160c0f14b7a283a4c9b.html b/Doc/Doxygen/html/dir_74b6a3b63f61c160c0f14b7a283a4c9b.html
index f228c8f..c3215e0 100644
--- a/Doc/Doxygen/html/dir_74b6a3b63f61c160c0f14b7a283a4c9b.html
+++ b/Doc/Doxygen/html/dir_74b6a3b63f61c160c0f14b7a283a4c9b.html
@@ -96,7 +96,7 @@ Directories
1.8.11
diff --git a/Doc/Doxygen/html/dir_8465ec698d237f801ae9966d4551fcfa.html b/Doc/Doxygen/html/dir_8465ec698d237f801ae9966d4551fcfa.html
index 05d5a67..f8d1736 100644
--- a/Doc/Doxygen/html/dir_8465ec698d237f801ae9966d4551fcfa.html
+++ b/Doc/Doxygen/html/dir_8465ec698d237f801ae9966d4551fcfa.html
@@ -112,7 +112,7 @@ Files
1.8.11
diff --git a/Doc/Doxygen/html/dir_ddeffaa734f77525428b0dd4068da9cb.html b/Doc/Doxygen/html/dir_ddeffaa734f77525428b0dd4068da9cb.html
index 964c5ca..1b10305 100644
--- a/Doc/Doxygen/html/dir_ddeffaa734f77525428b0dd4068da9cb.html
+++ b/Doc/Doxygen/html/dir_ddeffaa734f77525428b0dd4068da9cb.html
@@ -96,7 +96,7 @@ Files
1.8.11
diff --git a/Doc/Doxygen/html/dir_f5aab302412c0352d69464400cc5ee44.html b/Doc/Doxygen/html/dir_f5aab302412c0352d69464400cc5ee44.html
index c991bed..1408e85 100644
--- a/Doc/Doxygen/html/dir_f5aab302412c0352d69464400cc5ee44.html
+++ b/Doc/Doxygen/html/dir_f5aab302412c0352d69464400cc5ee44.html
@@ -96,7 +96,7 @@ Files
1.8.11
diff --git a/Doc/Doxygen/html/files.html b/Doc/Doxygen/html/files.html
index d4d1881..e397e8d 100644
--- a/Doc/Doxygen/html/files.html
+++ b/Doc/Doxygen/html/files.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/functions.html b/Doc/Doxygen/html/functions.html
index 2655cd5..5cc0269 100644
--- a/Doc/Doxygen/html/functions.html
+++ b/Doc/Doxygen/html/functions.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/functions_vars.html b/Doc/Doxygen/html/functions_vars.html
index 47b6e3c..e387279 100644
--- a/Doc/Doxygen/html/functions_vars.html
+++ b/Doc/Doxygen/html/functions_vars.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals.html b/Doc/Doxygen/html/globals.html
index 3fe85cf..0ab56a3 100644
--- a/Doc/Doxygen/html/globals.html
+++ b/Doc/Doxygen/html/globals.html
@@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals_defs.html b/Doc/Doxygen/html/globals_defs.html
index d2b9b28..19efe64 100644
--- a/Doc/Doxygen/html/globals_defs.html
+++ b/Doc/Doxygen/html/globals_defs.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals_enum.html b/Doc/Doxygen/html/globals_enum.html
index 363a2a1..03aa115 100644
--- a/Doc/Doxygen/html/globals_enum.html
+++ b/Doc/Doxygen/html/globals_enum.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals_eval.html b/Doc/Doxygen/html/globals_eval.html
index 206fd66..3994d76 100644
--- a/Doc/Doxygen/html/globals_eval.html
+++ b/Doc/Doxygen/html/globals_eval.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals_func.html b/Doc/Doxygen/html/globals_func.html
index abbbe29..2536a42 100644
--- a/Doc/Doxygen/html/globals_func.html
+++ b/Doc/Doxygen/html/globals_func.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/globals_vars.html b/Doc/Doxygen/html/globals_vars.html
index e78450e..11b2dd6 100644
--- a/Doc/Doxygen/html/globals_vars.html
+++ b/Doc/Doxygen/html/globals_vars.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/index.html b/Doc/Doxygen/html/index.html
index 1d18ab8..8ac698b 100644
--- a/Doc/Doxygen/html/index.html
+++ b/Doc/Doxygen/html/index.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/pages.html b/Doc/Doxygen/html/pages.html
index f4d512d..0252691 100644
--- a/Doc/Doxygen/html/pages.html
+++ b/Doc/Doxygen/html/pages.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/struct_configuration_type-members.html b/Doc/Doxygen/html/struct_configuration_type-members.html
index a956f17..e10a639 100644
--- a/Doc/Doxygen/html/struct_configuration_type-members.html
+++ b/Doc/Doxygen/html/struct_configuration_type-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/struct_configuration_type.html b/Doc/Doxygen/html/struct_configuration_type.html
index c55ccf8..cf5e2b3 100644
--- a/Doc/Doxygen/html/struct_configuration_type.html
+++ b/Doc/Doxygen/html/struct_configuration_type.html
@@ -322,7 +322,7 @@ Public Attributes
1.8.11
diff --git a/Doc/Doxygen/html/struct_settings_entry_type-members.html b/Doc/Doxygen/html/struct_settings_entry_type-members.html
index 096d918..a4c1110 100644
--- a/Doc/Doxygen/html/struct_settings_entry_type-members.html
+++ b/Doc/Doxygen/html/struct_settings_entry_type-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/struct_settings_entry_type.html b/Doc/Doxygen/html/struct_settings_entry_type.html
index 7b3fa08..1bbf2e2 100644
--- a/Doc/Doxygen/html/struct_settings_entry_type.html
+++ b/Doc/Doxygen/html/struct_settings_entry_type.html
@@ -121,7 +121,7 @@ uint16_t
1.8.11
diff --git a/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t-members.html b/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t-members.html
index 0fe31a1..5fb5208 100644
--- a/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t-members.html
+++ b/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t-members.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t.html b/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t.html
index dc4981e..aa36a20 100644
--- a/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t.html
+++ b/Doc/Doxygen/html/struct_u_s_b___descriptor___configuration__t.html
@@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.11
diff --git a/Doc/DoxygenPages/GettingStarted.txt b/Doc/DoxygenPages/GettingStarted.txt
index 36c1564..95b62e7 100644
--- a/Doc/DoxygenPages/GettingStarted.txt
+++ b/Doc/DoxygenPages/GettingStarted.txt
@@ -17,7 +17,7 @@
*
* Step 2: Upgrade the Firmware
* ===========================
- * Once the ChameleonMini is in the bootloader, you can flash a new firmware, i.e., the files [Chameleon-Mini.hex](https://raw.githubusercontent.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/Chameleon-Mini.hex) and the [Chameleon-Mini.eep](https://raw.githubusercontent.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/Chameleon-Mini.eep), into the microcontroller. The source code directory contains these files precompiled but you can of course also compile the code yourself. Create a new folder and copy the two files into it. The following depends on your operating system:
+ * Once the ChameleonMini is in the bootloader, you can flash a new firmware, i.e., the files [Chameleon-Mini.hex](https://cdn.rawgit.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/Chameleon-Mini.hex) and the [Chameleon-Mini.eep](https://cdn.rawgit.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/Chameleon-Mini.eep), into the microcontroller. The source code directory contains these files precompiled but you can of course also compile the code yourself. Create a new folder and copy the two files into it. The following depends on your operating system:
*
* ## Upgrade Procedure for Linux Users ##
* In order to upgrade the firmware under Linux you first have to install `avrdude`, e.g. under Ubuntu with the command `sudo apt-get install avra avrdude`. Then change to the directory where you have saved the hex and eep files and run `sudo avrdude -c flip2 -p ATXMega128A4U -B 60 -P usb -U application:w:Chameleon-Mini.hex:i -U eeprom:w:Chameleon-Mini.eep:i`.
@@ -26,6 +26,8 @@
*
* After running this command you need to restart your Chameleon, e.g. by reattaching the Chameleon to the PC.
*
+ * \note If you are using Ubuntu 14.04, avrdude may not support flip2. In this case, you can run `add-apt-repository ppa:pmjdebruijn/avrdude-release`, then `apt-get update` and finally `apt-get install avrdude` to upgrade to a version of avrdude that supports flip2.
+ *
* ## Upgrade Procedure for Mac OS Users ##
* When running [Homebrew](https://brew.sh) you can install avrdude with `brew install avrdude`. After this, change to the directory where you have saved the hex and eep files and run `sudo avrdude -c flip2 -p ATXMega128A4U -B 60 -P usb -U application:w:Chameleon-Mini.hex:i -U eeprom:w:Chameleon-Mini.eep:i`.
*
@@ -34,11 +36,11 @@
* -# download https://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip/download and extract to an arbitrary directory. Make sure to use the DFU programmer Version 0.7.2!
* -# Go to the extraction directory and then open the folder `dfu-prog-usb-1.2.2`. Install the `atmel_usb_dfu.inf` driver (right click -> install).
* -# Copy `dfu-programmer.exe` from the extraction directory to the directory where you have saved the hex and eep files.
- * -# Save the [ChameleonFirmwareUpgrade.bat](https://raw.githubusercontent.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/ChameleonFirmwareUpgrade.bat) in the same directory as the hex and eep files.
+ * -# Save the [ChameleonFirmwareUpgrade.bat](https://cdn.rawgit.com/emsec/ChameleonMini/master/Firmware/Chameleon-Mini/ChameleonFirmwareUpgrade.bat) in the same directory as the hex and eep files.
* -# Run the `ChameleonFirmwareUpgrade.bat` as Administrator (right click -> run as Administrator) and wait for the firmware upgrade to terminate. Upon success, the green LED of the ChameleonMini should light up.
*
* Finally, install the driver for Chameleon:
- * Download both [ChameleonDriver.inf](https://raw.githubusercontent.com/emsec/ChameleonMini/master/Driver/ChameleonDriver.inf) and [ChameleonDriver.cat](https://raw.githubusercontent.com/emsec/ChameleonMini/master/Driver/ChameleonDriver.cat) from the Drivers directory and install the INF file (right click -> install).
+ * Download both [ChameleonDriver.inf](https://cdn.rawgit.com/emsec/ChameleonMini/master/Driver/ChameleonDriver.inf) and [ChameleonDriver.cat](https://cdn.rawgit.com/emsec/ChameleonMini/master/Driver/ChameleonDriver.cat) from the Drivers directory and install the INF file (right click -> install).
*
* Now, Chameleon should appear in the Windows device manager and you should be able to open a terminal program such as TeraTerm and connect to the Chameleon-Mini via the COM port shown in the device manager. On Mac or Linux you can use screen (`screen /dev/tty.usbmodem1421`, please replace your device path with the appropriate one) to communicate with your Chameleon. Further information about how to "talk" to the Chameleon can be found here: \ref Page_CommandLine.
*/
diff --git a/Driver/98-ChameleonMini.rules b/Driver/98-ChameleonMini.rules
new file mode 100644
index 0000000..8423bbf
--- /dev/null
+++ b/Driver/98-ChameleonMini.rules
@@ -0,0 +1,2 @@
+# Rule for ChameleonMini RFID Research tool
+ATTRS{product}=="Chameleon-Mini", SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="04b2", GROUP="users", MODE="0666", SYMLINK+="chameleon"
diff --git a/Software/requirements.txt b/Software/requirements.txt
new file mode 100644
index 0000000..f6c1a1f
--- /dev/null
+++ b/Software/requirements.txt
@@ -0,0 +1 @@
+pyserial