Chameleon-Mini
Configurations

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 ConfigurationType.

Supported Codecs

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:

  1. The ISO14443A codec for emulation.
  2. The ISO14443A codec for the reader function.

Supported Configurations

The following table shows which configurations are available currently.

Configuration name Codec Description
NONE None No functionality, Chameleon-Mini does nothing, the current setting is skipped when cycling through the settings
MF_ULTRALIGHT ISO14443A emulation Emulates a MiFare Ultralight card
MF_CLASSIC_1K ISO14443A emulation Emulates a MiFare Classic 1k card
MF_CLASSIC_4K ISO14443A emulation Emulates a MiFare Classic 4k card
MF_CLASSIC_1K_7B ISO14443A emulation Emulates a MiFare Classic 1k card with 7-byte UID.
MF_CLASSIC_4K_7B ISO14443A emulation Emulates a MiFare Classic 4k card with 7-byte UID.
ISO14443A_SNIFF ISO14443A emulation Currently incomplete. Sniffs ISO14443A communication between a reader and a card.
ISO14443A_READER ISO14443A reader The Chameleon-Mini works as a reader and can process different procedures in order to obtain a cards UID etc.

Configuration Changing procedure

When the configuration is changed, no matter whether by command line or during a setting change, the following steps are done:

  1. The codec deinitialization function of the currently active configuration is called.
  2. Possibly pending timeout commands are aborted.
  3. The configuration struct (ConfigurationType) for the currently active configuration is overwritten with the new configuration struct.
  4. The codec initialization function of the new configuration is called.
  5. The application initialization function of the new configuration is called.