<divclass="textblock"><p>Each setting of the Chameleon-Mini has an active configuration, which defines the behavior of the Chameleon-Mini. A detailed description of what defines a configuration can be found at <aclass="el"href="struct_configuration_type.html">ConfigurationType</a>.</p>
<h1>Supported Codecs </h1>
<p>A Configuration basically is defined by the codec it uses and by the application functions that use this codec. Currently there are two different codecs implemented:</p><oltype="1">
<li>The ISO14443A codec for emulation.</li>
<li>The ISO14443A codec for the reader function.</li>
</ol>
<h1>Supported Configurations </h1>
<p>The following table shows which configurations are available currently. </p><tableclass="doxtable">
<tr>
<th>Configuration name </th><th>Codec </th><th>Description </th></tr>
<tr>
<td><code>NONE</code></td><td>None </td><td>No functionality, Chameleon-Mini does nothing, the current setting is skipped when cycling through the settings </td></tr>
<tr>
<td><code>MF_ULTRALIGHT</code></td><td>ISO14443A emulation </td><td>Emulates a MiFare Ultralight card </td></tr>
<tr>
<td><code>MF_CLASSIC_1K</code></td><td>ISO14443A emulation </td><td>Emulates a MiFare Classic 1k card </td></tr>
<tr>
<td><code>MF_CLASSIC_4K</code></td><td>ISO14443A emulation </td><td>Emulates a MiFare Classic 4k card </td></tr>
<tr>
<td><code>MF_CLASSIC_1K_7B</code></td><td>ISO14443A emulation </td><td>Emulates a MiFare Classic 1k card with 7-byte UID. </td></tr>
<tr>
<td><code>MF_CLASSIC_4K_7B</code></td><td>ISO14443A emulation </td><td>Emulates a MiFare Classic 4k card with 7-byte UID. </td></tr>
<tr>
<td><code>ISO14443A_SNIFF</code></td><td>ISO14443A emulation </td><td><b>Currently incomplete</b>. Sniffs ISO14443A communication between a reader and a card. </td></tr>
<tr>
<td><code>ISO14443A_READER</code></td><td>ISO14443A reader </td><td>The Chameleon-Mini works as a reader and can process different procedures in order to obtain a cards UID etc. </td></tr>
<p>When the configuration is changed, no matter whether by command line or during a setting change, the following steps are done:</p><oltype="1">
<li>The codec deinitialization function of the currently active configuration is called.</li>
<li>Possibly pending timeout commands are aborted.</li>
<li>The configuration struct (<aclass="el"href="struct_configuration_type.html">ConfigurationType</a>) for the currently active configuration is overwritten with the new configuration struct.</li>
<li>The codec initialization function of the new configuration is called.</li>
<li>The application initialization function of the new configuration is called. </li>