25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doc/Doxygen/html/search/variables_70.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['productstring',['ProductString',['../_l_u_f_a_descriptors_8c.html#ad68575f70b5d6ab576068eec9d59fafb',1,'LUFADescriptors.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doc/Doxygen/html/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/sync_off.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/sync_on.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/tab_a.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/tab_b.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/tab_h.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Doc/Doxygen/html/tab_s.png
--------------------------------------------------------------------------------
/Doc/Doxygen/html/tabs.css:
--------------------------------------------------------------------------------
1 | .tabs, .tabs2, .tabs3 {
2 | background-image: url('tab_b.png');
3 | width: 100%;
4 | z-index: 101;
5 | font-size: 13px;
6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7 | }
8 |
9 | .tabs2 {
10 | font-size: 10px;
11 | }
12 | .tabs3 {
13 | font-size: 9px;
14 | }
15 |
16 | .tablist {
17 | margin: 0;
18 | padding: 0;
19 | display: table;
20 | }
21 |
22 | .tablist li {
23 | float: left;
24 | display: table-cell;
25 | background-image: url('tab_b.png');
26 | line-height: 36px;
27 | list-style: none;
28 | }
29 |
30 | .tablist a {
31 | display: block;
32 | padding: 0 20px;
33 | font-weight: bold;
34 | background-image:url('tab_s.png');
35 | background-repeat:no-repeat;
36 | background-position:right;
37 | color: #283A5D;
38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39 | text-decoration: none;
40 | outline: none;
41 | }
42 |
43 | .tabs3 .tablist a {
44 | padding: 0 10px;
45 | }
46 |
47 | .tablist a:hover {
48 | background-image: url('tab_h.png');
49 | background-repeat:repeat-x;
50 | color: #fff;
51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52 | text-decoration: none;
53 | }
54 |
55 | .tablist li.current a {
56 | background-image: url('tab_a.png');
57 | background-repeat:repeat-x;
58 | color: #fff;
59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60 | }
61 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/Makefile:
--------------------------------------------------------------------------------
1 | all: refman.pdf
2 |
3 | pdf: refman.pdf
4 |
5 | refman.pdf: clean refman.tex
6 | pdflatex refman
7 | makeindex refman.idx
8 | pdflatex refman
9 | latex_count=5 ; \
10 | while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
11 | do \
12 | echo "Rerunning latex...." ;\
13 | pdflatex refman ;\
14 | latex_count=`expr $$latex_count - 1` ;\
15 | done
16 | makeindex refman.idx
17 | pdflatex refman
18 |
19 |
20 | clean:
21 | rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
22 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_command_line_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_command_line_8txt}{\section{Doxygen\-Pages/\-Command\-Line.txt File Reference}
2 | \label{_command_line_8txt}\index{Doxygen\-Pages/\-Command\-Line.\-txt@{Doxygen\-Pages/\-Command\-Line.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_configurations_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_configurations_8txt}{\section{Doxygen\-Pages/\-Configurations.txt File Reference}
2 | \label{_configurations_8txt}\index{Doxygen\-Pages/\-Configurations.\-txt@{Doxygen\-Pages/\-Configurations.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_d_f_u_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_d_f_u_8txt}{\section{Doxygen\-Pages/\-D\-F\-U.txt File Reference}
2 | \label{_d_f_u_8txt}\index{Doxygen\-Pages/\-D\-F\-U.\-txt@{Doxygen\-Pages/\-D\-F\-U.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_getting_started_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_getting_started_8txt}{\section{Doxygen\-Pages/\-Getting\-Started.txt File Reference}
2 | \label{_getting_started_8txt}\index{Doxygen\-Pages/\-Getting\-Started.\-txt@{Doxygen\-Pages/\-Getting\-Started.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_l_u_f_a_config_8h.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_l_u_f_a_config_8h}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Config.h File Reference}
2 | \label{_l_u_f_a_config_8h}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Config.\-h@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Config.\-h}}
3 | }
4 |
5 |
6 | L\-U\-F\-A Library Configuration Header File.
7 |
8 |
9 |
10 |
11 | \subsection{Detailed Description}
12 | L\-U\-F\-A Library Configuration Header File. This header file is used to configure L\-U\-F\-A's compile time options, as an alternative to the compile time constants supplied through a makefile.
13 |
14 | For information on what each token does, refer to the L\-U\-F\-A manual section \char`\"{}\-Summary of Compile Tokens\char`\"{}.
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_logging_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_logging_8txt}{\section{Doxygen\-Pages/\-Logging.txt File Reference}
2 | \label{_logging_8txt}\index{Doxygen\-Pages/\-Logging.\-txt@{Doxygen\-Pages/\-Logging.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_main_page_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_main_page_8txt}{\section{Doxygen\-Pages/\-Main\-Page.txt File Reference}
2 | \label{_main_page_8txt}\index{Doxygen\-Pages/\-Main\-Page.\-txt@{Doxygen\-Pages/\-Main\-Page.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_page__configurations.tex:
--------------------------------------------------------------------------------
1 | The basic idea of the Chameleon-\/\-Mini was to integrate so-\/called configurations to define the device's behaviour. You can choose the active configuration via the command-\/line using the {\ttfamily C\-O\-N\-F\-I\-G} command (See \hyperlink{Page_CommandLine}{The chameleon command line}).
2 |
3 | Below is a list of the configurations with a brief description of what it is and how it works. In configurations where an actual card is simulated, the card memory has to be uploaded to the Chameleon before accessing it by a reader. This is done using the X-\/\-M\-O\-D\-E\-M protocol on the command-\/line (See \hyperlink{Page_CommandLine}{The chameleon command line}).
4 |
5 | \section*{Configurations }
6 |
7 | \subsection*{{\ttfamily N\-O\-N\-E} }
8 |
9 | The Chameleon's R\-F interface is not activated and it behaves entirely passive.
10 |
11 | \subsection*{{\ttfamily M\-F\-\_\-\-U\-L\-T\-R\-A\-L\-I\-G\-H\-T} / {\ttfamily M\-F\-\_\-\-C\-L\-A\-S\-S\-I\-C\-\_\-1\-K} / {\ttfamily M\-F\-\_\-\-C\-L\-A\-S\-S\-I\-C\-\_\-4\-K} }
12 |
13 | The Chameleon behaves like a Mifare Ultralight or Classic (with 1\-K or 4\-K E\-E\-P\-R\-O\-M).
14 |
15 | The memory layout of these configurations is as shown in the datasheets from N\-X\-P and thus fully compatible with the dumpfiles from libnfc.
16 |
17 | \subsection*{{\ttfamily I\-S\-O14443\-A\-\_\-\-S\-N\-I\-F\-F} / {\ttfamily I\-S\-O15693\-\_\-\-S\-N\-I\-F\-F} }
18 |
19 | These are sniffing configurations, where no answers to any requests from a reader are done. Thus the Chameleon behaves completely passive, which is useful if a second card is present in the reader field. Then this configuration can be used in conjunction with one of the logging modes (See \hyperlink{Page_Logging}{Logging capabilities}) to sniff for data, e.\-g. the U\-I\-D that is sent from the reader to the secondary card.
20 |
21 | Note that especially with the I\-S\-O14443\-A sniffing mode, it may happen that the load modulation of the secondary card trips the codec and thus logs some garbled data.
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_page__firmware_upgrade.tex:
--------------------------------------------------------------------------------
1 | It is possible to upgrade the Firmware using the Atmel D\-F\-U Protocol as defined in application note A\-V\-R1916. With this possible, there is no need to use any other external programming hardware to upgrade the firmware.
2 |
3 | The Atmel D\-F\-U protocol is supported by Atmel's F\-L\-I\-P software, which also contains {\ttfamily batchisp} and the open source software {\ttfamily dfu-\/programmer}. In order to flash a new firmware, the device has to be put into D\-F\-U mode. To do this, you can either use the command-\/line by sending the corresponding command or press the button on the device while powering it up.
4 |
5 | Once the device is in D\-F\-U mode, it enumerates as an A\-Txmega\-X\-Y\-Z U\-S\-B device and can now be accessed using the above mentioned software tools for erasing, programming and verifying a new firmware H\-E\-X file.
6 |
7 | Depending on what tool you are using for the D\-F\-U firmware upgrade, you may have to install the corresponding driver.
8 |
9 | Note that this procedure can easily be implemented in a command-\/line script, diminishing the need for user interaction and speeding up the process. The \char`\"{}make dfu-\/batchisp\char`\"{} or \char`\"{}make dfu-\/prog\char`\"{} command can be used to program the device using batchisp or dfu-\/programmer. Note that in both cases, the directory of the tools executables have to exist in the P\-A\-T\-H environment variable.
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_page__getting_started.tex:
--------------------------------------------------------------------------------
1 | The first thing you should do is to program the fuse bits and the bootloader to the Chameleon-\/\-Mini. Use your preferred tool to set the fuse bits as follows\-:
2 | \begin{DoxyItemize}
3 | \item F\-U\-S\-E1\-: 0x00
4 | \item F\-U\-S\-E2\-: 0x\-B\-E
5 | \item F\-U\-S\-E4\-: 0x\-F\-F
6 | \item F\-U\-S\-E5\-: 0x\-E9
7 | \end{DoxyItemize}
8 |
9 | Next, program the appropriate bootloader from the Firmware/\-Bootloader directory into the chip. The A\-Txmega chip now automatically enumerates with its D\-F\-U bootloader. Now you can use Atmel's F\-L\-I\-P software or the open source dfu-\/programmer to program the Chameleon-\/\-Mini.\-hex/.eep into the F\-L\-A\-S\-H and E\-E\-P\-R\-O\-M using the bootloader. For this you should follow the instructions of the particular D\-F\-U tool. For windows machines, there is an example batch file in the Firmware/\-Chameleon-\/\-Mini directory.
10 |
11 | Once you have got the Chameleon up and running, it should enumerate as the L\-U\-F\-A C\-D\-C device. On windows, you should use the supplied L\-U\-F\-A Virtual\-Serial.\-inf in the Drivers folder. When the installation is successful, a new C\-O\-M port or /dev/tty\-S shows up on your system.
12 |
13 | This serial port is your means of controlling the Chameleon-\/\-Mini from any computer either using a simple terminal emulator, like Tera\-Term or your self-\/crafted scripts and applications.
14 |
15 | More info on how to use the serial interface can be found here\-: \hyperlink{Page_CommandLine}{The chameleon command line}
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_page__logging.tex:
--------------------------------------------------------------------------------
1 | With the implemented logging mechanisms it is possible to trace an access to the Chameleon-\/\-Mini by a reader device.
2 |
3 | Logging is either done via the internal R\-A\-M, where the log can be downloaded from via the terminal or using the terminal line directly. Note that in case of using the internal R\-A\-M for logging the information, the data is only stored until the Chameleon-\/\-Mini loses power. If the memory is full, the logging is disabled automatically.
4 |
5 | The log format is very simple. Every log entry consists of a 1 byte entry identifier, a 1 byte length identifier and an arbitrary sized chunk of binary data with the length given in the byte before.
6 |
7 | \begin{TabularC}{6}
8 | \hline
9 | \rowcolor{lightgray}{\bf Byte 0 }&{\bf Byte 1 }&{\bf Byte 2 }&{\bf Byte 3 }&{\bf ... }&{\bf Byte Length+1 }\\\cline{1-6}
10 | Entry\-Id &Length &Data &Data &Data &Data \\\cline{1-6}
11 | \end{TabularC}
12 | The available Entry Ids are as follows\-: \begin{TabularC}{2}
13 | \hline
14 | \rowcolor{lightgray}{\bf Entry\-Id (Hex) }&{\bf Description }\\\cline{1-2}
15 | 20 &Received data \\\cline{1-2}
16 | 21 &Send data \\\cline{1-2}
17 | 30 &Application reset \\\cline{1-2}
18 | \end{TabularC}
19 | For getting or setting the logging mode, the {\ttfamily L\-O\-G\-M\-O\-D\-E?} respectively {\ttfamily L\-O\-G\-M\-O\-D\-E=$<$M\-O\-D\-E$>$} command can be used on the terminal. For a list of possible logging modes enter {\ttfamily L\-O\-G\-M\-O\-D\-E}.
20 |
21 | In order to get the remaining bytes of the logging memory, the {\ttfamily L\-O\-G\-M\-E\-M?} command is to be used. Using {\ttfamily L\-O\-G\-M\-E\-M=$<$C\-M\-D$>$} it is possible to execute commands on the logging memory, like clearing or downloading it via X\-M\-O\-D\-E\-M. To get a list of the available commands, enter {\ttfamily L\-O\-G\-M\-E\-M}.
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_page__uploading_downloading.tex:
--------------------------------------------------------------------------------
1 | In order to be able to emulate different card contents, one can upload or download the memory used for emulation.
2 |
3 | The layout of the memory dump depends on the chosen configuration and is usually the same as the memory layout of the currently chosen card-\/emulation. The size of the memory dump also depends on the currently chosen configuration and can be requested with a specific command on the command-\/line.
4 |
5 | In order to upload or download a memory dump, the user has to send the corresponding command on the command-\/line first and the Chameleon responds with a status message indicating that it is waiting for an X-\/\-M\-O\-D\-E\-M connection. Depending on whether upload or download is chosen, the Chameleon then waits for 10 seconds to initiate an X-\/\-M\-O\-D\-E\-M receive or send connection.
6 |
7 | When waiting for a receiving X-\/\-M\-O\-D\-E\-M connection, the X-\/\-M\-O\-D\-E\-M N\-A\-K byte is sent upto 20 times with a delay of 500ms in order to establish a standard 128 byte frame-\/size X-\/\-M\-O\-D\-E\-M connection with the simple checksum scheme. Within this time, the user has to get his X-\/\-M\-O\-D\-E\-M client ready and choose the binary file to be uploaded into the memory.
8 |
9 | In case of waiting for an X-\/\-M\-O\-D\-E\-M send connection to establish, a wait time of 10 seconds is performed to receive the X-\/\-M\-O\-D\-E\-M N\-A\-K byte. Within this time, the user has to start the X-\/\-M\-O\-D\-E\-M receiver and set it to the standard 128 byte frame using the simple checksum scheme in order to receive the binary memory dump.
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/_uploading_downloading_8txt.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{_uploading_downloading_8txt}{\section{Doxygen\-Pages/\-Uploading\-Downloading.txt File Reference}
2 | \label{_uploading_downloading_8txt}\index{Doxygen\-Pages/\-Uploading\-Downloading.\-txt@{Doxygen\-Pages/\-Uploading\-Downloading.\-txt}}
3 | }
4 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/annotated.tex:
--------------------------------------------------------------------------------
1 | \section{Class List}
2 | Here are the classes, structs, unions and interfaces with brief descriptions\-:\begin{DoxyCompactList}
3 | \item\contentsline{section}{\hyperlink{struct_u_s_b___descriptor___configuration__t}{U\-S\-B\-\_\-\-Descriptor\-\_\-\-Configuration\-\_\-t} }{\pageref{struct_u_s_b___descriptor___configuration__t}}{}
4 | \end{DoxyCompactList}
5 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/dir_5de29d499bb29a41092979d00d22c134.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{dir_5de29d499bb29a41092979d00d22c134}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Application Directory Reference}
2 | \label{dir_5de29d499bb29a41092979d00d22c134}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Application Directory Reference@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Application Directory Reference}}
3 | }
4 | \subsection*{Files}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | file {\bfseries Application.\-h}
8 | \item
9 | file {\bfseries Crypto1.\-c}
10 | \item
11 | file {\bfseries Crypto1.\-h}
12 | \item
13 | file {\bfseries I\-S\-O14443-\/3\-A.\-c}
14 | \item
15 | file {\bfseries I\-S\-O14443-\/3\-A.\-h}
16 | \item
17 | file {\bfseries Mifare\-Classic.\-c}
18 | \item
19 | file {\bfseries Mifare\-Classic.\-h}
20 | \end{DoxyCompactItemize}
21 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/dir_74b6a3b63f61c160c0f14b7a283a4c9b.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{dir_74b6a3b63f61c160c0f14b7a283a4c9b}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware Directory Reference}
2 | \label{dir_74b6a3b63f61c160c0f14b7a283a4c9b}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware Directory Reference@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware Directory Reference}}
3 | }
4 | \subsection*{Directories}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | directory \hyperlink{dir_8465ec698d237f801ae9966d4551fcfa}{Chameleon-\/\-Mini}
8 | \end{DoxyCompactItemize}
9 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/dir_8465ec698d237f801ae9966d4551fcfa.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{dir_8465ec698d237f801ae9966d4551fcfa}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini Directory Reference}
2 | \label{dir_8465ec698d237f801ae9966d4551fcfa}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini Directory Reference@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini Directory Reference}}
3 | }
4 | \subsection*{Directories}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | directory \hyperlink{dir_5de29d499bb29a41092979d00d22c134}{Application}
8 | \item
9 | directory \hyperlink{dir_f5aab302412c0352d69464400cc5ee44}{Codec}
10 | \item
11 | directory \hyperlink{dir_ddeffaa734f77525428b0dd4068da9cb}{Terminal}
12 | \end{DoxyCompactItemize}
13 | \subsection*{Files}
14 | \begin{DoxyCompactItemize}
15 | \item
16 | file {\bfseries Antenna\-Level.\-h}
17 | \item
18 | file {\bfseries Button.\-c}
19 | \item
20 | file {\bfseries Button.\-h}
21 | \item
22 | file {\bfseries Chameleon-\/\-Mini.\-c}
23 | \item
24 | file {\bfseries Chameleon-\/\-Mini.\-h}
25 | \item
26 | file {\bfseries Common.\-c}
27 | \item
28 | file {\bfseries Common.\-h}
29 | \item
30 | file {\bfseries Configuration.\-c}
31 | \item
32 | file {\bfseries Configuration.\-h}
33 | \item
34 | file {\bfseries L\-E\-D.\-c}
35 | \item
36 | file {\bfseries L\-E\-D.\-h}
37 | \item
38 | file \hyperlink{_l_u_f_a_config_8h}{L\-U\-F\-A\-Config.\-h}
39 | \begin{DoxyCompactList}\small\item\em L\-U\-F\-A Library Configuration Header File. \end{DoxyCompactList}\item
40 | file \hyperlink{_l_u_f_a_descriptors_8c}{L\-U\-F\-A\-Descriptors.\-c}
41 | \item
42 | file \hyperlink{_l_u_f_a_descriptors_8h}{L\-U\-F\-A\-Descriptors.\-h}
43 | \item
44 | file {\bfseries Memory.\-c}
45 | \item
46 | file {\bfseries Memory.\-h}
47 | \item
48 | file {\bfseries Random.\-c}
49 | \item
50 | file {\bfseries Random.\-h}
51 | \item
52 | file {\bfseries Settings.\-c}
53 | \item
54 | file {\bfseries Settings.\-h}
55 | \item
56 | file {\bfseries System.\-c}
57 | \item
58 | file {\bfseries System.\-h}
59 | \end{DoxyCompactItemize}
60 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/dir_ddeffaa734f77525428b0dd4068da9cb.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{dir_ddeffaa734f77525428b0dd4068da9cb}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Terminal Directory Reference}
2 | \label{dir_ddeffaa734f77525428b0dd4068da9cb}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Terminal Directory Reference@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Terminal Directory Reference}}
3 | }
4 | \subsection*{Files}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | file {\bfseries Command\-Line.\-c}
8 | \item
9 | file {\bfseries Command\-Line.\-h}
10 | \item
11 | file {\bfseries Commands.\-c}
12 | \item
13 | file {\bfseries Commands.\-h}
14 | \item
15 | file {\bfseries Terminal.\-c}
16 | \item
17 | file {\bfseries Terminal.\-h}
18 | \item
19 | file {\bfseries X\-Modem.\-c}
20 | \item
21 | file {\bfseries X\-Modem.\-h}
22 | \end{DoxyCompactItemize}
23 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/dir_f5aab302412c0352d69464400cc5ee44.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{dir_f5aab302412c0352d69464400cc5ee44}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Codec Directory Reference}
2 | \label{dir_f5aab302412c0352d69464400cc5ee44}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Codec Directory Reference@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-Codec Directory Reference}}
3 | }
4 | \subsection*{Files}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | file {\bfseries Codec.\-c}
8 | \item
9 | file {\bfseries Codec.\-h}
10 | \item
11 | file {\bfseries I\-S\-O14443-\/2\-A.\-c}
12 | \item
13 | file {\bfseries I\-S\-O14443-\/2\-A.\-h}
14 | \end{DoxyCompactItemize}
15 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/index.tex:
--------------------------------------------------------------------------------
1 | Chameleon is a versatile emulator for I\-S\-O 14443 contactless smartcards. It is meant to be a programmable platform to assess security aspects in R\-F\-I\-D environments and can be used in different attack scenarios like replay or relay attacks and even for emulating an existing smartcard, thus behaving as a perfect clone of a given card.
2 |
3 | The Chameleon Project has been started by the Chair for Embedded Security at the German University in Bochum and has been licensed as open source to let everyone benefit from the work that has been done so far.
4 |
5 | We are always looking forward to any means of contributing or contacting us.
6 |
7 | {\itshape Pages\-:}
8 | \begin{DoxyItemize}
9 | \item \hyperlink{Page_GettingStarted}{Getting Started}
10 | \item \hyperlink{Page_CommandLine}{The chameleon command line}
11 | \item \hyperlink{Page_FirmwareUpgrade}{Device Firmware Upgrade (D\-F\-U)}
12 | \item \hyperlink{Page_UploadingDownloading}{Uploading and Downloading Memory dumps}
13 | \end{DoxyItemize}
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/make.bat:
--------------------------------------------------------------------------------
1 | del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
2 |
3 | pdflatex refman
4 | echo ----
5 | makeindex refman.idx
6 | echo ----
7 | pdflatex refman
8 |
9 | setlocal enabledelayedexpansion
10 | set count=5
11 | :repeat
12 | set content=X
13 | for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" refman.log' ) do set content="%%~T"
14 | if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" refman.log' ) do set content="%%~T"
15 | if !content! == X goto :skip
16 | set /a count-=1
17 | if !count! EQU 0 goto :skip
18 |
19 | echo ----
20 | pdflatex refman
21 | goto :repeat
22 | :skip
23 | endlocal
24 | makeindex refman.idx
25 | pdflatex refman
26 |
--------------------------------------------------------------------------------
/Doc/Doxygen/latex/struct_u_s_b___descriptor___configuration__t.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{struct_u_s_b___descriptor___configuration__t}{\section{U\-S\-B\-\_\-\-Descriptor\-\_\-\-Configuration\-\_\-t Struct Reference}
2 | \label{struct_u_s_b___descriptor___configuration__t}\index{U\-S\-B\-\_\-\-Descriptor\-\_\-\-Configuration\-\_\-t@{U\-S\-B\-\_\-\-Descriptor\-\_\-\-Configuration\-\_\-t}}
3 | }
4 |
5 |
6 | {\ttfamily \#include $<$L\-U\-F\-A\-Descriptors.\-h$>$}
7 |
8 |
9 |
10 | \subsection{Detailed Description}
11 | Type define for the device configuration descriptor structure. This must be defined in the application code, as the configuration descriptor contains several sub-\/descriptors which vary between devices, and which describe the device's usage to the host.
12 |
13 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
14 | \item
15 | C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\hyperlink{_l_u_f_a_descriptors_8h}{L\-U\-F\-A\-Descriptors.\-h}\end{DoxyCompactItemize}
16 |
--------------------------------------------------------------------------------
/Doc/DoxygenPages/DFU.txt:
--------------------------------------------------------------------------------
1 | /** @file */
2 |
3 | /** @page Page_FirmwareUpgrade Device Firmware Upgrade (DFU)
4 | * It is possible to upgrade the Firmware using the Atmel DFU Protocol
5 | * as defined in application note AVR1916. With this possible, there is no need to
6 | * use any other external programming hardware to upgrade the firmware.
7 | *
8 | * The Atmel DFU protocol is supported by Atmel's FLIP software, which also contains
9 | * `batchisp` and the open source software `dfu-programmer`.
10 | * In order to flash a new firmware, the device has to be put into DFU mode.
11 | * To do this, you can either use the command-line by sending the corresponding
12 | * command or press the button on the device while powering it up.
13 | *
14 | * Once the device is in DFU mode, it enumerates as an ATxmegaXYZ USB device and
15 | * can now be accessed using the above mentioned software tools for erasing,
16 | * programming and verifying a new firmware HEX file.
17 | *
18 | * Depending on what tool you are using for the DFU firmware upgrade,
19 | * you may have to install the corresponding driver.
20 | *
21 | * Note that this procedure can easily be implemented in a command-line script,
22 | * diminishing the need for user interaction and speeding up the process.
23 | * The "make dfu-batchisp" or "make dfu-prog" command can be used to program
24 | * the device using batchisp or dfu-programmer.
25 | * Note that in both cases, the directory of the tools executables have to exist
26 | * in the PATH environment variable.
27 | */
28 |
--------------------------------------------------------------------------------
/Doc/DoxygenPages/GettingStarted.txt:
--------------------------------------------------------------------------------
1 | /** @file */
2 |
3 | /** @page Page_GettingStarted Getting Started
4 | * The first thing you should do is to program the fuse bits and the bootloader
5 | * to the Chameleon-Mini.
6 | * Use your preferred tool to set the fuse bits as follows:
7 | *
8 | * - FUSE1: 0x00
9 | * - FUSE2: 0xBE
10 | * - FUSE4: 0xFF
11 | * - FUSE5: 0xE9
12 | *
13 | * Next, program the appropriate bootloader from the Firmware/Bootloader directory into the chip.
14 | * The ATxmega chip now automatically enumerates with its DFU bootloader.
15 | * Now you can use Atmel's FLIP software or the open source dfu-programmer to program the
16 | * Chameleon-Mini.hex/.eep into the FLASH and EEPROM using the bootloader. For this you should
17 | * follow the instructions of the particular DFU tool.
18 | * For windows machines, there is an example batch file in the Firmware/Chameleon-Mini directory.
19 | *
20 | * Once you have got the Chameleon up and running, it should enumerate as the LUFA CDC device.
21 | * On windows, you should use the supplied LUFA VirtualSerial.inf in the Drivers folder.
22 | * When the installation is successful, a new COM port or /dev/ttyS shows up on your system.
23 | *
24 | * This serial port is your means of controlling the Chameleon-Mini from any computer either
25 | * using a simple terminal emulator, like TeraTerm or your self-crafted scripts and applications.
26 | *
27 | * More info on how to use the serial interface can be found here: @ref Page_CommandLine
28 | *
29 | */
--------------------------------------------------------------------------------
/Doc/DoxygenPages/MainPage.txt:
--------------------------------------------------------------------------------
1 | /** @file */
2 |
3 | /** @mainpage
4 | * Chameleon is a versatile emulator for ISO 14443 contactless smartcards.
5 | * It is meant to be a programmable platform to assess security aspects in
6 | * RFID environments and can be used in different attack scenarios like replay
7 | * or relay attacks and even for emulating an existing smartcard,
8 | * thus behaving as a perfect clone of a given card.
9 | *
10 | * The Chameleon Project has been started by the Chair for Embedded Security
11 | * at the German University in Bochum and has been licensed as open source to
12 | * let everyone benefit from the work that has been done so far.
13 | *
14 | * We are always looking forward to any means of contributing or contacting us.
15 | *
16 | * *Pages:*
17 | *
18 | * - @subpage Page_GettingStarted
19 | * - @subpage Page_CommandLine
20 | * - @subpage Page_FirmwareUpgrade
21 | * - @subpage Page_UploadingDownloading
22 | */
--------------------------------------------------------------------------------
/Doc/DoxygenPages/UploadingDownloading.txt:
--------------------------------------------------------------------------------
1 | /** @file */
2 |
3 | /** @page Page_UploadingDownloading Uploading and Downloading Memory dumps
4 | * In order to be able to emulate different card contents, one can upload or download
5 | * the memory used for emulation.
6 | *
7 | * The layout of the memory dump depends on the chosen configuration and is usually
8 | * the same as the memory layout of the currently chosen card-emulation.
9 | * The size of the memory dump also depends on the currently chosen configuration
10 | * and can be requested with a specific command on the command-line.
11 | *
12 | * In order to upload or download a memory dump, the user has to send the
13 | * corresponding command on the command-line first and the Chameleon responds
14 | * with a status message indicating that it is waiting for an X-MODEM connection.
15 | * Depending on whether upload or download is chosen, the Chameleon then waits
16 | * for 10 seconds to initiate an X-MODEM receive or send connection.
17 | *
18 | * When waiting for a receiving X-MODEM connection, the X-MODEM NAK byte is sent
19 | * upto 20 times with a delay of 500ms in order to establish
20 | * a standard 128 byte frame-size X-MODEM connection with the simple checksum scheme.
21 | * Within this time, the user has to get his X-MODEM client ready and choose the
22 | * binary file to be uploaded into the memory.
23 | *
24 | * In case of waiting for an X-MODEM send connection to establish, a wait time
25 | * of 10 seconds is performed to receive the X-MODEM NAK byte. Within this time,
26 | * the user has to start the X-MODEM receiver and set it to the standard 128 byte
27 | * frame using the simple checksum scheme in order to receive the binary memory dump.
28 | */
--------------------------------------------------------------------------------
/Doc/Fuses.txt:
--------------------------------------------------------------------------------
1 | FUSE1: 0x00
2 | FUSE2: 0xBE
3 | FUSE4: 0xFF
4 | FUSE5: 0xE9
--------------------------------------------------------------------------------
/Doc/StartDoxygen.bat:
--------------------------------------------------------------------------------
1 | doxygen
--------------------------------------------------------------------------------
/Drivers/LUFA VirtualSerial.inf:
--------------------------------------------------------------------------------
1 | ;************************************************************
2 | ; Windows USB CDC ACM Setup File
3 | ; Copyright (c) 2000 Microsoft Corporation
4 | ;************************************************************
5 |
6 | [Version]
7 | Signature="$Windows NT$"
8 | Class=Ports
9 | ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
10 | Provider=%MFGNAME%
11 | DriverVer=7/1/2012,10.0.0.0
12 |
13 | [Manufacturer]
14 | %MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
15 |
16 | [SourceDisksNames]
17 |
18 | [SourceDisksFiles]
19 |
20 | [DestinationDirs]
21 | DefaultDestDir=12
22 |
23 | [DriverInstall]
24 | Include=mdmcpq.inf
25 | CopyFiles=FakeModemCopyFileSection
26 | AddReg=DriverInstall.AddReg
27 |
28 | [DriverInstall.Services]
29 | Include=mdmcpq.inf
30 | AddService=usbser, 0x00000002, LowerFilter_Service_Inst
31 |
32 | [DriverInstall.AddReg]
33 | HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider"
34 |
35 | ;------------------------------------------------------------------------------
36 | ; Vendor and Product ID Definitions
37 | ;------------------------------------------------------------------------------
38 | ; When developing your USB device, the VID and PID used in the PC side
39 | ; application program and the firmware on the microcontroller must match.
40 | ; Modify the below line to use your VID and PID. Use the format as shown below.
41 | ; Note: One INF file can be used for multiple devices with different VID and PIDs.
42 | ; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
43 | ;------------------------------------------------------------------------------
44 | [DeviceList]
45 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
46 |
47 | [DeviceList.NTx86]
48 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
49 |
50 | [DeviceList.NTamd64]
51 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
52 |
53 | [DeviceList.NTia64]
54 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
55 |
56 | ;------------------------------------------------------------------------------
57 | ; String Definitions
58 | ;------------------------------------------------------------------------------
59 | ;Modify these strings to customize your device
60 | ;------------------------------------------------------------------------------
61 | [Strings]
62 | MFGNAME="http://www.lufa-lib.org"
63 | DESCRIPTION="LUFA CDC-ACM Virtual Serial Port"
--------------------------------------------------------------------------------
/Dumps/MifareClassic1K.mfd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Dumps/MifareClassic1K.mfd
--------------------------------------------------------------------------------
/Dumps/MifareUltralight.mfd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Dumps/MifareUltralight.mfd
--------------------------------------------------------------------------------
/EAGLE/Chameleon-Mini-RevE-2.brd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/EAGLE/Chameleon-Mini-RevE-2.brd
--------------------------------------------------------------------------------
/EAGLE/Chameleon-Mini-RevE-2.sch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/EAGLE/Chameleon-Mini-RevE-2.sch
--------------------------------------------------------------------------------
/EAGLE/Chameleon-Mini-RevE.brd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/EAGLE/Chameleon-Mini-RevE.brd
--------------------------------------------------------------------------------
/EAGLE/Chameleon-Mini-RevE.sch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/EAGLE/Chameleon-Mini-RevE.sch
--------------------------------------------------------------------------------
/Firmware/.gitignore:
--------------------------------------------------------------------------------
1 | /.metadata
2 |
--------------------------------------------------------------------------------
/Firmware/Atmel DFU Bootloader/ASF-License.txt:
--------------------------------------------------------------------------------
1 | * Redistribution and use in source and binary forms, with or without
2 | * modification, are permitted provided that the following conditions are met:
3 | *
4 | * 1. Redistributions of source code must retain the above copyright notice,
5 | * this list of conditions and the following disclaimer.
6 | *
7 | * 2. Redistributions in binary form must reproduce the above copyright notice,
8 | * this list of conditions and the following disclaimer in the documentation
9 | * and/or other materials provided with the distribution.
10 | *
11 | * 3. The name of Atmel may not be used to endorse or promote products derived
12 | * from this software without specific prior written permission.
13 | *
14 | * 4. This software may only be redistributed and used in connection with an
15 | * Atmel microcontroller product.
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
18 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20 | * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
21 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 | * POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/.gitignore:
--------------------------------------------------------------------------------
1 | /Bin
2 |
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Chameleon-Mini
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.core.ccnature
24 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
26 |
27 |
28 |
29 | Doxyfile
30 | 1
31 | PARENT-2-PROJECT_LOC/Doc/Doxyfile
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/AntennaLevel.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/AntennaLevel.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/Application.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/Application.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/Crypto1.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/Crypto1.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/Crypto1.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/Crypto1.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/ISO14443-3A.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/ISO14443-3A.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/ISO14443-3A.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/ISO14443-3A.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/MifareClassic.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/MifareClassic.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Application/MifareClassic.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Application/MifareClassic.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Button.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Button.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Button.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Button.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Chameleon-Mini.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Chameleon-Mini.bin
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Chameleon-Mini.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Chameleon-Mini.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Chameleon-Mini.eep:
--------------------------------------------------------------------------------
1 | :100000000010210600060006000600060006000695
2 | :03001000000600E7
3 | :00000001FF
4 |
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Chameleon-Mini.elf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Chameleon-Mini.elf
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Chameleon-Mini.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Chameleon-Mini.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Codec/Codec.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Codec/Codec.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Codec/Codec.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Codec/Codec.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Codec/ISO14443-2A.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Codec/ISO14443-2A.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Codec/ISO14443-2A.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Codec/ISO14443-2A.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Common.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Common.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Common.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Common.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Configuration.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Configuration.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Configuration.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Configuration.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/LED.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/LED.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/LED.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/LED.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Makefile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Makefile
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Memory.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Memory.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Memory.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Memory.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/ProgramViaBootloader.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | SET COMPORT=COM21
3 | SET BATCHISP=C:\Programme\Atmel\Flip 3.4.7\bin
4 | SET TIMEOUT=5
5 | SET COMMAND=UPGRADE
6 |
7 | ECHO Trying to set bootloader mode on Chameleon-Mini on %COMPORT%
8 | @MODE %COMPORT% baud=11 parity=n data=8 stop=1 to=off xon=off odsr=off octs=off dtr=off rts=off idsr=off > nul
9 | @ECHO. > \\.\%COMPORT%
10 | @ECHO %COMMAND% > \\.\%COMPORT%
11 |
12 | ECHO Waiting for DFU Bootloader
13 | ping 127.0.0.1 -n %TIMEOUT% -w 1000 > nul
14 |
15 | ECHO Start Programming
16 | SET PATH=%BATCHISP%;%PATH%
17 | make dfu-flip
18 |
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Random.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Random.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Random.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Random.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Settings.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Settings.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Settings.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Settings.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/System.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/System.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/System.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/System.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/CommandLine.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/CommandLine.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/CommandLine.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/CommandLine.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/Commands.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/Commands.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/Commands.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/Commands.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/Terminal.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/Terminal.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/Terminal.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/Terminal.h
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/XModem.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/XModem.c
--------------------------------------------------------------------------------
/Firmware/Chameleon-Mini/Terminal/XModem.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/Chameleon-Mini/Terminal/XModem.h
--------------------------------------------------------------------------------
/Firmware/LUFA/Build/HID_EEPROM_Loader/HID_EEPROM_Loader.c:
--------------------------------------------------------------------------------
1 | /*
2 | LUFA Library
3 | Copyright (C) Dean Camera, 2013.
4 |
5 | dean [at] fourwalledcubicle [dot] com
6 | www.lufa-lib.org
7 | */
8 |
9 | /*
10 | Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 |
12 | Permission to use, copy, modify, distribute, and sell this
13 | software and its documentation for any purpose is hereby granted
14 | without fee, provided that the above copyright notice appear in
15 | all copies and that both that the copyright notice and this
16 | permission notice and warranty disclaimer appear in supporting
17 | documentation, and that the name of the author not be used in
18 | advertising or publicity pertaining to distribution of the
19 | software without specific, written prior permission.
20 |
21 | The author disclaims all warranties with regard to this
22 | software, including all implied warranties of merchantability
23 | and fitness. In no event shall the author be liable for any
24 | special, indirect or consequential damages or any damages
25 | whatsoever resulting from loss of use, data or profits, whether
26 | in an action of contract, negligence or other tortious action,
27 | arising out of or in connection with the use or performance of
28 | this software.
29 | */
30 |
31 | /** \file
32 | *
33 | * Special application to extract an EEPROM image stored in FLASH memory, and
34 | * copy it to the device EEPROM. This application is designed to be used with
35 | * the HID build system module of LUFA to program the EEPROM of a target device
36 | * that uses the HID bootloader protocol, which does not have native EEPROM
37 | * programming support.
38 | */
39 |
40 | #include
41 | #include
42 | #include
43 |
44 | /* References to the binary EEPROM data linked in the AVR's FLASH memory space */
45 | extern const char _binary_InputEEData_bin_start[];
46 | extern const char _binary_InputEEData_bin_end[];
47 | extern const char _binary_InputEEData_bin_size[];
48 |
49 | /* Friendly names for the embedded binary data stored in FLASH memory space */
50 | #define InputEEData _binary_InputEEData_bin_start
51 | #define InputEEData_size ((int)_binary_InputEEData_bin_size)
52 |
53 | int main(void)
54 | {
55 | /* Copy out the embedded EEPROM data from FLASH to EEPROM memory space */
56 | for (uint16_t i = 0; i < InputEEData_size; i++)
57 | eeprom_update_byte((uint8_t*)i, pgm_read_byte(&InputEEData[i]));
58 |
59 | /* Infinite loop once complete */
60 | for (;;);
61 | }
62 |
--------------------------------------------------------------------------------
/Firmware/LUFA/Build/HID_EEPROM_Loader/makefile:
--------------------------------------------------------------------------------
1 | #
2 | # LUFA Library
3 | # Copyright (C) Dean Camera, 2013.
4 | #
5 | # dean [at] fourwalledcubicle [dot] com
6 | # www.lufa-lib.org
7 | #
8 | # --------------------------------------
9 | # LUFA Project Makefile.
10 | # --------------------------------------
11 |
12 | # Run "make help" for target help.
13 |
14 | MCU = at90usb1287
15 | ARCH = AVR8
16 | F_CPU = 1000000
17 | F_USB = $(F_CPU)
18 | OPTIMIZATION = s
19 | TARGET = HID_EEPROM_Loader
20 | SRC = $(TARGET).c
21 | LUFA_PATH = ../../../LUFA
22 | CC_FLAGS =
23 | LD_FLAGS =
24 | OBJECT_FILES = InputEEData.o
25 |
26 | # Default target
27 | all:
28 |
29 | # Determine the AVR sub-architecture of the build main application object file
30 | FIND_AVR_SUBARCH = avr$(shell avr-objdump -f $(TARGET).o | grep architecture | cut -d':' -f3 | cut -d',' -f1)
31 |
32 | # Create a linkable object file with the input binary EEPROM data stored in the FLASH section
33 | InputEEData.o: InputEEData.bin $(TARGET).o $(MAKEFILE_LIST)
34 | @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a object file \"$@\"
35 | avr-objcopy -I binary -O elf32-avr -B $(call FIND_AVR_SUBARCH) --rename-section .data=.progmem.data,contents,alloc,readonly,data $< $@
36 |
37 | # Include LUFA build script makefiles
38 | include $(LUFA_PATH)/Build/lufa_core.mk
39 | include $(LUFA_PATH)/Build/lufa_build.mk
40 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk
41 | include $(LUFA_PATH)/Build/lufa_doxygen.mk
42 | include $(LUFA_PATH)/Build/lufa_hid.mk
43 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h:
--------------------------------------------------------------------------------
1 | /*
2 | LUFA Library
3 | Copyright (C) Dean Camera, 2013.
4 |
5 | dean [at] fourwalledcubicle [dot] com
6 | www.lufa-lib.org
7 | */
8 |
9 | /*
10 | Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 |
12 | Permission to use, copy, modify, distribute, and sell this
13 | software and its documentation for any purpose is hereby granted
14 | without fee, provided that the above copyright notice appear in
15 | all copies and that both that the copyright notice and this
16 | permission notice and warranty disclaimer appear in supporting
17 | documentation, and that the name of the author not be used in
18 | advertising or publicity pertaining to distribution of the
19 | software without specific, written prior permission.
20 |
21 | The author disclaims all warranties with regard to this
22 | software, including all implied warranties of merchantability
23 | and fitness. In no event shall the author be liable for any
24 | special, indirect or consequential damages or any damages
25 | whatsoever resulting from loss of use, data or profits, whether
26 | in an action of contract, negligence or other tortious action,
27 | arising out of or in connection with the use or performance of
28 | this software.
29 | */
30 |
31 | /** \file
32 | *
33 | * Header file for Descriptors.c.
34 | */
35 |
36 | #ifndef _DESCRIPTORS_H_
37 | #define _DESCRIPTORS_H_
38 |
39 | /* Includes: */
40 | #include
41 |
42 | /* Macros: */
43 | #if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
44 | !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS)))
45 | #define HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES
46 | #endif
47 |
48 | /* Type Defines: */
49 | /** Type define for the device configuration descriptor structure. This must be defined in the
50 | * application code, as the configuration descriptor contains several sub-descriptors which
51 | * vary between devices, and which describe the device's usage to the host.
52 | */
53 | typedef struct
54 | {
55 | USB_Descriptor_Configuration_Header_t Config;
56 | } USB_Descriptor_Configuration_t;
57 |
58 | #endif
59 |
60 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h:
--------------------------------------------------------------------------------
1 | /*
2 | LUFA Library
3 | Copyright (C) Dean Camera, 2013.
4 |
5 | dean [at] fourwalledcubicle [dot] com
6 | www.lufa-lib.org
7 | */
8 |
9 | /*
10 | Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 |
12 | Permission to use, copy, modify, distribute, and sell this
13 | software and its documentation for any purpose is hereby granted
14 | without fee, provided that the above copyright notice appear in
15 | all copies and that both that the copyright notice and this
16 | permission notice and warranty disclaimer appear in supporting
17 | documentation, and that the name of the author not be used in
18 | advertising or publicity pertaining to distribution of the
19 | software without specific, written prior permission.
20 |
21 | The author disclaims all warranties with regard to this
22 | software, including all implied warranties of merchantability
23 | and fitness. In no event shall the author be liable for any
24 | special, indirect or consequential damages or any damages
25 | whatsoever resulting from loss of use, data or profits, whether
26 | in an action of contract, negligence or other tortious action,
27 | arising out of or in connection with the use or performance of
28 | this software.
29 | */
30 |
31 | /** \file
32 | *
33 | * Header file for DeviceApplication.c.
34 | */
35 |
36 | #ifndef _USB_DEVICE_APPLICATION_H_
37 | #define _USB_DEVICE_APPLICATION_H_
38 |
39 | /* Includes: */
40 | #include
41 | #include
42 | #include
43 |
44 | #include
45 | #include
46 |
47 | #include "Descriptors.h"
48 |
49 | /* Function Prototypes: */
50 | void SetupHardware(void);
51 |
52 | #endif
53 |
54 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/DeviceTemplate/asf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | Template for a LUFA USB device mode application.
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/HostTemplate/HostApplication.h:
--------------------------------------------------------------------------------
1 | /*
2 | LUFA Library
3 | Copyright (C) Dean Camera, 2013.
4 |
5 | dean [at] fourwalledcubicle [dot] com
6 | www.lufa-lib.org
7 | */
8 |
9 | /*
10 | Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 |
12 | Permission to use, copy, modify, distribute, and sell this
13 | software and its documentation for any purpose is hereby granted
14 | without fee, provided that the above copyright notice appear in
15 | all copies and that both that the copyright notice and this
16 | permission notice and warranty disclaimer appear in supporting
17 | documentation, and that the name of the author not be used in
18 | advertising or publicity pertaining to distribution of the
19 | software without specific, written prior permission.
20 |
21 | The author disclaims all warranties with regard to this
22 | software, including all implied warranties of merchantability
23 | and fitness. In no event shall the author be liable for any
24 | special, indirect or consequential damages or any damages
25 | whatsoever resulting from loss of use, data or profits, whether
26 | in an action of contract, negligence or other tortious action,
27 | arising out of or in connection with the use or performance of
28 | this software.
29 | */
30 |
31 | /** \file
32 | *
33 | * Header file for HostApplication.c.
34 | */
35 |
36 | #ifndef _USB_HOST_APPLICATION_H_
37 | #define _USB_HOST_APPLICATION_H_
38 |
39 | /* Includes: */
40 | #include
41 | #include
42 | #include
43 |
44 | #include
45 |
46 | /* Macros: */
47 | #if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) && \
48 | !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS)))
49 | #define HAS_MULTIPLE_DESCRIPTOR_ADDRESS_SPACES
50 | #endif
51 |
52 | /* Function Prototypes: */
53 | void SetupHardware(void);
54 |
55 | #endif
56 |
57 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/HostTemplate/asf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Template for a LUFA USB host mode application.
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf:
--------------------------------------------------------------------------------
1 | ; Windows LUFA CDC ACM Setup File
2 | ; Copyright (c) 2000 Microsoft Corporation
3 |
4 | [DefaultInstall]
5 | CopyINF="LUFA CDC-ACM.inf"
6 |
7 | [Version]
8 | Signature="$Windows NT$"
9 | Class=Ports
10 | ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
11 | Provider=%MFGNAME%
12 | DriverVer=7/1/2012,10.0.0.0
13 |
14 | [Manufacturer]
15 | %MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
16 |
17 | [SourceDisksNames]
18 |
19 | [SourceDisksFiles]
20 |
21 | [DestinationDirs]
22 | DefaultDestDir=12
23 |
24 | [DriverInstall]
25 | Include=mdmcpq.inf
26 | CopyFiles=FakeModemCopyFileSection
27 | AddReg=DriverInstall.AddReg
28 |
29 | [DriverInstall.Services]
30 | Include=mdmcpq.inf
31 | AddService=usbser, 0x00000002, LowerFilter_Service_Inst
32 |
33 | [DriverInstall.AddReg]
34 | HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider"
35 |
36 | ;------------------------------------------------------------------------------
37 | ; Vendor and Product ID Definitions
38 | ;------------------------------------------------------------------------------
39 | ; When developing your USB device, the VID and PID used in the PC side
40 | ; application program and the firmware on the microcontroller must match.
41 | ; Modify the below line to use your VID and PID. Use the format as shown below.
42 | ; Note: One INF file can be used for multiple devices with different VID and PIDs.
43 | ; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
44 | ;------------------------------------------------------------------------------
45 | [DeviceList]
46 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
47 |
48 | [DeviceList.NTx86]
49 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
50 |
51 | [DeviceList.NTamd64]
52 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
53 |
54 | [DeviceList.NTia64]
55 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
56 |
57 | ;------------------------------------------------------------------------------
58 | ; String Definitions
59 | ;------------------------------------------------------------------------------
60 | ;Modify these strings to customize your device
61 | ;------------------------------------------------------------------------------
62 | [Strings]
63 | MFGNAME="http://www.lufa-lib.org"
64 | DESCRIPTION="LUFA CDC-ACM Virtual Serial Port"
65 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf:
--------------------------------------------------------------------------------
1 | ; Windows LUFA RNDIS Setup File
2 | ; Copyright (c) 2000 Microsoft Corporation
3 |
4 | [DefaultInstall]
5 | CopyINF="LUFA RNDIS.inf"
6 |
7 | [Version]
8 | Signature="$Windows NT$"
9 | Class=Net
10 | ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
11 | Provider=%MFGNAME%
12 | DriverVer=7/1/2012,10.0.0.0
13 |
14 | [Manufacturer]
15 | %MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
16 |
17 | [ControlFlags]
18 | ExcludeFromSelect=*
19 |
20 | [DriverInstall]
21 | Characteristics=0x84 ; NCF_PHYSICAL + NCF_HAS_UI
22 | BusType=15
23 | include=netrndis.inf
24 | needs=Usb_Rndis.ndi
25 | AddReg=Rndis_AddReg_Vista
26 |
27 | [DriverInstall.Services]
28 | include=netrndis.inf
29 | needs=Usb_Rndis.ndi.Services
30 |
31 | ;------------------------------------------------------------------------------
32 | ; Vendor and Product ID Definitions
33 | ;------------------------------------------------------------------------------
34 | ; When developing your USB device, the VID and PID used in the PC side
35 | ; application program and the firmware on the microcontroller must match.
36 | ; Modify the below line to use your VID and PID. Use the format as shown below.
37 | ; Note: One INF file can be used for multiple devices with different VID and PIDs.
38 | ; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
39 | ;------------------------------------------------------------------------------
40 | [DeviceList]
41 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
42 |
43 | [DeviceList.NTx86]
44 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
45 |
46 | [DeviceList.NTamd64]
47 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
48 |
49 | [DeviceList.NTia64]
50 | %DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
51 |
52 | ;------------------------------------------------------------------------------
53 | ; String Definitions
54 | ;------------------------------------------------------------------------------
55 | ;Modify these strings to customize your device
56 | ;------------------------------------------------------------------------------
57 | [Strings]
58 | MFGNAME="http://www.lufa-lib.org"
59 | DESCRIPTION="LUFA RNDIS USB Ethernet Adapter"
60 |
--------------------------------------------------------------------------------
/Firmware/LUFA/CodeTemplates/makefile_template:
--------------------------------------------------------------------------------
1 | #
2 | # LUFA Library
3 | # Copyright (C) Dean Camera, 2013.
4 | #
5 | # dean [at] fourwalledcubicle [dot] com
6 | # www.lufa-lib.org
7 | #
8 | # --------------------------------------
9 | # LUFA Project Makefile.
10 | # --------------------------------------
11 |
12 | # Run "make help" for target help.
13 |
14 | MCU = at90usb1287
15 | ARCH = AVR8
16 | BOARD = USBKEY
17 | F_CPU = 8000000
18 | F_USB = $(F_CPU)
19 | OPTIMIZATION = s
20 | TARGET = Target
21 | SRC = $(TARGET).c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) $(LUFA_SRC_PLATFORM)
22 | LUFA_PATH = ../../LUFA
23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig
24 | LD_FLAGS =
25 |
26 | # Default target
27 | all:
28 |
29 | # Include LUFA build script makefiles
30 | include $(LUFA_PATH)/Build/lufa_core.mk
31 | include $(LUFA_PATH)/Build/lufa_sources.mk
32 | include $(LUFA_PATH)/Build/lufa_build.mk
33 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk
34 | include $(LUFA_PATH)/Build/lufa_doxygen.mk
35 | include $(LUFA_PATH)/Build/lufa_dfu.mk
36 | include $(LUFA_PATH)/Build/lufa_hid.mk
37 | include $(LUFA_PATH)/Build/lufa_avrdude.mk
38 | include $(LUFA_PATH)/Build/lufa_atprogram.mk
39 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/BuildingLinkableLibraries.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /** \page Page_BuildLibrary Building as a Linkable Library
8 | *
9 | * The LUFA library can be built as a proper linkable library (with the extension .a) under AVR-GCC, so that
10 | * the library does not need to be recompiled with each revision of a user project. Instructions for creating
11 | * a library from a given source tree can be found in the AVR-GCC user manual included in the WinAVR install
12 | * /Docs/ directory.
13 | *
14 | * However, building the library is not recommended, as the static (compile-time) options will be
15 | * unable to be changed without a recompilation of the LUFA code. Therefore, if the library is to be built
16 | * from the LUFA source, it should be made to be application-specific and compiled with the static options
17 | * that are required for each project (which should be recorded along with the library).
18 | *
19 | * Normal library use has the library components compiled in at the same point as the application code, as
20 | * demonstrated in the library demos and applications. This is the preferred method, as the library is recompiled
21 | * each time to ensure that all static options for a particular application are applied.
22 | */
23 |
24 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/DevelopingWithLUFA.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /**
8 | * \page Page_DevelopingWithLUFA Developing With LUFA
9 | *
10 | * This section of the manual contains information on LUFA development, such as Getting Started information,
11 | * information on compile-time tuning of the library and other developer-related sections.
12 | *
13 | * Subsections:
14 | * \li \subpage Page_BuildSystem - The LUFA Buildsystem
15 | * \li \subpage Page_TokenSummary - Summary of Compile Time Tokens
16 | * \li \subpage Page_Migration - Migrating from an Older LUFA Version
17 | * \li \subpage Page_VIDPID - Allocated USB VID and PID Values
18 | * \li \subpage Page_OSDrivers - Operating System Driver Information
19 | * \li \subpage Page_BuildLibrary - Building as a Linkable Library
20 | * \li \subpage Page_ExportingLibrary - Exporting LUFA for IDE Use
21 | * \li \subpage Page_WritingBoardDrivers - How to Write Custom Board Drivers
22 | * \li \subpage Page_SoftwareBootloaderStart - How to jump to the bootloader in software
23 | */
24 |
25 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Donating.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /**
8 | * \page Page_Donating Donating to Support This Project
9 | *
10 | * \image html Images/Author.jpg "Dean Camera, LUFA Developer"
11 | *
12 | * I am a 24 year old Atmel Applications Engineer, living in Trondheim, Norway and working on LUFA in my spare time.
13 | * The development and support of this library requires much effort from myself, as I am the sole developer, maintainer
14 | * and supporter. Please consider donating a small amount to support this and my future Open Source projects - All
15 | * donations are greatly appreciated.
16 | *
17 | * Note that commercial entities can remove the attribution portion of the LUFA license by a one-time fee - see
18 | * \ref Page_LicenseInfo for more details (Note: Please do NOT pay this in advance through the donation link below -
19 | * contact author for payment details.).
20 | *
21 | * \htmlonly
22 | * \image html "http://www.pledgie.com/campaigns/6927.png"
23 | * \endhtmlonly
24 | * Donate to this project via PayPal - Thanks in Advance!
25 | */
26 |
27 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/FutureChanges.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /** \page Page_FutureChanges Future Changes
8 | *
9 | * Below is a list of future changes which are proposed for the LUFA library, but not yet started/complete.
10 | * This gives an unordered list of future changes which may be available in future releases of the library.
11 | * If you have an item to add to this list, please contact the library author via email, the LUFA mailing list,
12 | * or post your suggestion as an enhancement request to the project bug tracker.
13 | *
14 | * Targeted for Future Releases:
15 | * - Code Features
16 | * -# Add hub support when in Host mode for multiple devices
17 | * -# Investigate virtual hubs when in device mode instead of composite devices
18 | * -# Re-add interrupt Pipe/Endpoint support
19 | * -# Update stream APIs to use DMA transfers on supported architectures
20 | * -# Pull out third party libraries into a separate folder and reference them as required
21 | * -# Add a LUFA_YIELD macro for integration into a third-party RTOS
22 | * -# Abstract out Mass Storage byte send/receive to prevent low level API use in projects
23 | * -# Fix HID report parser usage support for array types
24 | * -# Make HOST_DEVICE_SETTLE_DELAY_MS a global variable that can be changed
25 | * -# Add MANDATORY_EVENT_FUNCTIONS compile time option
26 | * -# Add watchdog support to the library and apps/bootloaders
27 | * - Testing/Verification
28 | * -# Re-run USBIF test suite on all classes to formally verify operation
29 | * -# Implement automated functional testing of all demos
30 | * - Documentation/Support
31 | * -# Add detailed overviews of how each demo works
32 | * -# Add board overviews
33 | * -# Write LUFA tutorials
34 | * - Demos/Projects
35 | * -# Add class driver support for Test and Measurement class
36 | * -# Add class driver support for EEM class
37 | * -# Add class driver support for ECM class
38 | * -# Add class driver generic HID report host demo
39 | * -# Implement flow control for USB to Serial project
40 | * - Ports
41 | * -# Port all demos to multiple architectures
42 | * -# Finish USB XMEGA port
43 | * -# Add AVR32 UC3C, UC3D and UC3L support
44 | * -# Other (commercial) C compilers
45 | */
46 |
47 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/GettingStarted.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /** \page Page_GettingStarted Getting Started
8 | *
9 | * Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and
10 | * ultimately build upon for your own projects. All the demos (where possible) come pre-configured to build and
11 | * run correctly on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz
12 | * master clock. This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most
13 | * popular Atmel USB demonstration board to date. To learn how to reconfigure, recompile and program the included
14 | * LUFA applications using different settings, see the subsections below.
15 | *
16 | * Most of the included demos in the /Demos/ folder come in both ClassDriver and LowLevel varieties. If you are new
17 | * to LUFA, it is highly recommended that you look at the ClassDriver versions first, which use the pre-made USB
18 | * Class Drivers (\ref Group_USBClassDrivers) to simplify the use of the standard USB classes in user applications.
19 | *
20 | * Subsections:
21 | * \li \subpage Page_ConfiguringApps - How to Configure the Included Demos, Projects and Bootloaders
22 | * \li \subpage Page_CompilingApps - How to Compile the Included Demos, Projects and Bootloaders
23 | * \li \subpage Page_ProgrammingApps - How to Program an AVR with the Included Demos, Projects and Bootloaders
24 | */
25 |
26 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Groups.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /** \defgroup Group_BoardDrivers Board Drivers
8 | *
9 | * \brief Functions, macros, variables, enums and types related to the control of physical board hardware.
10 | */
11 |
12 | /** \defgroup Group_PeripheralDrivers On-chip Peripheral Drivers
13 | *
14 | * \brief Functions, macros, variables, enums and types related to the control of AVR subsystems.
15 | */
16 |
17 | /** \defgroup Group_MiscDrivers Miscellaneous Drivers
18 | *
19 | * \brief Miscellaneous driver Functions, macros, variables, enums and types.
20 | */
21 |
22 | /** \defgroup Group_PlatformDrivers_AVR8 AVR8
23 | * \ingroup Group_PlatformDrivers
24 | *
25 | * \brief Drivers relating to the AVR8 architecture platform, such as clock setup and interrupt management.
26 | */
27 |
28 | /** \defgroup Group_PlatformDrivers_XMEGA XMEGA
29 | * \ingroup Group_PlatformDrivers
30 | *
31 | * \brief Drivers relating to the XMEGA architecture platform, such as clock setup and interrupt management.
32 | */
33 |
34 | /** \defgroup Group_PlatformDrivers_UC3 UC3
35 | * \ingroup Group_PlatformDrivers
36 | *
37 | * \brief Drivers relating to the UC3 architecture platform, such as clock setup and interrupt management.
38 | */
39 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step1.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step2.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step3.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step4.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_1.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_2.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_3.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/Author.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/Author.jpg
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/LUFA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/LUFA.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skuep/ChameleonMini/61ba84148cae3030b0af3d999a24f461ed11b38a/Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/LibraryResources.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /**
8 | * \page Page_Resources Library Resources
9 | *
10 | * \section Sec_UnofficialResources Unofficial Resources
11 | * Unofficial Russian LUFA documentation translation: http://microsin.ru/Download.cnt/doc/LUFA/ \n
12 | * Tutorial for LUFA USB Control Transfers: http://www.avrbeginners.net/new/tutorials/usb-control-transfers-with-lufa/
13 | *
14 | * \section Sec_ProjectPages LUFA Related Webpages
15 | * Project Homepage: http://www.lufa-lib.org \n
16 | * Commercial Licenses: http://www.lufa-lib.org/license \n
17 | * Author's Website: http://www.fourwalledcubicle.com \n
18 | * Development Blog: http://www.fourwalledcubicle.com/blog \n
19 | *
20 | * \section Sec_ProjectHelp Assistance With LUFA
21 | * Support Mailing List: http://www.lufa-lib.org/support \n
22 | * Author's Email: dean [at] fourwalledcubicle [dot] com \n
23 | *
24 | * \section Sec_InDevelopment Latest In-Development Source Code
25 | * Issue Tracker: http://www.lufa-lib.org/tracker \n
26 | * Public GIT Repository: http://www.lufa-lib.org/git \n
27 | * Latest Repository Source Archive: http://www.lufa-lib.org/latest-archive \n
28 | * Commit RSS Feed: http://www.lufa-lib.org/rss \n
29 | *
30 | * \section Sec_USBResources USB Resources
31 | * USB-IF Website: http://www.usb.org \n
32 | */
33 |
34 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/LicenseInfo.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /**
8 | * \page Page_LicenseInfo Source Code License
9 | *
10 | * The LUFA library is currently released under the MIT license, included below.
11 | *
12 | * \section Sec_LicenseForHumans License Summary for Human Beings
13 | * Everyone is free to use LUFA without payment - even in commercial applications
14 | * where the product source code is not publicly disclosed. However, use of the
15 | * library must be in accordance with the library license conditions.
16 | *
17 | * If you wish to use LUFA without payment, you must include a copy of the
18 | * full license text below with your product or project - on your website, and in
19 | * an accompanying manual or other materials for the product. As long as the entire
20 | * license text is made available and obvious to the users of your product, you
21 | * are free to incorporate the LUFA library into your product without special
22 | * additional licensing.
23 | *
24 | * \section Sec_CommercialLicenses Commercial Licensing
25 | * In some instances the small requirement for public disclosure of LUFA within a
26 | * product is unwanted; in these instances a commercial license is offered up as an
27 | * alternative to the standard LUFA license.
28 | *
29 | * Commercial entities can opt out of the public disclosure clause in this license
30 | * for a one-time US$1500 payment. This provides a non-exclusive modified MIT
31 | * licensed which allows for the free use of the LUFA library, bootloaders and
32 | * (where the sole copyright is attributed to Dean Camera) demos without public
33 | * disclosure within an organization, in addition to three free hours of consultation
34 | * with the library author, and priority support.
35 | *
36 | * Please visit the Commercial License link on \ref Page_Resources for more information on
37 | * ordering a commercial license for your company.
38 | *
39 | * \section Sec_LicenseText LUFA License Text
40 | *
41 | * \verbinclude License.txt
42 | */
43 |
44 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/ProgrammingApps.txt:
--------------------------------------------------------------------------------
1 | /** \file
2 | *
3 | * This file contains special DoxyGen information for the generation of the main page and other special
4 | * documentation pages. It is not a project source file.
5 | */
6 |
7 | /** \page Page_ProgrammingApps Programming an Application into a USB AVR
8 | *
9 | * Once you have built an application, you will need a way to program in the resulting ".HEX" file (and, if your
10 | * application uses EEPROM variables with initial values, also a ".EEP" file) into your USB AVR. Normally, the
11 | * reprogramming of an AVR device must be performed using a special piece of programming hardware, through one of the
12 | * supported AVR programming protocols - ISP, HVSP, HVPP, JTAG, dW or PDI. This can be done through a custom programmer,
13 | * a third party programmer, or an official Atmel AVR tool - for more information, see the atmel.com website.
14 | *
15 | * Alternatively, you can use the bootloader. From the Atmel factory, each USB AVR comes preloaded with the Atmel
16 | * DFU (Device Firmware Update) class bootloader, a small piece of AVR firmware which allows the remainder of the
17 | * AVR to be programmed through a non-standard interface such as the serial USART port, SPI, or (in this case) USB.
18 | * Bootloaders have the advantage of not requiring any special hardware for programming, and cannot usually be erased
19 | * or broken without an external programming device. They have disadvantages however; they cannot change the fuses of
20 | * the AVR (special configuration settings that control the operation of the chip itself) and a small portion of the
21 | * AVR's FLASH program memory must be reserved to contain the bootloader firmware, and thus cannot be used by the
22 | * loaded application.
23 | *
24 | * If you wish to use the DFU bootloader to program in your application, refer to your DFU programmer's documentation.
25 | * Atmel provides a free utility called FLIP which is USB AVR compatible, and an open source (Linux compatible)
26 | * alternative exists called "dfu-programmer".
27 | *
28 | * \see \ref Page_BuildModule_DFU for information on the LUFA build system DFU module, for automatic DFU bootloader
29 | * programming makefile targets.
30 | */
31 |
--------------------------------------------------------------------------------
/Firmware/LUFA/DoxygenPages/Style/Footer.htm:
--------------------------------------------------------------------------------
1 |
2 |