├── .github └── workflows │ ├── firmware-pr.yml │ └── firmware-push.yml ├── .gitignore ├── Chameleon_Work_20200603-262956-o_1e9sqf190sg18bc1ftd121nr7pr-uid-2340331.apk ├── Doc ├── Doxyfile ├── Doxygen │ └── html │ │ ├── _antenna_level_8h_source.html │ │ ├── _application_8h_source.html │ │ ├── _battery_8h_source.html │ │ ├── _button_8h_source.html │ │ ├── _buttons_8txt.html │ │ ├── _chameleon-_mini_8h_source.html │ │ ├── _codec_8h_source.html │ │ ├── _command_line_8h_source.html │ │ ├── _command_line_8txt.html │ │ ├── _commands_8h_source.html │ │ ├── _common_8h_source.html │ │ ├── _configuration_8h.html │ │ ├── _configuration_8h_source.html │ │ ├── _configurations_8txt.html │ │ ├── _crypto1_8h_source.html │ │ ├── _getting_started_8txt.html │ │ ├── _i_s_o14443-2_a_8h_source.html │ │ ├── _i_s_o14443-3_a_8h_source.html │ │ ├── _l_e_d_8h_source.html │ │ ├── _l_e_d_8txt.html │ │ ├── _l_e_d_hook_8h_source.html │ │ ├── _l_e_ds_8txt.html │ │ ├── _l_u_f_a_config_8h.html │ │ ├── _l_u_f_a_config_8h_source.html │ │ ├── _l_u_f_a_descriptors_8c.html │ │ ├── _l_u_f_a_descriptors_8h.html │ │ ├── _l_u_f_a_descriptors_8h_source.html │ │ ├── _log_8h.html │ │ ├── _log_8h_source.html │ │ ├── _log_8txt.html │ │ ├── _main_page_8txt.html │ │ ├── _map_8h_source.html │ │ ├── _memory_8h_source.html │ │ ├── _mifare_classic_8h_source.html │ │ ├── _mifare_ultralight_8h_source.html │ │ ├── _page_14443_a_reader.html │ │ ├── _page__buttons.html │ │ ├── _page__command_line.html │ │ ├── _page__configurations.html │ │ ├── _page__getting_started.html │ │ ├── _page__l_e_d.html │ │ ├── _page__l_e_ds.html │ │ ├── _page__log.html │ │ ├── _page__settings.html │ │ ├── _page__uploading_downloading.html │ │ ├── _random_8h_source.html │ │ ├── _reader14443-2_a_8h_source.html │ │ ├── _reader14443_a_8h_source.html │ │ ├── _reader_8txt.html │ │ ├── _settings_8h.html │ │ ├── _settings_8h_source.html │ │ ├── _settings_8txt.html │ │ ├── _system_8h_source.html │ │ ├── _terminal_8h_source.html │ │ ├── _uploading_downloading_8txt.html │ │ ├── _x_modem_8h_source.html │ │ ├── annotated.html │ │ ├── bc_s.png │ │ ├── bdwn.png │ │ ├── classes.html │ │ ├── closed.png │ │ ├── dir_5de29d499bb29a41092979d00d22c134.html │ │ ├── dir_74b6a3b63f61c160c0f14b7a283a4c9b.html │ │ ├── dir_8465ec698d237f801ae9966d4551fcfa.html │ │ ├── dir_ddeffaa734f77525428b0dd4068da9cb.html │ │ ├── dir_f5aab302412c0352d69464400cc5ee44.html │ │ ├── doc.png │ │ ├── doxygen.css │ │ ├── doxygen.png │ │ ├── dynsections.js │ │ ├── files.html │ │ ├── folderclosed.png │ │ ├── folderopen.png │ │ ├── functions.html │ │ ├── functions_vars.html │ │ ├── globals.html │ │ ├── globals_defs.html │ │ ├── globals_enum.html │ │ ├── globals_eval.html │ │ ├── globals_func.html │ │ ├── globals_vars.html │ │ ├── index.html │ │ ├── jquery.js │ │ ├── menu.js │ │ ├── menudata.js │ │ ├── nav_f.png │ │ ├── nav_g.png │ │ ├── nav_h.png │ │ ├── open.png │ │ ├── pages.html │ │ ├── search │ │ ├── all_0.html │ │ ├── all_0.js │ │ ├── all_1.html │ │ ├── all_1.js │ │ ├── all_2.html │ │ ├── all_2.js │ │ ├── all_3.html │ │ ├── all_3.js │ │ ├── all_4.html │ │ ├── all_4.js │ │ ├── all_5.html │ │ ├── all_5.js │ │ ├── all_6.html │ │ ├── all_6.js │ │ ├── all_7.html │ │ ├── all_7.js │ │ ├── all_8.html │ │ ├── all_8.js │ │ ├── all_9.html │ │ ├── all_9.js │ │ ├── all_a.html │ │ ├── all_a.js │ │ ├── all_b.html │ │ ├── all_b.js │ │ ├── all_c.html │ │ ├── all_c.js │ │ ├── classes_0.html │ │ ├── classes_0.js │ │ ├── classes_1.html │ │ ├── classes_1.js │ │ ├── classes_2.html │ │ ├── classes_2.js │ │ ├── close.png │ │ ├── defines_0.html │ │ ├── defines_0.js │ │ ├── enums_0.html │ │ ├── enums_0.js │ │ ├── enumvalues_0.html │ │ ├── enumvalues_0.js │ │ ├── files_0.html │ │ ├── files_0.js │ │ ├── files_1.html │ │ ├── files_1.js │ │ ├── files_2.html │ │ ├── files_2.js │ │ ├── files_3.html │ │ ├── files_3.js │ │ ├── files_4.html │ │ ├── files_4.js │ │ ├── files_5.html │ │ ├── files_5.js │ │ ├── files_6.html │ │ ├── files_6.js │ │ ├── files_7.html │ │ ├── files_7.js │ │ ├── functions_0.html │ │ ├── functions_0.js │ │ ├── mag_sel.png │ │ ├── nomatches.html │ │ ├── pages_0.html │ │ ├── pages_0.js │ │ ├── pages_1.html │ │ ├── pages_1.js │ │ ├── pages_2.html │ │ ├── pages_2.js │ │ ├── pages_3.html │ │ ├── pages_3.js │ │ ├── pages_4.html │ │ ├── pages_4.js │ │ ├── pages_5.html │ │ ├── pages_5.js │ │ ├── pages_6.html │ │ ├── pages_6.js │ │ ├── pages_7.html │ │ ├── pages_7.js │ │ ├── search.css │ │ ├── search.js │ │ ├── search_l.png │ │ ├── search_m.png │ │ ├── search_r.png │ │ ├── searchdata.js │ │ ├── variables_0.html │ │ ├── variables_0.js │ │ ├── variables_1.html │ │ ├── variables_1.js │ │ ├── variables_2.html │ │ ├── variables_2.js │ │ ├── variables_3.html │ │ ├── variables_3.js │ │ ├── variables_4.html │ │ ├── variables_4.js │ │ ├── variables_5.html │ │ ├── variables_5.js │ │ ├── variables_6.html │ │ ├── variables_6.js │ │ ├── variables_7.html │ │ └── variables_7.js │ │ ├── splitbar.png │ │ ├── struct_configuration_type-members.html │ │ ├── struct_configuration_type.html │ │ ├── struct_settings_entry_type-members.html │ │ ├── struct_settings_entry_type.html │ │ ├── struct_u_s_b___descriptor___configuration__t-members.html │ │ ├── struct_u_s_b___descriptor___configuration__t.html │ │ ├── sync_off.png │ │ ├── sync_on.png │ │ ├── tab_a.png │ │ ├── tab_b.png │ │ ├── tab_h.png │ │ ├── tab_s.png │ │ └── tabs.css └── DoxygenPages │ ├── .Configurations.txt.kate-swp │ ├── Buttons.txt │ ├── CommandLine.txt │ ├── Configurations.txt │ ├── GettingStarted.txt │ ├── LED.txt │ ├── LEDs.txt │ ├── Log.txt │ ├── MainPage.txt │ ├── Reader.txt │ ├── Settings.txt │ └── UploadingDownloading.txt ├── Drivers ├── 98-ChameleonMini.rules ├── ChameleonDriver.cat └── ChameleonDriver.inf ├── Dumps ├── EM4233_example.dmp ├── MFC1k_randomContent_fixedKeys.mfd ├── MFC4k_randomContent_fixedKeys.mfd ├── MifareClassic1K.mfd └── MifareUltralight.mfd ├── Firmware ├── Atmel DFU Bootloader │ ├── ASF-License.txt │ ├── GenerateBootloader.bat │ └── bootloader-atxmega128a4u-104-PA6-SPM.hex ├── Chameleon-Mini │ ├── .gitignore │ ├── AntennaLevel.c │ ├── AntennaLevel.h │ ├── Application │ │ ├── Application.h │ │ ├── Crypto1.c │ │ ├── Crypto1.h │ │ ├── CryptoTDEA.S │ │ ├── CryptoTDEA.h │ │ ├── EM4233.c │ │ ├── EM4233.h │ │ ├── IClass.c │ │ ├── IClass.h │ │ ├── ISO14443-3A.c │ │ ├── ISO14443-3A.h │ │ ├── ISO15693-A.c │ │ ├── ISO15693-A.h │ │ ├── MifareClassic.c │ │ ├── MifareClassic.h │ │ ├── MifareUltralight.c │ │ ├── MifareUltralight.h │ │ ├── NTAG21x.c │ │ ├── NTAG21x.h │ │ ├── Reader14443A.c │ │ ├── Reader14443A.h │ │ ├── Sl2s2002.c │ │ ├── Sl2s2002.h │ │ ├── Sniff14443A.c │ │ ├── Sniff14443A.h │ │ ├── Sniff15693.c │ │ ├── Sniff15693.h │ │ ├── TITagitstandard.c │ │ ├── TITagitstandard.h │ │ ├── Vicinity.c │ │ └── Vicinity.h │ ├── Battery.h │ ├── Button.c │ ├── Button.h │ ├── Chameleon-Mini.c │ ├── Chameleon-Mini.h │ ├── ChameleonFirmwareUpgrade.bat │ ├── Codec │ │ ├── Codec.c │ │ ├── Codec.h │ │ ├── ISO14443-2A.c │ │ ├── ISO14443-2A.h │ │ ├── ISO15693.c │ │ ├── ISO15693.h │ │ ├── Reader14443-2A.c │ │ ├── Reader14443-2A.h │ │ ├── Reader14443-ISR.S │ │ ├── SniffISO14443-2A.c │ │ ├── SniffISO14443-2A.h │ │ ├── SniffISO15693.c │ │ └── SniffISO15693.h │ ├── Common.c │ ├── Common.h │ ├── Configuration.c │ ├── Configuration.h │ ├── DUMP_TEST │ ├── ISRSharing.S │ ├── LED.c │ ├── LED.h │ ├── LEDHook.h │ ├── LUFAConfig.h │ ├── LUFADescriptors.c │ ├── LUFADescriptors.h │ ├── Latest │ │ ├── Chameleon-Mini.eep │ │ └── Chameleon-Mini.hex │ ├── Log.c │ ├── Log.h │ ├── Makefile │ ├── Map.c │ ├── Map.h │ ├── Memory.c │ ├── Memory.h │ ├── MemoryAsm.S │ ├── README.txt │ ├── Random.c │ ├── Random.h │ ├── Settings.c │ ├── Settings.h │ ├── System.c │ ├── System.h │ ├── Terminal │ │ ├── CommandLine.c │ │ ├── CommandLine.h │ │ ├── Commands.c │ │ ├── Commands.h │ │ ├── Terminal.c │ │ ├── Terminal.h │ │ ├── XModem.c │ │ └── XModem.h │ ├── Uart.c │ ├── Uart.h │ ├── uartcmd.c │ └── uartcmd.h └── LUFA │ ├── .gitignore │ ├── Bootloaders │ ├── CDC │ │ ├── BootloaderAPI.c │ │ ├── BootloaderAPI.h │ │ ├── BootloaderAPITable.S │ │ ├── BootloaderCDC.c │ │ ├── BootloaderCDC.h │ │ ├── BootloaderCDC.txt │ │ ├── Config │ │ │ ├── AppConfig.h │ │ │ └── LUFAConfig.h │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── LUFA CDC Bootloader.inf │ │ ├── asf.xml │ │ ├── doxyfile │ │ └── makefile │ ├── DFU │ │ ├── BootloaderAPI.c │ │ ├── BootloaderAPI.h │ │ ├── BootloaderAPITable.S │ │ ├── BootloaderDFU.c │ │ ├── BootloaderDFU.h │ │ ├── BootloaderDFU.txt │ │ ├── Config │ │ │ ├── AppConfig.h │ │ │ └── LUFAConfig.h │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── asf.xml │ │ ├── doxyfile │ │ └── makefile │ ├── HID │ │ ├── BootloaderHID.c │ │ ├── BootloaderHID.h │ │ ├── BootloaderHID.txt │ │ ├── Config │ │ │ └── LUFAConfig.h │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── HostLoaderApp │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── Makefile.bsd │ │ │ ├── gpl3.txt │ │ │ └── hid_bootloader_cli.c │ │ ├── HostLoaderApp_Python │ │ │ └── hid_bootloader_loader.py │ │ ├── asf.xml │ │ ├── doxyfile │ │ └── makefile │ ├── MassStorage │ │ ├── BootloaderAPI.c │ │ ├── BootloaderAPI.h │ │ ├── BootloaderAPITable.S │ │ ├── BootloaderMassStorage.c │ │ ├── BootloaderMassStorage.h │ │ ├── BootloaderMassStorage.txt │ │ ├── Config │ │ │ ├── AppConfig.h │ │ │ └── LUFAConfig.h │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── Lib │ │ │ ├── SCSI.c │ │ │ ├── SCSI.h │ │ │ ├── VirtualFAT.c │ │ │ └── VirtualFAT.h │ │ ├── asf.xml │ │ ├── doxyfile │ │ └── makefile │ ├── Printer │ │ ├── BootloaderAPI.c │ │ ├── BootloaderAPI.h │ │ ├── BootloaderAPITable.S │ │ ├── BootloaderPrinter.c │ │ ├── BootloaderPrinter.h │ │ ├── BootloaderPrinter.txt │ │ ├── Config │ │ │ └── LUFAConfig.h │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── asf.xml │ │ ├── doxyfile │ │ └── makefile │ └── makefile │ ├── Build │ ├── HID_EEPROM_Loader │ │ ├── HID_EEPROM_Loader.c │ │ └── makefile │ ├── lufa_atprogram.mk │ ├── lufa_avrdude.mk │ ├── lufa_build.mk │ ├── lufa_core.mk │ ├── lufa_cppcheck.mk │ ├── lufa_dfu.mk │ ├── lufa_doxygen.mk │ ├── lufa_hid.mk │ └── lufa_sources.mk │ ├── BuildTests │ ├── BoardDriverTest │ │ ├── Board │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ ├── Dataflash.h │ │ │ ├── Joystick.h │ │ │ └── LEDs.h │ │ ├── BoardDeviceMap.cfg │ │ ├── Test.c │ │ ├── makefile │ │ └── makefile.test │ ├── BootloaderTest │ │ ├── BootloaderDeviceMap.cfg │ │ └── makefile │ ├── ModuleTest │ │ ├── Dummy.S │ │ ├── Modules.h │ │ ├── Test_C.c │ │ ├── Test_CPP.cpp │ │ ├── makefile │ │ └── makefile.test │ ├── SingleUSBModeTest │ │ ├── Dummy.S │ │ ├── Test.c │ │ ├── makefile │ │ └── makefile.test │ ├── StaticAnalysisTest │ │ └── makefile │ └── makefile │ ├── CodeTemplates │ ├── DeviceTemplate │ │ ├── Descriptors.c │ │ ├── Descriptors.h │ │ ├── DeviceApplication.c │ │ ├── DeviceApplication.h │ │ └── asf.xml │ ├── DriverStubs │ │ ├── Board.h │ │ ├── Buttons.h │ │ ├── Dataflash.h │ │ ├── Joystick.h │ │ └── LEDs.h │ ├── HostTemplate │ │ ├── HostApplication.c │ │ ├── HostApplication.h │ │ └── asf.xml │ ├── LUFAConfig.h │ ├── WindowsINF │ │ ├── LUFA CDC-ACM.inf │ │ └── LUFA RNDIS.inf │ └── makefile_template │ ├── Common │ ├── ArchitectureSpecific.h │ ├── Architectures.h │ ├── Attributes.h │ ├── BoardTypes.h │ ├── Common.h │ ├── CompilerSpecific.h │ └── Endianness.h │ ├── DoxygenPages │ ├── BuildSystem.txt │ ├── BuildingLinkableLibraries.txt │ ├── ChangeLog.txt │ ├── CompileTimeTokens.txt │ ├── CompilingApps.txt │ ├── ConfiguringApps.txt │ ├── DevelopingWithLUFA.txt │ ├── DeviceSupport.txt │ ├── DirectorySummaries.txt │ ├── Donating.txt │ ├── ExportingLibrary.txt │ ├── FutureChanges.txt │ ├── GettingStarted.txt │ ├── Groups.txt │ ├── Images │ │ ├── AS5_AS6_Import │ │ │ ├── AS5_AS6_Import_Step1.png │ │ │ ├── AS5_AS6_Import_Step2.png │ │ │ ├── AS5_AS6_Import_Step3.png │ │ │ ├── AS5_AS6_Import_Step4.png │ │ │ ├── AS5_AS6_Import_Step5_1.png │ │ │ ├── AS5_AS6_Import_Step5_2.png │ │ │ └── AS5_AS6_Import_Step5_3.png │ │ ├── Author.jpg │ │ ├── LUFA.png │ │ └── LUFA_thumb.png │ ├── KnownIssues.txt │ ├── LUFAPoweredProjects.txt │ ├── LibraryResources.txt │ ├── LicenseInfo.txt │ ├── MainPage.txt │ ├── MigrationInformation.txt │ ├── OSDrivers.txt │ ├── ProgrammingApps.txt │ ├── SoftwareBootloaderJump.txt │ ├── Style │ │ ├── Footer.htm │ │ └── Style.css │ ├── VIDAndPIDValues.txt │ └── WritingBoardDrivers.txt │ ├── Drivers │ ├── Board │ │ ├── AVR8 │ │ │ ├── ADAFRUITU4 │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── ATAVRUSBRF01 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── BENITO │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── BIGMULTIO │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── BLACKCAT │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── BUI │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── BUMBLEB │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── CULV3 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── DUCE │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── EVK527 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── JMDBU2 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── LEONARDO │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── MAXIMUS │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── MICRO │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── MICROPENDOUS │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── MICROSIN162 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── MINIMUS │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── MULTIO │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── OLIMEX162 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── OLIMEX32U4 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── OLIMEXISPMK2 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── OLIMEXT32U4 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── RZUSBSTICK │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── SPARKFUN8U2 │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── STANGE_ISP │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── STK525 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── STK526 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── TEENSY │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── TUL │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── U2S │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── UDIP │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── UNO │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ ├── USB2AX │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── USBFOO │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── USBKEY │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── USBTINYMKII │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ ├── XPLAIN │ │ │ │ ├── Board.h │ │ │ │ ├── Dataflash.h │ │ │ │ └── LEDs.h │ │ │ ├── XPLAINED_MINI │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ │ └── YUN │ │ │ │ ├── Board.h │ │ │ │ └── LEDs.h │ │ ├── Board.h │ │ ├── Buttons.h │ │ ├── Dataflash.h │ │ ├── Joystick.h │ │ ├── LEDs.h │ │ ├── Temperature.c │ │ ├── Temperature.h │ │ ├── UC3 │ │ │ ├── EVK1100 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── EVK1101 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Joystick.h │ │ │ │ └── LEDs.h │ │ │ ├── EVK1104 │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ │ └── UC3A3_XPLAINED │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ └── XMEGA │ │ │ ├── A3BU_XPLAINED │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ ├── Dataflash.h │ │ │ └── LEDs.h │ │ │ ├── B1_XPLAINED │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ ├── Dataflash.h │ │ │ └── LEDs.h │ │ │ └── C3_XPLAINED │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ └── LEDs.h │ ├── Misc │ │ ├── AT45DB321C.h │ │ ├── AT45DB642D.h │ │ ├── RingBuffer.h │ │ └── TerminalCodes.h │ ├── Peripheral │ │ ├── ADC.h │ │ ├── AVR8 │ │ │ ├── ADC_AVR8.h │ │ │ ├── SPI_AVR8.h │ │ │ ├── SerialSPI_AVR8.h │ │ │ ├── Serial_AVR8.c │ │ │ ├── Serial_AVR8.h │ │ │ ├── TWI_AVR8.c │ │ │ └── TWI_AVR8.h │ │ ├── SPI.h │ │ ├── Serial.h │ │ ├── SerialSPI.h │ │ ├── TWI.h │ │ └── XMEGA │ │ │ ├── SPI_XMEGA.h │ │ │ ├── SerialSPI_XMEGA.h │ │ │ ├── Serial_XMEGA.c │ │ │ ├── Serial_XMEGA.h │ │ │ ├── TWI_XMEGA.c │ │ │ └── TWI_XMEGA.h │ └── USB │ │ ├── Class │ │ ├── AndroidAccessoryClass.h │ │ ├── AudioClass.h │ │ ├── CDCClass.h │ │ ├── Common │ │ │ ├── AndroidAccessoryClassCommon.h │ │ │ ├── AudioClassCommon.h │ │ │ ├── CDCClassCommon.h │ │ │ ├── HIDClassCommon.h │ │ │ ├── HIDParser.c │ │ │ ├── HIDParser.h │ │ │ ├── HIDReportData.h │ │ │ ├── MIDIClassCommon.h │ │ │ ├── MassStorageClassCommon.h │ │ │ ├── PrinterClassCommon.h │ │ │ ├── RNDISClassCommon.h │ │ │ └── StillImageClassCommon.h │ │ ├── Device │ │ │ ├── AudioClassDevice.c │ │ │ ├── AudioClassDevice.h │ │ │ ├── CDCClassDevice.c │ │ │ ├── CDCClassDevice.h │ │ │ ├── HIDClassDevice.c │ │ │ ├── HIDClassDevice.h │ │ │ ├── MIDIClassDevice.c │ │ │ ├── MIDIClassDevice.h │ │ │ ├── MassStorageClassDevice.c │ │ │ ├── MassStorageClassDevice.h │ │ │ ├── PrinterClassDevice.c │ │ │ ├── PrinterClassDevice.h │ │ │ ├── RNDISClassDevice.c │ │ │ └── RNDISClassDevice.h │ │ ├── HIDClass.h │ │ ├── Host │ │ │ ├── AndroidAccessoryClassHost.c │ │ │ ├── AndroidAccessoryClassHost.h │ │ │ ├── AudioClassHost.c │ │ │ ├── AudioClassHost.h │ │ │ ├── CDCClassHost.c │ │ │ ├── CDCClassHost.h │ │ │ ├── HIDClassHost.c │ │ │ ├── HIDClassHost.h │ │ │ ├── MIDIClassHost.c │ │ │ ├── MIDIClassHost.h │ │ │ ├── MassStorageClassHost.c │ │ │ ├── MassStorageClassHost.h │ │ │ ├── PrinterClassHost.c │ │ │ ├── PrinterClassHost.h │ │ │ ├── RNDISClassHost.c │ │ │ ├── RNDISClassHost.h │ │ │ ├── StillImageClassHost.c │ │ │ └── StillImageClassHost.h │ │ ├── MIDIClass.h │ │ ├── MassStorageClass.h │ │ ├── PrinterClass.h │ │ ├── RNDISClass.h │ │ └── StillImageClass.h │ │ ├── Core │ │ ├── AVR8 │ │ │ ├── Device_AVR8.c │ │ │ ├── Device_AVR8.h │ │ │ ├── EndpointStream_AVR8.c │ │ │ ├── EndpointStream_AVR8.h │ │ │ ├── Endpoint_AVR8.c │ │ │ ├── Endpoint_AVR8.h │ │ │ ├── Host_AVR8.c │ │ │ ├── Host_AVR8.h │ │ │ ├── OTG_AVR8.h │ │ │ ├── PipeStream_AVR8.c │ │ │ ├── PipeStream_AVR8.h │ │ │ ├── Pipe_AVR8.c │ │ │ ├── Pipe_AVR8.h │ │ │ ├── Template │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ ├── Template_Endpoint_RW.c │ │ │ │ └── Template_Pipe_RW.c │ │ │ ├── USBController_AVR8.c │ │ │ ├── USBController_AVR8.h │ │ │ ├── USBInterrupt_AVR8.c │ │ │ └── USBInterrupt_AVR8.h │ │ ├── ConfigDescriptors.c │ │ ├── ConfigDescriptors.h │ │ ├── Device.h │ │ ├── DeviceStandardReq.c │ │ ├── DeviceStandardReq.h │ │ ├── Endpoint.h │ │ ├── EndpointStream.h │ │ ├── Events.c │ │ ├── Events.h │ │ ├── Host.h │ │ ├── HostStandardReq.c │ │ ├── HostStandardReq.h │ │ ├── OTG.h │ │ ├── Pipe.h │ │ ├── PipeStream.h │ │ ├── StdDescriptors.h │ │ ├── StdRequestType.h │ │ ├── UC3 │ │ │ ├── Device_UC3.c │ │ │ ├── Device_UC3.h │ │ │ ├── EndpointStream_UC3.c │ │ │ ├── EndpointStream_UC3.h │ │ │ ├── Endpoint_UC3.c │ │ │ ├── Endpoint_UC3.h │ │ │ ├── Host_UC3.c │ │ │ ├── Host_UC3.h │ │ │ ├── PipeStream_UC3.c │ │ │ ├── PipeStream_UC3.h │ │ │ ├── Pipe_UC3.c │ │ │ ├── Pipe_UC3.h │ │ │ ├── Template │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ ├── Template_Endpoint_RW.c │ │ │ │ └── Template_Pipe_RW.c │ │ │ ├── USBController_UC3.c │ │ │ ├── USBController_UC3.h │ │ │ ├── USBInterrupt_UC3.c │ │ │ └── USBInterrupt_UC3.h │ │ ├── USBController.h │ │ ├── USBInterrupt.h │ │ ├── USBMode.h │ │ ├── USBTask.c │ │ ├── USBTask.h │ │ └── XMEGA │ │ │ ├── Device_XMEGA.c │ │ │ ├── Device_XMEGA.h │ │ │ ├── EndpointStream_XMEGA.c │ │ │ ├── EndpointStream_XMEGA.h │ │ │ ├── Endpoint_XMEGA.c │ │ │ ├── Endpoint_XMEGA.h │ │ │ ├── Host_XMEGA.c │ │ │ ├── PipeStream_XMEGA.c │ │ │ ├── Pipe_XMEGA.c │ │ │ ├── Template │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ └── Template_Endpoint_RW.c │ │ │ ├── USBController_XMEGA.c │ │ │ ├── USBController_XMEGA.h │ │ │ ├── USBInterrupt_XMEGA.c │ │ │ └── USBInterrupt_XMEGA.h │ │ └── USB.h │ ├── License.txt │ ├── Maintenance │ ├── lufa_functionlist_transform.xslt │ └── makefile │ ├── Platform │ ├── Platform.h │ ├── UC3 │ │ ├── ClockManagement.h │ │ ├── Exception.S │ │ ├── InterruptManagement.c │ │ ├── InterruptManagement.h │ │ └── UC3ExperimentalInfo.txt │ └── XMEGA │ │ ├── ClockManagement.h │ │ └── XMEGAExperimentalInfo.txt │ ├── README.txt │ ├── Version.h │ ├── doxyfile │ └── makefile ├── Hardware ├── ChameleonMini-RevG.brd ├── ChameleonMini-RevG.sch ├── partlist_revG.txt └── partlist_schematics_and_layout.pdf ├── LICENSE.txt ├── README.md ├── REV.G User Manual 20200309.zip ├── RevE-light ├── EAGLE │ ├── RevE-light-board.pdf │ ├── RevE-light-schematic.pdf │ ├── RevE-light.brd │ ├── RevE-light.sch │ └── WARNING.txt ├── Firmware │ ├── .gitignore │ ├── Chameleon-Mini │ │ ├── .gitignore │ │ ├── AntennaLevel.h │ │ ├── Application │ │ │ ├── Application.h │ │ │ ├── Crypto1.c │ │ │ ├── Crypto1.h │ │ │ ├── ISO14443-3A.c │ │ │ ├── ISO14443-3A.h │ │ │ ├── MifareClassic.c │ │ │ ├── MifareClassic.h │ │ │ ├── MifareUltralight.c │ │ │ └── MifareUltralight.h │ │ ├── Battery.h │ │ ├── Button.c │ │ ├── Button.h │ │ ├── Chameleon-Mini.c │ │ ├── Chameleon-Mini.h │ │ ├── Codec │ │ │ ├── Codec.c │ │ │ ├── Codec.h │ │ │ ├── ISO14443-2A.c │ │ │ └── ISO14443-2A.h │ │ ├── Common.c │ │ ├── Common.h │ │ ├── Configuration.c │ │ ├── Configuration.h │ │ ├── LED.c │ │ ├── LED.h │ │ ├── LEDHook.h │ │ ├── LUFAConfig.h │ │ ├── LUFADescriptors.c │ │ ├── LUFADescriptors.h │ │ ├── Log.c │ │ ├── Log.h │ │ ├── Makefile │ │ ├── Map.c │ │ ├── Map.h │ │ ├── Memory.c │ │ ├── Memory.h │ │ ├── MemoryAsm.S │ │ ├── ProgramViaBootloader.bat │ │ ├── README.txt │ │ ├── Random.c │ │ ├── Random.h │ │ ├── Settings.c │ │ ├── Settings.h │ │ ├── System.c │ │ ├── System.h │ │ └── Terminal │ │ │ ├── CommandLine.c │ │ │ ├── CommandLine.h │ │ │ ├── Commands.c │ │ │ ├── Commands.h │ │ │ ├── Terminal.c │ │ │ ├── Terminal.h │ │ │ ├── XModem.c │ │ │ └── XModem.h │ └── WARNING.txt ├── README.md └── WARNING.txt ├── RevE ├── Doc │ ├── BOM.txt │ ├── Doxyfile │ ├── Doxygen │ │ ├── html │ │ │ ├── 3_d_e_s___c_b_c_8h_source.html │ │ │ ├── _antenna_level_8h_source.html │ │ │ ├── _application_8h_source.html │ │ │ ├── _button_8h_source.html │ │ │ ├── _chameleon-_mini_8h_source.html │ │ │ ├── _codec_8h_source.html │ │ │ ├── _command_line_8h_source.html │ │ │ ├── _command_line_8txt.html │ │ │ ├── _commands_8h_source.html │ │ │ ├── _common_8h_source.html │ │ │ ├── _configuration_8h_source.html │ │ │ ├── _configurations_8txt.html │ │ │ ├── _crypto1_8h_source.html │ │ │ ├── _d_e_s_fire_8h_source.html │ │ │ ├── _d_f_u_8txt.html │ │ │ ├── _getting_started_8txt.html │ │ │ ├── _i_s_o14443-2_a_8h_source.html │ │ │ ├── _i_s_o14443-3_a_8h_source.html │ │ │ ├── _i_s_o14443-3_a_inline_8h_source.html │ │ │ ├── _i_s_o15693-2_8h_source.html │ │ │ ├── _i_s_o15693-3_8h_source.html │ │ │ ├── _i_s_o15693_generic_8h_source.html │ │ │ ├── _l_e_d_8h_source.html │ │ │ ├── _l_u_f_a_config_8h.html │ │ │ ├── _l_u_f_a_config_8h_source.html │ │ │ ├── _l_u_f_a_descriptors_8c.html │ │ │ ├── _l_u_f_a_descriptors_8h.html │ │ │ ├── _l_u_f_a_descriptors_8h_source.html │ │ │ ├── _log_8h_source.html │ │ │ ├── _logging_8txt.html │ │ │ ├── _main_page_8txt.html │ │ │ ├── _memory_8h_source.html │ │ │ ├── _mifare_classic_8h_source.html │ │ │ ├── _mifare_ultralight_8h_source.html │ │ │ ├── _page__command_line.html │ │ │ ├── _page__configurations.html │ │ │ ├── _page__firmware_upgrade.html │ │ │ ├── _page__getting_started.html │ │ │ ├── _page__logging.html │ │ │ ├── _page__uploading_downloading.html │ │ │ ├── _random_8h_source.html │ │ │ ├── _settings_8h_source.html │ │ │ ├── _system_8h_source.html │ │ │ ├── _terminal_8h_source.html │ │ │ ├── _uploading_downloading_8txt.html │ │ │ ├── _x_modem_8h_source.html │ │ │ ├── annotated.html │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── classes.html │ │ │ ├── closed.png │ │ │ ├── dir_5de29d499bb29a41092979d00d22c134.html │ │ │ ├── dir_74b6a3b63f61c160c0f14b7a283a4c9b.html │ │ │ ├── dir_8465ec698d237f801ae9966d4551fcfa.html │ │ │ ├── dir_ddeffaa734f77525428b0dd4068da9cb.html │ │ │ ├── dir_f5aab302412c0352d69464400cc5ee44.html │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── files.html │ │ │ ├── ftv2blank.png │ │ │ ├── ftv2cl.png │ │ │ ├── ftv2doc.png │ │ │ ├── ftv2folderclosed.png │ │ │ ├── ftv2folderopen.png │ │ │ ├── ftv2lastnode.png │ │ │ ├── ftv2link.png │ │ │ ├── ftv2mlastnode.png │ │ │ ├── ftv2mnode.png │ │ │ ├── ftv2mo.png │ │ │ ├── ftv2node.png │ │ │ ├── ftv2ns.png │ │ │ ├── ftv2plastnode.png │ │ │ ├── ftv2pnode.png │ │ │ ├── ftv2splitbar.png │ │ │ ├── ftv2vertline.png │ │ │ ├── globals.html │ │ │ ├── globals_defs.html │ │ │ ├── globals_func.html │ │ │ ├── globals_vars.html │ │ │ ├── index.html │ │ │ ├── jquery.js │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── search │ │ │ │ ├── all_61.html │ │ │ │ ├── all_61.js │ │ │ │ ├── all_63.html │ │ │ │ ├── all_63.js │ │ │ │ ├── all_64.html │ │ │ │ ├── all_64.js │ │ │ │ ├── all_67.html │ │ │ │ ├── all_67.js │ │ │ │ ├── all_6c.html │ │ │ │ ├── all_6c.js │ │ │ │ ├── all_6d.html │ │ │ │ ├── all_6d.js │ │ │ │ ├── all_70.html │ │ │ │ ├── all_70.js │ │ │ │ ├── all_74.html │ │ │ │ ├── all_74.js │ │ │ │ ├── all_75.html │ │ │ │ ├── all_75.js │ │ │ │ ├── classes_75.html │ │ │ │ ├── classes_75.js │ │ │ │ ├── close.png │ │ │ │ ├── defines_63.html │ │ │ │ ├── defines_63.js │ │ │ │ ├── files_63.html │ │ │ │ ├── files_63.js │ │ │ │ ├── files_64.html │ │ │ │ ├── files_64.js │ │ │ │ ├── files_67.html │ │ │ │ ├── files_67.js │ │ │ │ ├── files_6c.html │ │ │ │ ├── files_6c.js │ │ │ │ ├── files_6d.html │ │ │ │ ├── files_6d.js │ │ │ │ ├── files_75.html │ │ │ │ ├── files_75.js │ │ │ │ ├── functions_63.html │ │ │ │ ├── functions_63.js │ │ │ │ ├── mag_sel.png │ │ │ │ ├── nomatches.html │ │ │ │ ├── pages_61.html │ │ │ │ ├── pages_61.js │ │ │ │ ├── pages_64.html │ │ │ │ ├── pages_64.js │ │ │ │ ├── pages_67.html │ │ │ │ ├── pages_67.js │ │ │ │ ├── pages_6c.html │ │ │ │ ├── pages_6c.js │ │ │ │ ├── pages_74.html │ │ │ │ ├── pages_74.js │ │ │ │ ├── pages_75.html │ │ │ │ ├── pages_75.js │ │ │ │ ├── search.css │ │ │ │ ├── search.js │ │ │ │ ├── search_l.png │ │ │ │ ├── search_m.png │ │ │ │ ├── search_r.png │ │ │ │ ├── variables_63.html │ │ │ │ ├── variables_63.js │ │ │ │ ├── variables_64.html │ │ │ │ ├── variables_64.js │ │ │ │ ├── variables_6c.html │ │ │ │ ├── variables_6c.js │ │ │ │ ├── variables_6d.html │ │ │ │ ├── variables_6d.js │ │ │ │ ├── variables_70.html │ │ │ │ └── variables_70.js │ │ │ ├── struct_u_s_b___descriptor___configuration__t-members.html │ │ │ ├── struct_u_s_b___descriptor___configuration__t.html │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ └── tabs.css │ │ └── latex │ │ │ ├── Makefile │ │ │ ├── _command_line_8txt.tex │ │ │ ├── _configurations_8txt.tex │ │ │ ├── _d_f_u_8txt.tex │ │ │ ├── _getting_started_8txt.tex │ │ │ ├── _l_u_f_a_config_8h.tex │ │ │ ├── _l_u_f_a_descriptors_8c.tex │ │ │ ├── _l_u_f_a_descriptors_8h.tex │ │ │ ├── _logging_8txt.tex │ │ │ ├── _main_page_8txt.tex │ │ │ ├── _page__command_line.tex │ │ │ ├── _page__configurations.tex │ │ │ ├── _page__firmware_upgrade.tex │ │ │ ├── _page__getting_started.tex │ │ │ ├── _page__logging.tex │ │ │ ├── _page__uploading_downloading.tex │ │ │ ├── _uploading_downloading_8txt.tex │ │ │ ├── annotated.tex │ │ │ ├── dir_5de29d499bb29a41092979d00d22c134.tex │ │ │ ├── dir_74b6a3b63f61c160c0f14b7a283a4c9b.tex │ │ │ ├── dir_8465ec698d237f801ae9966d4551fcfa.tex │ │ │ ├── dir_ddeffaa734f77525428b0dd4068da9cb.tex │ │ │ ├── dir_f5aab302412c0352d69464400cc5ee44.tex │ │ │ ├── doxygen.sty │ │ │ ├── files.tex │ │ │ ├── index.tex │ │ │ ├── make.bat │ │ │ ├── refman.log │ │ │ ├── refman.tex │ │ │ └── struct_u_s_b___descriptor___configuration__t.tex │ ├── DoxygenPages │ │ ├── CommandLine.txt │ │ ├── DFU.txt │ │ ├── GettingStarted.txt │ │ ├── MainPage.txt │ │ └── UploadingDownloading.txt │ ├── Fuses.txt │ └── StartDoxygen.bat ├── Drivers │ ├── ChameleonDriver.inf │ └── LUFA VirtualSerial.inf ├── Dumps │ ├── MifareClassic1K.mfd │ └── MifareUltralight.mfd ├── EAGLE │ ├── Chameleon-Mini-RevE-2.brd │ ├── Chameleon-Mini-RevE-2.sch │ ├── Chameleon-Mini-RevE.brd │ └── Chameleon-Mini-RevE.sch ├── Firmware │ ├── .gitignore │ ├── Atmel DFU Bootloader │ │ ├── ASF-License.txt │ │ └── RevE-atxmega32a4u_104_modified.hex │ ├── Chameleon-Mini │ │ ├── .cproject │ │ ├── .gitignore │ │ ├── .project │ │ ├── AntennaLevel.h │ │ ├── Application │ │ │ ├── Application.h │ │ │ ├── Crypto1.c │ │ │ ├── Crypto1.h │ │ │ ├── ISO14443-3A.c │ │ │ ├── ISO14443-3A.h │ │ │ ├── MifareClassic.c │ │ │ ├── MifareClassic.h │ │ │ ├── MifareUltralight.c │ │ │ └── MifareUltralight.h │ │ ├── Button.c │ │ ├── Button.h │ │ ├── Chameleon-Mini.bin │ │ ├── Chameleon-Mini.c │ │ ├── Chameleon-Mini.eep │ │ ├── Chameleon-Mini.elf │ │ ├── Chameleon-Mini.h │ │ ├── Chameleon-Mini.hex │ │ ├── Codec │ │ │ ├── Codec.c │ │ │ ├── Codec.h │ │ │ ├── ISO14443-2A.c │ │ │ └── ISO14443-2A.h │ │ ├── Common.c │ │ ├── Common.h │ │ ├── Configuration.c │ │ ├── Configuration.h │ │ ├── LED.c │ │ ├── LED.h │ │ ├── LUFAConfig.h │ │ ├── LUFADescriptors.c │ │ ├── LUFADescriptors.h │ │ ├── Log.c │ │ ├── Log.h │ │ ├── Makefile │ │ ├── Memory.c │ │ ├── Memory.h │ │ ├── ProgramViaBootloader.bat │ │ ├── README.txt │ │ ├── Random.c │ │ ├── Random.h │ │ ├── Settings.c │ │ ├── Settings.h │ │ ├── System.c │ │ ├── System.h │ │ └── Terminal │ │ │ ├── CommandLine.c │ │ │ ├── CommandLine.h │ │ │ ├── Commands.c │ │ │ ├── Commands.h │ │ │ ├── Terminal.c │ │ │ ├── Terminal.h │ │ │ ├── XModem.c │ │ │ └── XModem.h │ └── LUFA │ │ ├── Build │ │ ├── HID_EEPROM_Loader │ │ │ ├── HID_EEPROM_Loader.c │ │ │ └── makefile │ │ ├── lufa_atprogram.mk │ │ ├── lufa_avrdude.mk │ │ ├── lufa_build.mk │ │ ├── lufa_core.mk │ │ ├── lufa_cppcheck.mk │ │ ├── lufa_dfu.mk │ │ ├── lufa_doxygen.mk │ │ ├── lufa_hid.mk │ │ └── lufa_sources.mk │ │ ├── CodeTemplates │ │ ├── DeviceTemplate │ │ │ ├── Descriptors.c │ │ │ ├── Descriptors.h │ │ │ ├── DeviceApplication.c │ │ │ ├── DeviceApplication.h │ │ │ └── asf.xml │ │ ├── DriverStubs │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ ├── Dataflash.h │ │ │ ├── Joystick.h │ │ │ └── LEDs.h │ │ ├── HostTemplate │ │ │ ├── HostApplication.c │ │ │ ├── HostApplication.h │ │ │ └── asf.xml │ │ ├── LUFAConfig.h │ │ ├── WindowsINF │ │ │ ├── LUFA CDC-ACM.inf │ │ │ └── LUFA RNDIS.inf │ │ └── makefile_template │ │ ├── Common │ │ ├── ArchitectureSpecific.h │ │ ├── Architectures.h │ │ ├── Attributes.h │ │ ├── BoardTypes.h │ │ ├── Common.h │ │ ├── CompilerSpecific.h │ │ └── Endianness.h │ │ ├── Doxygen.conf │ │ ├── DoxygenPages │ │ ├── BuildSystem.txt │ │ ├── BuildingLinkableLibraries.txt │ │ ├── ChangeLog.txt │ │ ├── CompileTimeTokens.txt │ │ ├── CompilingApps.txt │ │ ├── ConfiguringApps.txt │ │ ├── DevelopingWithLUFA.txt │ │ ├── DeviceSupport.txt │ │ ├── DirectorySummaries.txt │ │ ├── Donating.txt │ │ ├── ExportingLibrary.txt │ │ ├── FutureChanges.txt │ │ ├── GettingStarted.txt │ │ ├── Groups.txt │ │ ├── Images │ │ │ ├── AS5_AS6_Import │ │ │ │ ├── AS5_AS6_Import_Step1.png │ │ │ │ ├── AS5_AS6_Import_Step2.png │ │ │ │ ├── AS5_AS6_Import_Step3.png │ │ │ │ ├── AS5_AS6_Import_Step4.png │ │ │ │ ├── AS5_AS6_Import_Step5_1.png │ │ │ │ ├── AS5_AS6_Import_Step5_2.png │ │ │ │ └── AS5_AS6_Import_Step5_3.png │ │ │ ├── Author.jpg │ │ │ ├── LUFA.png │ │ │ └── LUFA_thumb.png │ │ ├── KnownIssues.txt │ │ ├── LUFAPoweredProjects.txt │ │ ├── LibraryResources.txt │ │ ├── LicenseInfo.txt │ │ ├── MainPage.txt │ │ ├── MigrationInformation.txt │ │ ├── OSDrivers.txt │ │ ├── ProgrammingApps.txt │ │ ├── SoftwareBootloaderJump.txt │ │ ├── Style │ │ │ ├── Footer.htm │ │ │ └── Style.css │ │ ├── VIDAndPIDValues.txt │ │ └── WritingBoardDrivers.txt │ │ ├── Drivers │ │ ├── Board │ │ │ ├── AVR8 │ │ │ │ ├── ADAFRUITU4 │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── ATAVRUSBRF01 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── BENITO │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── BIGMULTIO │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── BLACKCAT │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── BUI │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── BUMBLEB │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── CULV3 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── DUCE │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── EVK527 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Dataflash.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── JMDBU2 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── LEONARDO │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── MAXIMUS │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── MICROPENDOUS │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── MICROSIN162 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── MINIMUS │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── MULTIO │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── OLIMEX162 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── OLIMEX32U4 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── OLIMEXISPMK2 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── OLIMEXT32U4 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── RZUSBSTICK │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── SPARKFUN8U2 │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── STANGE_ISP │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── STK525 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Dataflash.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── STK526 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Dataflash.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── TEENSY │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── TUL │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── U2S │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── UDIP │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── UNO │ │ │ │ │ ├── Board.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── USB2AX │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── USBFOO │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── USBKEY │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Dataflash.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── USBTINYMKII │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ └── XPLAIN │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Dataflash.h │ │ │ │ │ └── LEDs.h │ │ │ ├── Board.h │ │ │ ├── Buttons.h │ │ │ ├── Dataflash.h │ │ │ ├── Joystick.h │ │ │ ├── LEDs.h │ │ │ ├── Temperature.c │ │ │ ├── Temperature.h │ │ │ ├── UC3 │ │ │ │ ├── EVK1100 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── EVK1101 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ ├── Joystick.h │ │ │ │ │ └── LEDs.h │ │ │ │ ├── EVK1104 │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ │ └── UC3A3_XPLAINED │ │ │ │ │ ├── Board.h │ │ │ │ │ ├── Buttons.h │ │ │ │ │ └── LEDs.h │ │ │ └── XMEGA │ │ │ │ ├── A3BU_XPLAINED │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ └── LEDs.h │ │ │ │ ├── B1_XPLAINED │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ ├── Dataflash.h │ │ │ │ └── LEDs.h │ │ │ │ └── C3_XPLAINED │ │ │ │ ├── Board.h │ │ │ │ ├── Buttons.h │ │ │ │ └── LEDs.h │ │ ├── Misc │ │ │ ├── AT45DB321C.h │ │ │ ├── AT45DB642D.h │ │ │ ├── RingBuffer.h │ │ │ └── TerminalCodes.h │ │ ├── Peripheral │ │ │ ├── ADC.h │ │ │ ├── AVR8 │ │ │ │ ├── ADC_AVR8.h │ │ │ │ ├── SPI_AVR8.h │ │ │ │ ├── SerialSPI_AVR8.h │ │ │ │ ├── Serial_AVR8.c │ │ │ │ ├── Serial_AVR8.h │ │ │ │ ├── TWI_AVR8.c │ │ │ │ └── TWI_AVR8.h │ │ │ ├── SPI.h │ │ │ ├── Serial.h │ │ │ ├── SerialSPI.h │ │ │ ├── TWI.h │ │ │ └── XMEGA │ │ │ │ ├── SPI_XMEGA.h │ │ │ │ ├── SerialSPI_XMEGA.h │ │ │ │ ├── Serial_XMEGA.c │ │ │ │ ├── Serial_XMEGA.h │ │ │ │ ├── TWI_XMEGA.c │ │ │ │ └── TWI_XMEGA.h │ │ └── USB │ │ │ ├── Class │ │ │ ├── AndroidAccessoryClass.h │ │ │ ├── AudioClass.h │ │ │ ├── CDCClass.h │ │ │ ├── Common │ │ │ │ ├── AndroidAccessoryClassCommon.h │ │ │ │ ├── AudioClassCommon.h │ │ │ │ ├── CDCClassCommon.h │ │ │ │ ├── HIDClassCommon.h │ │ │ │ ├── HIDParser.c │ │ │ │ ├── HIDParser.h │ │ │ │ ├── HIDReportData.h │ │ │ │ ├── MIDIClassCommon.h │ │ │ │ ├── MassStorageClassCommon.h │ │ │ │ ├── PrinterClassCommon.h │ │ │ │ ├── RNDISClassCommon.h │ │ │ │ └── StillImageClassCommon.h │ │ │ ├── Device │ │ │ │ ├── AudioClassDevice.c │ │ │ │ ├── AudioClassDevice.h │ │ │ │ ├── CDCClassDevice.c │ │ │ │ ├── CDCClassDevice.h │ │ │ │ ├── HIDClassDevice.c │ │ │ │ ├── HIDClassDevice.h │ │ │ │ ├── MIDIClassDevice.c │ │ │ │ ├── MIDIClassDevice.h │ │ │ │ ├── MassStorageClassDevice.c │ │ │ │ ├── MassStorageClassDevice.h │ │ │ │ ├── PrinterClassDevice.c │ │ │ │ ├── PrinterClassDevice.h │ │ │ │ ├── RNDISClassDevice.c │ │ │ │ └── RNDISClassDevice.h │ │ │ ├── HIDClass.h │ │ │ ├── Host │ │ │ │ ├── AndroidAccessoryClassHost.c │ │ │ │ ├── AndroidAccessoryClassHost.h │ │ │ │ ├── AudioClassHost.c │ │ │ │ ├── AudioClassHost.h │ │ │ │ ├── CDCClassHost.c │ │ │ │ ├── CDCClassHost.h │ │ │ │ ├── HIDClassHost.c │ │ │ │ ├── HIDClassHost.h │ │ │ │ ├── MIDIClassHost.c │ │ │ │ ├── MIDIClassHost.h │ │ │ │ ├── MassStorageClassHost.c │ │ │ │ ├── MassStorageClassHost.h │ │ │ │ ├── PrinterClassHost.c │ │ │ │ ├── PrinterClassHost.h │ │ │ │ ├── RNDISClassHost.c │ │ │ │ ├── RNDISClassHost.h │ │ │ │ ├── StillImageClassHost.c │ │ │ │ └── StillImageClassHost.h │ │ │ ├── MIDIClass.h │ │ │ ├── MassStorageClass.h │ │ │ ├── PrinterClass.h │ │ │ ├── RNDISClass.h │ │ │ └── StillImageClass.h │ │ │ ├── Core │ │ │ ├── AVR8 │ │ │ │ ├── Device_AVR8.c │ │ │ │ ├── Device_AVR8.h │ │ │ │ ├── EndpointStream_AVR8.c │ │ │ │ ├── EndpointStream_AVR8.h │ │ │ │ ├── Endpoint_AVR8.c │ │ │ │ ├── Endpoint_AVR8.h │ │ │ │ ├── Host_AVR8.c │ │ │ │ ├── Host_AVR8.h │ │ │ │ ├── OTG_AVR8.h │ │ │ │ ├── PipeStream_AVR8.c │ │ │ │ ├── PipeStream_AVR8.h │ │ │ │ ├── Pipe_AVR8.c │ │ │ │ ├── Pipe_AVR8.h │ │ │ │ ├── Template │ │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ │ ├── Template_Endpoint_RW.c │ │ │ │ │ └── Template_Pipe_RW.c │ │ │ │ ├── USBController_AVR8.c │ │ │ │ ├── USBController_AVR8.h │ │ │ │ ├── USBInterrupt_AVR8.c │ │ │ │ └── USBInterrupt_AVR8.h │ │ │ ├── ConfigDescriptors.c │ │ │ ├── ConfigDescriptors.h │ │ │ ├── Device.h │ │ │ ├── DeviceStandardReq.c │ │ │ ├── DeviceStandardReq.h │ │ │ ├── Endpoint.h │ │ │ ├── EndpointStream.h │ │ │ ├── Events.c │ │ │ ├── Events.h │ │ │ ├── Host.h │ │ │ ├── HostStandardReq.c │ │ │ ├── HostStandardReq.h │ │ │ ├── OTG.h │ │ │ ├── Pipe.h │ │ │ ├── PipeStream.h │ │ │ ├── StdDescriptors.h │ │ │ ├── StdRequestType.h │ │ │ ├── UC3 │ │ │ │ ├── Device_UC3.c │ │ │ │ ├── Device_UC3.h │ │ │ │ ├── EndpointStream_UC3.c │ │ │ │ ├── EndpointStream_UC3.h │ │ │ │ ├── Endpoint_UC3.c │ │ │ │ ├── Endpoint_UC3.h │ │ │ │ ├── Host_UC3.c │ │ │ │ ├── Host_UC3.h │ │ │ │ ├── PipeStream_UC3.c │ │ │ │ ├── PipeStream_UC3.h │ │ │ │ ├── Pipe_UC3.c │ │ │ │ ├── Pipe_UC3.h │ │ │ │ ├── Template │ │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ │ ├── Template_Endpoint_RW.c │ │ │ │ │ └── Template_Pipe_RW.c │ │ │ │ ├── USBController_UC3.c │ │ │ │ ├── USBController_UC3.h │ │ │ │ ├── USBInterrupt_UC3.c │ │ │ │ └── USBInterrupt_UC3.h │ │ │ ├── USBController.h │ │ │ ├── USBInterrupt.h │ │ │ ├── USBMode.h │ │ │ ├── USBTask.c │ │ │ ├── USBTask.h │ │ │ └── XMEGA │ │ │ │ ├── Device_XMEGA.c │ │ │ │ ├── Device_XMEGA.h │ │ │ │ ├── EndpointStream_XMEGA.c │ │ │ │ ├── EndpointStream_XMEGA.h │ │ │ │ ├── Endpoint_XMEGA.c │ │ │ │ ├── Endpoint_XMEGA.h │ │ │ │ ├── Host_XMEGA.c │ │ │ │ ├── PipeStream_XMEGA.c │ │ │ │ ├── Pipe_XMEGA.c │ │ │ │ ├── Template │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ └── Template_Endpoint_RW.c │ │ │ │ ├── USBController_XMEGA.c │ │ │ │ ├── USBController_XMEGA.h │ │ │ │ ├── USBInterrupt_XMEGA.c │ │ │ │ └── USBInterrupt_XMEGA.h │ │ │ └── USB.h │ │ ├── License.txt │ │ ├── Platform │ │ ├── Platform.h │ │ ├── UC3 │ │ │ ├── ClockManagement.h │ │ │ ├── Exception.S │ │ │ ├── InterruptManagement.c │ │ │ ├── InterruptManagement.h │ │ │ └── UC3ExperimentalInfo.txt │ │ └── XMEGA │ │ │ ├── ClockManagement.h │ │ │ └── XMEGAExperimentalInfo.txt │ │ ├── StudioIntegration │ │ ├── Docbook │ │ │ ├── mshelp │ │ │ │ └── placeholder.txt │ │ │ └── placeholder.txt │ │ ├── HV1 │ │ │ ├── helpcontentsetup.msha │ │ │ ├── lufa_docbook_transform.xslt │ │ │ ├── lufa_helpcontentsetup_transform.xslt │ │ │ ├── lufa_hv1_transform.xslt │ │ │ └── lufa_studio_help_styling.css │ │ ├── ProjectGenerator │ │ │ └── placeholder.txt │ │ ├── VSIX │ │ │ ├── LUFA.dll │ │ │ ├── LUFA.pkgdef │ │ │ ├── [Content_Types].xml │ │ │ ├── asf-manifest.xml │ │ │ ├── extension.vsixmanifest │ │ │ ├── generate_caches.py │ │ │ ├── lufa_asfmanifest_transform.xslt │ │ │ └── lufa_vsmanifest_transform.xslt │ │ ├── XDK │ │ │ ├── lufa_extension_transform.xslt │ │ │ ├── lufa_filelist_transform.xslt │ │ │ ├── lufa_indent_transform.xslt │ │ │ └── lufa_module_transform.xslt │ │ ├── lufa.xml │ │ ├── lufa_common.xml │ │ ├── lufa_drivers_board.xml │ │ ├── lufa_drivers_board_names.xml │ │ ├── lufa_drivers_misc.xml │ │ ├── lufa_drivers_peripheral.xml │ │ ├── lufa_drivers_usb.xml │ │ ├── lufa_drivers_usb_class.xml │ │ ├── lufa_drivers_usb_class_android.xml │ │ ├── lufa_drivers_usb_class_audio.xml │ │ ├── lufa_drivers_usb_class_cdc.xml │ │ ├── lufa_drivers_usb_class_hid.xml │ │ ├── lufa_drivers_usb_class_midi.xml │ │ ├── lufa_drivers_usb_class_ms.xml │ │ ├── lufa_drivers_usb_class_printer.xml │ │ ├── lufa_drivers_usb_class_rndis.xml │ │ ├── lufa_drivers_usb_class_si.xml │ │ ├── lufa_drivers_usb_core.xml │ │ ├── lufa_drivers_usb_core_avr8.xml │ │ ├── lufa_drivers_usb_core_uc3.xml │ │ ├── lufa_drivers_usb_core_xmega.xml │ │ ├── lufa_platform.xml │ │ ├── lufa_platform_uc3.xml │ │ ├── lufa_platform_xmega.xml │ │ ├── lufa_toolchain.xml │ │ └── makefile │ │ ├── Version.h │ │ └── makefile ├── LICENSE ├── README.md └── Software │ ├── LICENSE │ ├── README.md │ ├── img │ └── screenshot.png │ └── src │ ├── lib │ ├── __init__.py │ └── pyCham.py │ └── pycham.py └── Software ├── Chameleon ├── Device.py ├── ISO14443.py ├── Log.py ├── MFDESFire.py ├── XModem.py ├── __init__.py └── utils.py ├── EM4233_010Editor_Template.bt ├── LICENSE ├── README.md ├── chamlog.py ├── chamtool.py └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | *.pyc 4 | -------------------------------------------------------------------------------- /Chameleon_Work_20200603-262956-o_1e9sqf190sg18bc1ftd121nr7pr-uid-2340331.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Chameleon_Work_20200603-262956-o_1e9sqf190sg18bc1ftd121nr7pr-uid-2340331.apk -------------------------------------------------------------------------------- /Doc/Doxygen/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/bc_s.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/bdwn.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/closed.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/doc.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/doxygen.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/folderclosed.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/folderopen.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/menudata.js: -------------------------------------------------------------------------------- 1 | var menudata={children:[ 2 | {text:"Main Page",url:"index.html"}, 3 | {text:"Related Pages",url:"pages.html"}, 4 | {text:"Classes",url:"annotated.html",children:[ 5 | {text:"Class List",url:"annotated.html"}, 6 | {text:"Class Index",url:"classes.html"}, 7 | {text:"Class Members",url:"functions.html",children:[ 8 | {text:"All",url:"functions.html"}, 9 | {text:"Variables",url:"functions_vars.html"}]}]}, 10 | {text:"Files",url:"files.html",children:[ 11 | {text:"File List",url:"files.html"}, 12 | {text:"File Members",url:"globals.html",children:[ 13 | {text:"All",url:"globals.html",children:[ 14 | {text:"c",url:"globals.html#index_c"}, 15 | {text:"d",url:"globals.html#index_d"}, 16 | {text:"l",url:"globals.html#index_l"}, 17 | {text:"m",url:"globals.html#index_m"}, 18 | {text:"p",url:"globals.html#index_p"}]}, 19 | {text:"Functions",url:"globals_func.html"}, 20 | {text:"Variables",url:"globals_vars.html"}, 21 | {text:"Enumerations",url:"globals_enum.html"}, 22 | {text:"Enumerator",url:"globals_eval.html"}, 23 | {text:"Macros",url:"globals_defs.html"}]}]}]} 24 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/nav_f.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/nav_g.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/nav_h.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/open.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['applicationgetuidfunc',['ApplicationGetUidFunc',['../struct_configuration_type.html#a9d31886f03ebf75d59611b7dbe81aeca',1,'ConfigurationType']]], 4 | ['applicationinitfunc',['ApplicationInitFunc',['../struct_configuration_type.html#a835db40b131727b32d732585e8984d4a',1,'ConfigurationType']]], 5 | ['applicationprocessfunc',['ApplicationProcessFunc',['../struct_configuration_type.html#a12036017f3f9e7a0c6a168539e262571',1,'ConfigurationType']]], 6 | ['applicationresetfunc',['ApplicationResetFunc',['../struct_configuration_type.html#abcb24589b62d04a8aa3e7d129e87e239',1,'ConfigurationType']]], 7 | ['applicationsetuidfunc',['ApplicationSetUidFunc',['../struct_configuration_type.html#afd1eeffbd4b0aeab57449e57f67cd400',1,'ConfigurationType']]], 8 | ['applicationtaskfunc',['ApplicationTaskFunc',['../struct_configuration_type.html#a9e695aaf0fd0bb6e5165b23c654e9346',1,'ConfigurationType']]], 9 | ['applicationtickfunc',['ApplicationTickFunc',['../struct_configuration_type.html#a902e157e8657cd7bb2ef5211c1a6bc58',1,'ConfigurationType']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['buttons_2etxt',['Buttons.txt',['../_buttons_8txt.html',1,'']]], 4 | ['buttons',['Buttons',['../_page__buttons.html',1,'index']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['devicedescriptor',['DeviceDescriptor',['../_l_u_f_a_descriptors_8c.html#addd196cc2b517282c4dc2a694313b6ac',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gettingstarted_2etxt',['GettingStarted.txt',['../_getting_started_8txt.html',1,'']]], 4 | ['getting_20started',['Getting Started',['../_page__getting_started.html',1,'index']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iso14443a_20reader_20functionality',['ISO14443A Reader Functionality',['../_page_14443_a_reader.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2etxt',['MainPage.txt',['../_main_page_8txt.html',1,'']]], 4 | ['manufacturerstring',['ManufacturerString',['../_l_u_f_a_descriptors_8c.html#a84557c5ab5d188d8d7cfdbfe6de20f02',1,'LUFADescriptors.c']]], 5 | ['memorysize',['MemorySize',['../struct_configuration_type.html#a53854068c955c57a0a564bc9f7b16dd7',1,'ConfigurationType']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pendingtasktimeout',['PendingTaskTimeout',['../struct_settings_entry_type.html#a8c13c87e174691cb0dbbbf555853829d',1,'SettingsEntryType']]], 4 | ['productstring',['ProductString',['../_l_u_f_a_descriptors_8c.html#ad68575f70b5d6ab576068eec9d59fafb',1,'LUFADescriptors.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reader_2etxt',['Reader.txt',['../_reader_8txt.html',1,'']]], 4 | ['readonly',['ReadOnly',['../struct_configuration_type.html#af1ed4e624b9bd8cb65743b5cbc0be2bf',1,'ConfigurationType']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['settings',['Settings',['../_page__settings.html',1,'index']]], 4 | ['settings_2eh',['Settings.h',['../_settings_8h.html',1,'']]], 5 | ['settings_2etxt',['Settings.txt',['../_settings_8txt.html',1,'']]], 6 | ['settingsentrytype',['SettingsEntryType',['../struct_settings_entry_type.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20chameleon_20command_20structure',['The Chameleon Command Structure',['../_page__command_line.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploading_20and_20downloading_20memory_20dumps',['Uploading and Downloading Memory dumps',['../_page__uploading_downloading.html',1,'index']]], 4 | ['uidsize',['UidSize',['../struct_configuration_type.html#ac730d8b9dc9e728bb10069ea1917d99f',1,'ConfigurationType']]], 5 | ['uploadingdownloading_2etxt',['UploadingDownloading.txt',['../_uploading_downloading_8txt.html',1,'']]], 6 | ['usb_5fdescriptor_5fconfiguration_5ft',['USB_Descriptor_Configuration_t',['../struct_u_s_b___descriptor___configuration__t.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['configurationtype',['ConfigurationType',['../struct_configuration_type.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['settingsentrytype',['SettingsEntryType',['../struct_settings_entry_type.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['usb_5fdescriptor_5fconfiguration_5ft',['USB_Descriptor_Configuration_t',['../struct_u_s_b___descriptor___configuration__t.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/search/close.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/defines_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cdc_5fnotification_5fepaddr',['CDC_NOTIFICATION_EPADDR',['../_l_u_f_a_descriptors_8h.html#a375d8befdd497fa6548ed0f72cb0d85d',1,'LUFADescriptors.h']]], 4 | ['cdc_5fnotification_5fepsize',['CDC_NOTIFICATION_EPSIZE',['../_l_u_f_a_descriptors_8h.html#a1cfffa25431375dde9c6c880212f43b6',1,'LUFADescriptors.h']]], 5 | ['cdc_5frx_5fepaddr',['CDC_RX_EPADDR',['../_l_u_f_a_descriptors_8h.html#a5051b28e57390b0072358e2dc602083e',1,'LUFADescriptors.h']]], 6 | ['cdc_5ftx_5fepaddr',['CDC_TX_EPADDR',['../_l_u_f_a_descriptors_8h.html#a2114400269fd643e0e3b597df6a8930d',1,'LUFADescriptors.h']]], 7 | ['cdc_5ftxrx_5fepsize',['CDC_TXRX_EPSIZE',['../_l_u_f_a_descriptors_8h.html#aef7fa1919196a302fd0f8b1079e008be',1,'LUFADescriptors.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/enums_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['logentryenum',['LogEntryEnum',['../_log_8h.html#a34112fbd78128ae58dc7801690dfa6e0',1,'Log.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/enumvalues_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['buttons_2etxt',['Buttons.txt',['../_buttons_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['commandline_2etxt',['CommandLine.txt',['../_command_line_8txt.html',1,'']]], 4 | ['configuration_2eh',['Configuration.h',['../_configuration_8h.html',1,'']]], 5 | ['configurations_2etxt',['Configurations.txt',['../_configurations_8txt.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gettingstarted_2etxt',['GettingStarted.txt',['../_getting_started_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['led_2etxt',['LED.txt',['../_l_e_d_8txt.html',1,'']]], 4 | ['leds_2etxt',['LEDs.txt',['../_l_e_ds_8txt.html',1,'']]], 5 | ['log_2eh',['Log.h',['../_log_8h.html',1,'']]], 6 | ['log_2etxt',['Log.txt',['../_log_8txt.html',1,'']]], 7 | ['lufaconfig_2eh',['LUFAConfig.h',['../_l_u_f_a_config_8h.html',1,'']]], 8 | ['lufadescriptors_2ec',['LUFADescriptors.c',['../_l_u_f_a_descriptors_8c.html',1,'']]], 9 | ['lufadescriptors_2eh',['LUFADescriptors.h',['../_l_u_f_a_descriptors_8h.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2etxt',['MainPage.txt',['../_main_page_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reader_2etxt',['Reader.txt',['../_reader_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['settings_2eh',['Settings.h',['../_settings_8h.html',1,'']]], 4 | ['settings_2etxt',['Settings.txt',['../_settings_8txt.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploadingdownloading_2etxt',['UploadingDownloading.txt',['../_uploading_downloading_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['callback_5fusb_5fgetdescriptor',['CALLBACK_USB_GetDescriptor',['../_l_u_f_a_descriptors_8c.html#a4d7def6e037bf75e86c24e3adb18d705',1,'CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress): LUFADescriptors.c'],['../_l_u_f_a_descriptors_8h.html#a205665735698917df77439b51d372e64',1,'CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3): LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/search/mag_sel.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['buttons',['Buttons',['../_page__buttons.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['configurations',['Configurations',['../_page__configurations.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting Started',['../_page__getting_started.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iso14443a_20reader_20functionality',['ISO14443A Reader Functionality',['../_page_14443_a_reader.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['led_20functionality',['LED functionality',['../_page__l_e_d.html',1,'']]], 4 | ['led_20functionality',['LED functionality',['../_page__l_e_ds.html',1,'index']]], 5 | ['log_20functionality',['Log functionality',['../_page__log.html',1,'index']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['settings',['Settings',['../_page__settings.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20chameleon_20command_20structure',['The Chameleon Command Structure',['../_page__command_line.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/pages_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploading_20and_20downloading_20memory_20dumps',['Uploading and Downloading Memory dumps',['../_page__uploading_downloading.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/search/search_l.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/search/search_m.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/search/search_r.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdgilmprstu", 4 | 1: "csu", 5 | 2: "bcglmrsu", 6 | 3: "c", 7 | 4: "acdlmpru", 8 | 5: "l", 9 | 6: "l", 10 | 7: "c", 11 | 8: "bcgilstu" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "files", 19 | 3: "functions", 20 | 4: "variables", 21 | 5: "enums", 22 | 6: "enumvalues", 23 | 7: "defines", 24 | 8: "pages" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Classes", 31 | 2: "Files", 32 | 3: "Functions", 33 | 4: "Variables", 34 | 5: "Enumerations", 35 | 6: "Enumerator", 36 | 7: "Macros", 37 | 8: "Pages" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['applicationgetuidfunc',['ApplicationGetUidFunc',['../struct_configuration_type.html#a9d31886f03ebf75d59611b7dbe81aeca',1,'ConfigurationType']]], 4 | ['applicationinitfunc',['ApplicationInitFunc',['../struct_configuration_type.html#a835db40b131727b32d732585e8984d4a',1,'ConfigurationType']]], 5 | ['applicationprocessfunc',['ApplicationProcessFunc',['../struct_configuration_type.html#a12036017f3f9e7a0c6a168539e262571',1,'ConfigurationType']]], 6 | ['applicationresetfunc',['ApplicationResetFunc',['../struct_configuration_type.html#abcb24589b62d04a8aa3e7d129e87e239',1,'ConfigurationType']]], 7 | ['applicationsetuidfunc',['ApplicationSetUidFunc',['../struct_configuration_type.html#afd1eeffbd4b0aeab57449e57f67cd400',1,'ConfigurationType']]], 8 | ['applicationtaskfunc',['ApplicationTaskFunc',['../struct_configuration_type.html#a9e695aaf0fd0bb6e5165b23c654e9346',1,'ConfigurationType']]], 9 | ['applicationtickfunc',['ApplicationTickFunc',['../struct_configuration_type.html#a902e157e8657cd7bb2ef5211c1a6bc58',1,'ConfigurationType']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['codecdeinitfunc',['CodecDeInitFunc',['../struct_configuration_type.html#a2b3fe0c8c0643102a8f07157fa0265f7',1,'ConfigurationType']]], 4 | ['codecinitfunc',['CodecInitFunc',['../struct_configuration_type.html#a2e62a9c3c9361a09c94505dff5820a9b',1,'ConfigurationType']]], 5 | ['codectaskfunc',['CodecTaskFunc',['../struct_configuration_type.html#afcabcce06f07798a43b95d0cf4d05db2',1,'ConfigurationType']]], 6 | ['configuration',['Configuration',['../struct_settings_entry_type.html#a3356abc0d4b2c66663a998830ba810db',1,'SettingsEntryType']]], 7 | ['configurationdescriptor',['ConfigurationDescriptor',['../_l_u_f_a_descriptors_8c.html#a59d882a5961a04a054fab63be98c3b80',1,'LUFADescriptors.c']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['devicedescriptor',['DeviceDescriptor',['../_l_u_f_a_descriptors_8c.html#addd196cc2b517282c4dc2a694313b6ac',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['languagestring',['LanguageString',['../_l_u_f_a_descriptors_8c.html#a2706320165dd3831bf525233371d7af9',1,'LUFADescriptors.c']]], 4 | ['ledgreenfunction',['LEDGreenFunction',['../struct_settings_entry_type.html#a178766edbb1fae270c733106c936ec5e',1,'SettingsEntryType']]], 5 | ['ledredfunction',['LEDRedFunction',['../struct_settings_entry_type.html#abc547dcb36868b52ea63bad2905e8751',1,'SettingsEntryType']]], 6 | ['logmode',['LogMode',['../struct_settings_entry_type.html#a2de0f2e5da183f58d0a46c69e530905f',1,'SettingsEntryType']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['manufacturerstring',['ManufacturerString',['../_l_u_f_a_descriptors_8c.html#a84557c5ab5d188d8d7cfdbfe6de20f02',1,'LUFADescriptors.c']]], 4 | ['memorysize',['MemorySize',['../struct_configuration_type.html#a53854068c955c57a0a564bc9f7b16dd7',1,'ConfigurationType']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pendingtasktimeout',['PendingTaskTimeout',['../struct_settings_entry_type.html#a8c13c87e174691cb0dbbbf555853829d',1,'SettingsEntryType']]], 4 | ['productstring',['ProductString',['../_l_u_f_a_descriptors_8c.html#ad68575f70b5d6ab576068eec9d59fafb',1,'LUFADescriptors.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readonly',['ReadOnly',['../struct_configuration_type.html#af1ed4e624b9bd8cb65743b5cbc0be2bf',1,'ConfigurationType']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uidsize',['UidSize',['../struct_configuration_type.html#ac730d8b9dc9e728bb10069ea1917d99f',1,'ConfigurationType']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Doc/Doxygen/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/splitbar.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/sync_off.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/sync_on.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/tab_a.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/tab_b.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/tab_h.png -------------------------------------------------------------------------------- /Doc/Doxygen/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/Doxygen/html/tab_s.png -------------------------------------------------------------------------------- /Doc/DoxygenPages/.Configurations.txt.kate-swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Doc/DoxygenPages/.Configurations.txt.kate-swp -------------------------------------------------------------------------------- /Drivers/98-ChameleonMini.rules: -------------------------------------------------------------------------------- 1 | # Rule for ChameleonMini RFID Research tool 2 | ATTRS{product}=="Chameleon-Mini", SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="04b2", GROUP="users", MODE="0666", SYMLINK+="chameleon", ENV{ID_MM_DEVICE_IGNORE}="1" 3 | -------------------------------------------------------------------------------- /Drivers/ChameleonDriver.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Drivers/ChameleonDriver.cat -------------------------------------------------------------------------------- /Dumps/EM4233_example.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Dumps/EM4233_example.dmp -------------------------------------------------------------------------------- /Dumps/MFC1k_randomContent_fixedKeys.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Dumps/MFC1k_randomContent_fixedKeys.mfd -------------------------------------------------------------------------------- /Dumps/MFC4k_randomContent_fixedKeys.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Dumps/MFC4k_randomContent_fixedKeys.mfd -------------------------------------------------------------------------------- /Dumps/MifareClassic1K.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Dumps/MifareClassic1K.mfd -------------------------------------------------------------------------------- /Dumps/MifareUltralight.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Dumps/MifareUltralight.mfd -------------------------------------------------------------------------------- /Firmware/Atmel DFU Bootloader/GenerateBootloader.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM This script generates the bootloader for the actual device by combining the modified Atmel 4 | REM bootloader located in BOOTDIR with the SPM helper that is being generated by make in BUILDDIR 5 | REM Uses srec_cat to append the hex files 6 | 7 | SET MCU=atxmega128a4u 8 | SET PIN=PA6 9 | SET VER=104 10 | SET BUILDDIR=Chameleon-Mini 11 | SET BUILDHEX=Chameleon-Mini.hex 12 | SET BOOTDIR=Atmel-DFU-Bootloader 13 | SET BOOTHEX=%MCU%_%VER%_%PIN%.hex 14 | SET OUTHEX=bootloader-%MCU%-%VER%-%PIN%-SPM.hex 15 | SET WORKDIR=%CD% 16 | 17 | REM Enter build directory and build SPM helper 18 | cd %BUILDDIR% 19 | make clean 20 | make spmhelper MCU='%MCU%' 21 | 22 | REM Return to working directory and combine generated HEX files into one 23 | cd %WORKDIR% 24 | 25 | ECHO Generating bootloader by combining %BOOTHEX% and %BUILDHEX% into %OUTHEX% 26 | ECHO. 27 | 28 | srec_cat %BOOTDIR%\%BOOTHEX% -intel %BUILDDIR%\%BUILDHEX% -intel -o %OUTHEX% -intel -line-length 44 29 | 30 | ECHO Done -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/.gitignore: -------------------------------------------------------------------------------- 1 | /Chameleon-*.eep 2 | /Chameleon-*.hex 3 | /Chameleon-*.elf 4 | /Chameleon-*.map 5 | /Chameleon-*.bin 6 | /Chameleon-*.lss 7 | /Chameleon-*.sym 8 | /Bin/ 9 | dfu-programmer 10 | dfu-programmer.exe 11 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/AntennaLevel.c: -------------------------------------------------------------------------------- 1 | #include "AntennaLevel.h" 2 | #include "LEDHook.h" 3 | #include "Application/Application.h" 4 | 5 | #define FIELD_MIN_RSSI 500 6 | 7 | void AntennaLevelTick(void) { 8 | uint16_t rssi = AntennaLevelGet(); 9 | 10 | if (rssi < FIELD_MIN_RSSI) { 11 | LEDHook(LED_FIELD_DETECTED, LED_OFF); 12 | if (ActiveConfiguration.UidSize != 0) // this implies that we are emulating right now 13 | ApplicationReset(); // reset the application just like a real card gets reset when there is no field 14 | } else { 15 | LEDHook(LED_FIELD_DETECTED, LED_ON); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/IClass.h: -------------------------------------------------------------------------------- 1 | /* 2 | * IClass.c 3 | * 4 | * Created on: 17-05-2020 5 | * Author: NVX 6 | */ 7 | 8 | #ifndef ICLASS_H_ 9 | #define ICLASS_H_ 10 | 11 | #include "Application.h" 12 | 13 | #define ICLASS_BLOCK_SIZE 8 14 | #define ICLASS_CSN_SIZE ICLASS_BLOCK_SIZE 15 | #define ICLASS_BLOCK_NUM 32 16 | #define ICLASS_MEM_SIZE ( ICLASS_BLOCK_SIZE * ICLASS_BLOCK_NUM ) 17 | #define ICLASS_READ4_SIZE ( ICLASS_BLOCK_SIZE * 4 ) 18 | 19 | void IClassAppInit(void); 20 | void IClassAppReset(void); 21 | void IClassDetectionInit(void); 22 | uint16_t IClassAppProcess(uint8_t *FrameBuf, uint16_t FrameBytes); 23 | void IClassGetCsn(ConfigurationUidType Uid); 24 | void IClassSetCsn(const ConfigurationUidType Uid); 25 | 26 | #endif /* ICLASS_H_ */ 27 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/Sl2s2002.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareClassic.h 3 | * 4 | * Created on: 01.03.2017 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef SL2S2002_H_ 9 | #define SL2S2002_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO15693-A.h" 13 | 14 | void Sl2s2002AppInit(void); 15 | void Sl2s2002AppReset(void); 16 | void Sl2s2002AppTask(void); 17 | void Sl2s2002AppTick(void); 18 | uint16_t Sl2s2002AppProcess(uint8_t *FrameBuf, uint16_t FrameBytes); 19 | void Sl2s2002GetUid(ConfigurationUidType Uid); 20 | void Sl2s2002SetUid(ConfigurationUidType Uid); 21 | 22 | 23 | 24 | #endif /* VICINITY_H_ */ 25 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/Sniff14443A.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Zitai Chen on 25/07/2018. 3 | // 4 | 5 | #ifndef CHAMELEON_MINI_SNIFF14443A_H 6 | #define CHAMELEON_MINI_SNIFF14443A_H 7 | 8 | #include 9 | 10 | void Sniff14443AAppInit(void); 11 | void Sniff14443AAppReset(void); 12 | void Sniff14443AAppTask(void); 13 | void Sniff14443AAppTick(void); 14 | void Sniff14443AAppTimeout(void); 15 | 16 | uint16_t Sniff14443AAppProcess(uint8_t *Buffer, uint16_t BitCount); 17 | 18 | typedef enum { 19 | Sniff14443_Do_Nothing, 20 | Sniff14443_Autocalibrate, 21 | } Sniff14443Command; 22 | 23 | #endif //CHAMELEON_MINI_SNIFF14443A_H 24 | 25 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/Sniff15693.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SniffISO15693.h 3 | * 4 | * Created on: 05.11.2019 5 | * Author: ceres-c 6 | */ 7 | 8 | #ifdef CONFIG_ISO15693_SNIFF_SUPPORT 9 | 10 | #include "../Codec/SniffISO15693.h" 11 | #include "Sniff15693.h" 12 | 13 | void SniffISO15693AppInit(void) 14 | { 15 | } 16 | 17 | void SniffISO15693AppReset(void) 18 | { 19 | } 20 | 21 | 22 | void SniffISO15693AppTask(void) 23 | { 24 | 25 | } 26 | 27 | void SniffISO15693AppTick(void) 28 | { 29 | 30 | 31 | } 32 | 33 | uint16_t SniffISO15693AppProcess(uint8_t* FrameBuf, uint16_t FrameBytes) 34 | { 35 | return 0; 36 | } 37 | 38 | #endif /* CONFIG_ISO15693_SNIFF_SUPPORT */ 39 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/Sniff15693.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SniffISO15693.h 3 | * 4 | * Created on: 05.11.2019 5 | * Author: ceres-c 6 | */ 7 | 8 | #ifndef SNIFF_15693_H_ 9 | #define SNIFF_15693_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO15693-A.h" 13 | 14 | void SniffISO15693AppInit(void); 15 | void SniffISO15693AppReset(void); 16 | void SniffISO15693AppTask(void); 17 | void SniffISO15693AppTick(void); 18 | uint16_t SniffISO15693AppProcess(uint8_t* FrameBuf, uint16_t FrameBytes); 19 | 20 | #endif /* SNIFF_15693_H_ */ 21 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Application/Vicinity.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareClassic.h 3 | * 4 | * Created on: 01.03.2017 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef VICINITY_H_ 9 | #define VICINITY_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO15693-A.h" 13 | 14 | void VicinityAppInit(void); 15 | void VicinityAppReset(void); 16 | void VicinityAppTask(void); 17 | void VicinityAppTick(void); 18 | uint16_t VicinityAppProcess(uint8_t *FrameBuf, uint16_t FrameBytes); 19 | void VicinityGetUid(ConfigurationUidType Uid); 20 | void VicinitySetUid(ConfigurationUidType Uid); 21 | 22 | 23 | 24 | #endif /* VICINITY_H_ */ 25 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Battery.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Battery.h 3 | * 4 | * Created on: 20.08.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef BATTERY_H_ 9 | #define BATTERY_H_ 10 | 11 | #include "Common.h" 12 | 13 | #define BATTERY_PORT PORTD 14 | #define BATTERY_STAT_PIN PIN0_bm 15 | #define BATTERY_STAT_PINCTRL PIN0CTRL 16 | #define BATTERY_PORT_MASK (BATTERY_STAT_PIN) 17 | 18 | INLINE void BatteryInit(void) { 19 | BATTERY_PORT.DIRCLR = BATTERY_PORT_MASK; 20 | BATTERY_PORT.BATTERY_STAT_PINCTRL = PORT_OPC_PULLUP_gc; 21 | } 22 | 23 | INLINE bool BatteryIsCharging(void) { 24 | if (!(BATTERY_PORT.IN & BATTERY_STAT_PIN)) { 25 | return true; 26 | } else { 27 | return false; 28 | } 29 | } 30 | 31 | #endif /* BATTERY_H_ */ 32 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Chameleon-Mini.h: -------------------------------------------------------------------------------- 1 | #ifndef CHAMELEON_MINI_H 2 | #define CHAMELEON_MINI_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "System.h" 10 | #include "Memory.h" 11 | #include "LED.h" 12 | #include "LEDHook.h" 13 | #include "Terminal/Terminal.h" 14 | #include "Codec/Codec.h" 15 | #include "Application/Application.h" 16 | #include "Configuration.h" 17 | #include "Random.h" 18 | #include "Button.h" 19 | #include "Log.h" 20 | #include "AntennaLevel.h" 21 | #include "Settings.h" 22 | 23 | #define CHAMELEON_MINI_VERSION_STRING __DATE__ 24 | 25 | #endif //CHAMELEON_MINI_H 26 | 27 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Codec/ISO14443-2A.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ISO14443-2A.h 3 | * 4 | * Created on: 18.02.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef ISO14443_2A_H_ 9 | #define ISO14443_2A_H_ 10 | 11 | #include "Codec.h" 12 | 13 | #define ISO14443A_APP_NO_RESPONSE 0x0000 14 | #define ISO14443A_APP_CUSTOM_PARITY 0x1000 15 | 16 | #define ISO14443A_BUFFER_PARITY_OFFSET (CODEC_BUFFER_SIZE/2) 17 | 18 | /* Codec Interface */ 19 | void ISO14443ACodecInit(void); 20 | void ISO14443ACodecDeInit(void); 21 | void ISO14443ACodecTask(void); 22 | 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Codec/ISO15693.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ISO15693.h 3 | * 4 | * Created on: 25.01.2017 5 | * Author: Phillip Nash 6 | */ 7 | 8 | #ifndef ISO15693_H_ 9 | #define ISO15693_H_ 10 | 11 | #include 12 | #include 13 | 14 | #define ISO15693_APP_NO_RESPONSE 0x0000 15 | #define ISO15693_APP_SOF_ONLY 0xFFFF 16 | #define ISO15693_APP_EARLY_SEND 0xFFFE 17 | 18 | /* Codec Interface */ 19 | void ISO15693CodecInit(void); 20 | void ISO15693CodecDeInit(void); 21 | void ISO15693CodecTask(void); 22 | 23 | /* Application Interface */ 24 | void ISO15693CodecStart(void); 25 | void ISO15693CodecReset(void); 26 | void ISO15693StartEarlySend(bool bDualSubcarrier, uint16_t byteCount); 27 | 28 | #endif /* ISO15693_H_ */ 29 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Codec/Reader14443-2A.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Reader14443-2A.h 3 | * 4 | * Created on: 26.08.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef READER14443_2A_H_ 9 | #define READER14443_2A_H_ 10 | 11 | #include "Codec.h" 12 | #include "Terminal/CommandLine.h" 13 | 14 | /* Codec Interface */ 15 | void Reader14443ACodecInit(void); 16 | void Reader14443ACodecDeInit(void); 17 | void Reader14443ACodecTask(void); 18 | 19 | /* Application Interface */ 20 | void Reader14443ACodecStart(void); 21 | void Reader14443ACodecReset(void); 22 | void Reader14443AMillerEOC(void); 23 | 24 | #endif /* READER14443_2A_H_ */ 25 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Codec/SniffISO14443-2A.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Zitai Chen on 05/07/2018. 3 | // 4 | 5 | #ifndef CHAMELEON_MINI_SNIFFISO14443_2A_H 6 | #define CHAMELEON_MINI_SNIFFISO14443_2A_H 7 | 8 | 9 | #include "Codec.h" 10 | #include "Terminal/CommandLine.h" 11 | 12 | /* Codec Interface */ 13 | void Sniff14443ACodecInit(void); 14 | void Sniff14443ACodecDeInit(void); 15 | void Sniff14443ACodecTask(void); 16 | 17 | 18 | 19 | #endif //CHAMELEON_MINI_SNIFFISO14443_2A_H 20 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/DUMP_TEST: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Firmware/Chameleon-Mini/DUMP_TEST -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/LEDHook.h: -------------------------------------------------------------------------------- 1 | /* 2 | * LEDHook.h 3 | * 4 | * Created on: 02.12.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef LEDHOOK_H_ 9 | #define LEDHOOK_H_ 10 | 11 | #include "Settings.h" 12 | 13 | void LEDHook(LEDHookEnum Func, LEDActionEnum Action); 14 | /* 15 | INLINE void LEDHook(LEDHookEnum Func, LEDActionEnum Action) { 16 | extern LEDActionEnum LEDGreenAction; 17 | extern LEDActionEnum LEDRedAction; 18 | 19 | if (GlobalSettings.ActiveSettingPtr->LEDGreenFunction == Func) { 20 | LEDGreenAction = Action; 21 | } 22 | 23 | if (GlobalSettings.ActiveSettingPtr->LEDRedFunction == Func) { 24 | LEDRedAction = Action; 25 | } 26 | } 27 | */ 28 | #endif /* LEDHOOK_H_ */ 29 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Latest/Chameleon-Mini.eep: -------------------------------------------------------------------------------- 1 | :1000000000000000F2330606070700060104320074 2 | :100010009001000606070700060104320090010067 3 | :1000200006060707000601043200900100060607D5 4 | :1000300007000601043200900100060607070006CB 5 | :100040000104320090010006060707000601043291 6 | :100050000090010006060707000601043200900127 7 | :10006000000606070700060104320090010006069C 8 | :0C0070000707000D0104320090010000A1 9 | :00000001FF 10 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Map.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Map.h 3 | * 4 | * Created on: 07.12.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef MAP_H_ 9 | #define MAP_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #define MAP_TEXT_BUF_SIZE 32 16 | #define MAP_MAX_TEXT_SIZE (MAP_TEXT_BUF_SIZE - 1) 17 | 18 | typedef uint8_t MapIdType; 19 | typedef const char *MapTextPtrType; 20 | 21 | const typedef struct { 22 | MapIdType Id; 23 | const char Text[MAP_TEXT_BUF_SIZE]; 24 | } MapEntryType; 25 | 26 | bool MapIdToText(const MapEntryType *MapPtr, uint8_t MapSize, MapIdType Id, char *Text, uint16_t MaxBufferSize); 27 | bool MapTextToId(const MapEntryType *MapPtr, uint8_t MapSize, MapTextPtrType Text, MapIdType *IdPtr); 28 | void MapToString(const MapEntryType *MapPtr, uint8_t MapSize, char *String, uint16_t MaxBufferSize); 29 | 30 | #endif /* MAP_H_ */ 31 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Flash.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MEMORY_H_ 9 | #define MEMORY_H_ 10 | 11 | #define MEMORY_SIZE (FLASH_DATA_SIZE) /* From makefile */ 12 | #define MEMORY_INIT_VALUE 0x00 13 | #define MEMORY_SIZE_PER_SETTING 8192 14 | 15 | #ifndef __ASSEMBLER__ 16 | #include "Common.h" 17 | 18 | void MemoryInit(void); 19 | void MemoryReadBlock(void *Buffer, uint16_t Address, uint16_t ByteCount); 20 | void MemoryWriteBlock(const void *Buffer, uint16_t Address, uint16_t ByteCount); 21 | void MemoryClear(void); 22 | 23 | 24 | void MemoryRecall(void); 25 | void MemoryStore(void); 26 | 27 | /* For use with XModem */ 28 | bool MemoryUploadBlock(void *Buffer, uint32_t BlockAddress, uint16_t ByteCount); 29 | bool MemoryDownloadBlock(void *Buffer, uint32_t BlockAddress, uint16_t ByteCount); 30 | 31 | /* EEPROM functions */ 32 | uint16_t WriteEEPBlock(uint16_t Address, const void *SrcPtr, uint16_t ByteCount); 33 | uint16_t ReadEEPBlock(uint16_t Address, void *DestPtr, uint16_t ByteCount); 34 | 35 | #endif /* __ASSEMBLER__ */ 36 | 37 | #endif /* MEMORY_H_ */ 38 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/README.txt: -------------------------------------------------------------------------------- 1 | == Compiling the firmware == 2 | For compiling under windows you need to do the following: 3 | 1. Install AVR GNU Toolchain from Atmel 4 | 2. Install Cygwin for sh.exe (base installation is sufficient) 5 | 3. Add the bin path of cygwin (containing sh.exe) to the PATH environment variable for MAKE to find it 6 | 7 | Then you should be good to go to build the firmware by typing in the following: 8 | > make 9 | 10 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Random.c: -------------------------------------------------------------------------------- 1 | #include "Random.h" 2 | 3 | #include 4 | 5 | void RandomInit(void) { 6 | 7 | } 8 | 9 | uint8_t RandomGetByte(void) { 10 | return rand() & 0xFF; 11 | } 12 | 13 | void RandomGetBuffer(void *Buffer, uint8_t ByteCount) { 14 | uint8_t *BufferPtr = (uint8_t *) Buffer; 15 | 16 | while (ByteCount--) { 17 | *BufferPtr++ = RandomGetByte(); 18 | } 19 | } 20 | 21 | void RandomTick(void) { 22 | rand(); 23 | rand(); 24 | rand(); 25 | rand(); 26 | } 27 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Random.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Random.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef RANDOM_H_ 9 | #define RANDOM_H_ 10 | 11 | #include "Common.h" 12 | 13 | void RandomInit(void); 14 | uint8_t RandomGetByte(void); 15 | void RandomGetBuffer(void *Buffer, uint8_t ByteCount); 16 | void RandomTick(void); 17 | 18 | #endif /* RANDOM_H_ */ 19 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Terminal/CommandLine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CommandLine.h 3 | * 4 | * Created on: 04.05.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef COMMANDLINE_H_ 9 | #define COMMANDLINE_H_ 10 | 11 | #include "Terminal.h" 12 | #include "Commands.h" 13 | 14 | void CommandLineInit(void); 15 | bool CommandLineProcessByte(uint8_t Byte); 16 | void CommandLineTick(void); 17 | 18 | void CommandExecute(const char *command); 19 | void CommandLineAppendData(void const *const Buffer, uint16_t Bytes); 20 | 21 | /* Functions for timeout commands */ 22 | void CommandLinePendingTaskFinished(CommandStatusIdType ReturnStatusID, char const *const OutMessage); // must be called, when the intended task is finished 23 | extern void (*CommandLinePendingTaskTimeout)(void); // gets called on timeout to end the pending task 24 | void CommandLinePendingTaskBreak(void); // this manually triggers a timeout 25 | 26 | #endif /* COMMANDLINE_H_ */ 27 | -------------------------------------------------------------------------------- /Firmware/Chameleon-Mini/Terminal/XModem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TerminalXModem.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef XMODEM_H_ 9 | #define XMODEM_H_ 10 | 11 | #include "../Common.h" 12 | 13 | typedef bool (*XModemCallbackType)(void *ByteBuffer, uint32_t BlockAddress, uint16_t ByteCount); 14 | 15 | void XModemReceive(XModemCallbackType CallbackFunc); 16 | void XModemSend(XModemCallbackType CallbackFunc); 17 | 18 | bool XModemProcessByte(uint8_t Byte); 19 | void XModemTick(void); 20 | 21 | #endif /* TERMINALXMODEM_H_ */ 22 | -------------------------------------------------------------------------------- /Firmware/LUFA/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.d 3 | *.elf 4 | *.hex 5 | *.eep 6 | *.sym 7 | *.bin 8 | *.lss 9 | *.map 10 | *.bak 11 | *.class 12 | Documentation/ 13 | LUFA/StudioIntegration/ProjectGenerator/* 14 | LUFA/StudioIntegration/DocBook/* 15 | !LUFA/StudioIntegration/Docbook/mshelp/* 16 | -------------------------------------------------------------------------------- /Firmware/LUFA/Bootloaders/HID/HostLoaderApp/.gitignore: -------------------------------------------------------------------------------- 1 | hid_bootloader_cli 2 | -------------------------------------------------------------------------------- /Firmware/LUFA/Bootloaders/HID/HostLoaderApp/Makefile.bsd: -------------------------------------------------------------------------------- 1 | OS ?= FreeBSD 2 | #OS ?= NetBSD 3 | #OS ?= OpenBSD 4 | 5 | CFLAGS ?= -O2 -Wall 6 | CC ?= gcc 7 | 8 | .if $(OS) == "FreeBSD" 9 | CFLAGS += -DUSE_LIBUSB 10 | LIBS = -lusb 11 | .elif $(OS) == "NetBSD" || $(OS) == "OpenBSD" 12 | CFLAGS += -DUSE_UHID 13 | LIBS = 14 | .endif 15 | 16 | 17 | hid_bootloader_cli: hid_bootloader_cli.c 18 | $(CC) $(CFLAGS) -s -o hid_bootloader_cli hid_bootloader_cli.c $(LIBS) 19 | 20 | clean: 21 | rm -f hid_bootloader_cli 22 | -------------------------------------------------------------------------------- /Firmware/LUFA/BuildTests/BoardDriverTest/makefile.test: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2015. 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 = 15 | ARCH = 16 | BOARD = 17 | F_CPU = $(F_USB) 18 | F_USB = 8000000 19 | OPTIMIZATION = 1 20 | TARGET = Test 21 | SRC = $(TARGET).c 22 | LUFA_PATH = ../../LUFA 23 | CC_FLAGS = -Werror 24 | DEBUG_LEVEL = 0 25 | 26 | # Include LUFA build script makefiles 27 | include $(LUFA_PATH)/Build/lufa_build.mk 28 | -------------------------------------------------------------------------------- /Firmware/LUFA/BuildTests/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2015. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.lufa-lib.org 7 | # 8 | 9 | # Makefile to build all the LUFA Build Tests. Build Tests are 10 | # used to verify the correctness of the LUFA library, and are 11 | # not intended to be modified or compiled by non-developers. 12 | 13 | all: 14 | 15 | %: 16 | @echo Executing \"make $@\" on all LUFA build tests. 17 | @echo 18 | $(MAKE) -C BoardDriverTest $@ 19 | $(MAKE) -C BootloaderTest $@ 20 | $(MAKE) -C ModuleTest $@ 21 | $(MAKE) -C SingleUSBModeTest $@ 22 | $(MAKE) -C StaticAnalysisTest $@ 23 | @echo 24 | @echo LUFA build test \"make $@\" operation complete. 25 | -------------------------------------------------------------------------------- /Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/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/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_3.png -------------------------------------------------------------------------------- /Firmware/LUFA/DoxygenPages/Images/Author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Firmware/LUFA/DoxygenPages/Images/Author.jpg -------------------------------------------------------------------------------- /Firmware/LUFA/DoxygenPages/Images/LUFA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Firmware/LUFA/DoxygenPages/Images/LUFA.png -------------------------------------------------------------------------------- /Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png -------------------------------------------------------------------------------- /Firmware/LUFA/Maintenance/lufa_functionlist_transform.xslt: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ; 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Firmware/LUFA/Platform/UC3/UC3ExperimentalInfo.txt: -------------------------------------------------------------------------------- 1 | Please note that the UC3 architecture support is EXPERIMENTAL at this time, and may be non-functional/incomplete in some areas. Please refer to the Known Issues section of the LUFA manual. -------------------------------------------------------------------------------- /Firmware/LUFA/Platform/XMEGA/XMEGAExperimentalInfo.txt: -------------------------------------------------------------------------------- 1 | Please note that the XMEGA architecture support is EXPERIMENTAL at this time, and may be non-functional/incomplete in some areas. Please refer to the Known Issues section of the LUFA manual. -------------------------------------------------------------------------------- /Hardware/partlist_schematics_and_layout.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/Hardware/partlist_schematics_and_layout.pdf -------------------------------------------------------------------------------- /REV.G User Manual 20200309.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/REV.G User Manual 20200309.zip -------------------------------------------------------------------------------- /RevE-light/EAGLE/RevE-light-board.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE-light/EAGLE/RevE-light-board.pdf -------------------------------------------------------------------------------- /RevE-light/EAGLE/RevE-light-schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE-light/EAGLE/RevE-light-schematic.pdf -------------------------------------------------------------------------------- /RevE-light/EAGLE/WARNING.txt: -------------------------------------------------------------------------------- 1 | WARNING: The files in this folder are our current development version. The hardware and software is not functional yet - so do not use it. We will not answer any support inquiry regarding this version at the moment. -------------------------------------------------------------------------------- /RevE-light/Firmware/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata 2 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/.gitignore: -------------------------------------------------------------------------------- 1 | /Bin 2 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Application/Crypto1.h: -------------------------------------------------------------------------------- 1 | #ifndef CRYPTO1_H 2 | #define CRYPTO1_H 3 | 4 | #include 5 | 6 | /* Gets the current keystream-bit, without shifting the internal LFSR */ 7 | uint8_t Crypto1FilterOutput(void); 8 | 9 | /* Set up Crypto1 cipher using the given Key, Uid and CardNonce. Also encrypts 10 | * the CardNonce in-place while in non-linear mode. */ 11 | void Crypto1Setup(uint8_t Key[6], uint8_t Uid[4], uint8_t CardNonce[4]); 12 | 13 | /* Load the decrypted ReaderNonce into the Crypto1 state LFSR */ 14 | void Crypto1Auth(uint8_t EncryptedReaderNonce[4]); 15 | 16 | /* Generate 8 Bits of key stream */ 17 | uint8_t Crypto1Byte(void); 18 | 19 | /* Generate 4 Bits of key stream */ 20 | uint8_t Crypto1Nibble(void); 21 | 22 | /* Execute 'ClockCount' cycles on the PRNG state 'State' */ 23 | void Crypto1PRNG(uint8_t State[4], uint16_t ClockCount); 24 | 25 | #endif //CRYPTO1_H 26 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Application/MifareClassic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareClassic.h 3 | * 4 | * Created on: 13.05.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MIFARECLASSIC_H_ 9 | #define MIFARECLASSIC_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO14443-3A.h" 13 | 14 | #define MIFARE_CLASSIC_UID_SIZE ISO14443A_UID_SIZE_SINGLE 15 | #define MIFARE_CLASSIC_1K_MEM_SIZE 1024 16 | #define MIFARE_CLASSIC_4K_MEM_SIZE 4096 17 | 18 | void MifareClassicAppInit1K(void); 19 | void MifarePlus1kAppInit_7B(void); 20 | void MifareClassicAppInit4K(void); 21 | void MifareClassicAppReset(void); 22 | void MifareClassicAppTask(void); 23 | 24 | uint16_t MifareClassicAppProcess(uint8_t* Buffer, uint16_t BitCount); 25 | 26 | void MifareClassicGetUid(ConfigurationUidType Uid); 27 | void MifareClassicSetUid(ConfigurationUidType Uid); 28 | 29 | 30 | #endif /* MIFARECLASSIC_H_ */ 31 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Application/MifareUltralight.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareUltralight.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MIFAREULTRALIGHT_H_ 9 | #define MIFAREULTRALIGHT_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO14443-3A.h" 13 | 14 | #define MIFARE_ULTRALIGHT_UID_SIZE ISO14443A_UID_SIZE_DOUBLE 15 | #define MIFARE_ULTRALIGHT_MEM_SIZE 64 16 | 17 | void MifareUltralightAppInit(void); 18 | void MifareUltralightAppReset(void); 19 | void MifareUltralightAppTask(void); 20 | 21 | uint16_t MifareUltralightAppProcess(uint8_t* Buffer, uint16_t BitCount); 22 | 23 | void MifareUltralightGetUid(ConfigurationUidType Uid); 24 | void MifareUltralightSetUid(ConfigurationUidType Uid); 25 | 26 | 27 | 28 | #endif /* MIFAREULTRALIGHT_H_ */ 29 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Battery.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Battery.h 3 | * 4 | * Created on: 20.08.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef BATTERY_H_ 9 | #define BATTERY_H_ 10 | 11 | #include "Common.h" 12 | 13 | #define BATTERY_PORT PORTD 14 | #define BATTERY_STAT_PIN PIN4_bm 15 | #define BATTERY_STAT_PINCTRL PIN4CTRL 16 | #define BATTERY_PORT_MASK (BATTERY_STAT_PIN) 17 | 18 | INLINE void BatteryInit(void) 19 | { 20 | BATTERY_PORT.DIRCLR = BATTERY_PORT_MASK; 21 | BATTERY_PORT.BATTERY_STAT_PINCTRL = PORT_OPC_PULLUP_gc; 22 | } 23 | 24 | INLINE bool BatteryIsCharging(void) 25 | { 26 | if (!(BATTERY_PORT.IN & BATTERY_STAT_PIN)) 27 | { 28 | return true; 29 | } 30 | else 31 | { 32 | return false; 33 | } 34 | } 35 | 36 | #endif /* BATTERY_H_ */ 37 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Chameleon-Mini.c: -------------------------------------------------------------------------------- 1 | #include "Chameleon-Mini.h" 2 | #include "LEDHook.h" 3 | 4 | int main(void) 5 | { 6 | SystemInit(); 7 | SettingsLoad(); 8 | LogInit(); 9 | LEDInit(); 10 | MemoryInit(); 11 | ConfigurationInit(); 12 | TerminalInit(); 13 | RandomInit(); 14 | ButtonInit(); 15 | AntennaLevelInit(); 16 | 17 | SystemInterruptInit(); 18 | SystemSleepEnable(); 19 | 20 | 21 | while(1) 22 | { 23 | if (SystemTick100ms()) 24 | { 25 | RandomTick(); 26 | TerminalTick(); 27 | ButtonTick(); 28 | LogTick(); 29 | LEDTick(); 30 | ApplicationTick(); 31 | 32 | LEDHook(LED_POWERED, LED_ON); 33 | } 34 | 35 | TerminalTask(); 36 | ApplicationTask(); 37 | LogTask(); 38 | CodecTask(); 39 | } 40 | } 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Chameleon-Mini.h: -------------------------------------------------------------------------------- 1 | #ifndef CHAMELEON_MINI_H 2 | #define CHAMELEON_MINI_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "System.h" 10 | #include "Memory.h" 11 | #include "LED.h" 12 | #include "Terminal/Terminal.h" 13 | #include "Codec/Codec.h" 14 | #include "Application/Application.h" 15 | #include "Configuration.h" 16 | #include "Random.h" 17 | #include "Button.h" 18 | #include "Log.h" 19 | #include "AntennaLevel.h" 20 | #include "Settings.h" 21 | 22 | #define CHAMELEON_MINI_VERSION_STRING BUILD_DATE 23 | 24 | #endif //CHAMELEON_MINI_H 25 | 26 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Codec/Codec.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CODEC.c 3 | * 4 | * Created on: 18.02.2013 5 | * Author: skuser 6 | */ 7 | 8 | #include "Codec.h" 9 | 10 | uint8_t CodecBuffer[CODEC_BUFFER_SIZE]; 11 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Codec/ISO14443-2A.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ISO14443-2A.h 3 | * 4 | * Created on: 18.02.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef ISO14443_2A_H_ 9 | #define ISO14443_2A_H_ 10 | 11 | #include "Codec.h" 12 | 13 | #define ISO14443A_APP_NO_RESPONSE 0x0000 14 | #define ISO14443A_APP_CUSTOM_PARITY 0x1000 15 | 16 | #define ISO14443A_BUFFER_PARITY_OFFSET (CODEC_BUFFER_SIZE/2) 17 | 18 | /* Codec Interface */ 19 | void ISO14443ACodecInit(void); 20 | void ISO14443ACodecTask(void); 21 | void ISO14443ACodecDeInit(void); 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/LEDHook.h: -------------------------------------------------------------------------------- 1 | /* 2 | * LEDHook.h 3 | * 4 | * Created on: 02.12.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef LEDHOOK_H_ 9 | #define LEDHOOK_H_ 10 | 11 | #include "Settings.h" 12 | 13 | INLINE void LEDHook(LEDHookEnum Func, LEDActionEnum Action) 14 | { 15 | extern LEDActionEnum LEDGreenAction; 16 | extern LEDActionEnum LEDRedAction; 17 | 18 | if (GlobalSettings.ActiveSettingPtr->LEDGreenFunction == Func) 19 | { 20 | LEDGreenAction = Action; 21 | } 22 | 23 | if (GlobalSettings.ActiveSettingPtr->LEDRedFunction == Func) 24 | { 25 | LEDRedAction = Action; 26 | } 27 | } 28 | 29 | #endif /* LEDHOOK_H_ */ 30 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Map.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Map.h 3 | * 4 | * Created on: 07.12.2014 5 | * Author: sk 6 | */ 7 | 8 | #ifndef MAP_H_ 9 | #define MAP_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #define MAP_TEXT_BUF_SIZE 32 16 | #define MAP_MAX_TEXT_SIZE (MAP_TEXT_BUF_SIZE - 1) 17 | 18 | typedef uint8_t MapIdType; 19 | typedef const char* MapTextPtrType; 20 | 21 | const typedef struct { 22 | MapIdType Id; 23 | const char Text[MAP_TEXT_BUF_SIZE]; 24 | } MapEntryType; 25 | 26 | bool MapIdToText(const MapEntryType* MapPtr, uint8_t MapSize, MapIdType Id, char* Text, uint16_t MaxBufferSize); 27 | bool MapTextToId(const MapEntryType* MapPtr, uint8_t MapSize, MapTextPtrType Text, MapIdType* IdPtr); 28 | void MapToString(const MapEntryType* MapPtr, uint8_t MapSize, char* String, uint16_t MaxBufferSize); 29 | 30 | #endif /* MAP_H_ */ 31 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Flash.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MEMORY_H_ 9 | #define MEMORY_H_ 10 | 11 | #define MEMORY_SIZE (FLASH_DATA_SIZE) /* From makefile */ 12 | #define MEMORY_INIT_VALUE 0x00 13 | #define MEMORY_SIZE_PER_SETTING 4096 14 | 15 | #ifndef __ASSEMBLER__ 16 | #include "Common.h" 17 | 18 | void MemoryInit(void); 19 | void MemoryReadBlock(void* Buffer, uint16_t Address, uint16_t ByteCount); 20 | void MemoryWriteBlock(const void* Buffer, uint16_t Address, uint16_t ByteCount); 21 | void MemoryClear(void); 22 | 23 | 24 | void MemoryRecall(void); 25 | void MemoryStore(void); 26 | 27 | /* For use with XModem */ 28 | bool MemoryUploadBlock(void* Buffer, uint32_t BlockAddress, uint16_t ByteCount); 29 | bool MemoryDownloadBlock(void* Buffer, uint32_t BlockAddress, uint16_t ByteCount); 30 | 31 | #endif /* __ASSEMBLER__ */ 32 | 33 | #endif /* MEMORY_H_ */ 34 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/ProgramViaBootloader.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM This script programs the Chameleon using batchisp (Atmel Flip) and DFU (device firmware upgrade via USB) 4 | REM You need to install Flip, otherwise it does not work 5 | REM Make sure to adjust the COMPORT variable to the actual com port the CDC Device enumerates as 6 | REM This is necessary to send the upgrade command and thus set the chameleon into DFU mode 7 | 8 | SET COMPORT=COM5 9 | SET TIMEOUT=5 10 | SET COMMAND=UPGRADE 11 | 12 | ECHO Trying to set bootloader mode on Chameleon-Mini on %COMPORT% 13 | @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 14 | @ECHO. > \\.\%COMPORT% 15 | @ECHO %COMMAND% > \\.\%COMPORT% 16 | 17 | ECHO Waiting for DFU Bootloader 18 | ping 127.0.0.1 -n %TIMEOUT% -w 1000 > nul 19 | 20 | ECHO Start Programming 21 | make dfu-flip 22 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/README.txt: -------------------------------------------------------------------------------- 1 | == Compiling the firmware == 2 | For compiling under windows you need to do the following: 3 | 1. Install AVR GNU Toolchain from Atmel 4 | 2. Install Cygwin for sh.exe (base installation is sufficient) 5 | 3. Add the bin path of cygwin (containing sh.exe) to the PATH environment variable for MAKE to find it 6 | 7 | Then you should be good to go to build the firmware by typing in the following: 8 | > make 9 | 10 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Random.c: -------------------------------------------------------------------------------- 1 | #include "Random.h" 2 | 3 | #include 4 | 5 | void RandomInit(void) 6 | { 7 | 8 | } 9 | 10 | uint8_t RandomGetByte(void) 11 | { 12 | return rand() & 0xFF; 13 | } 14 | 15 | void RandomGetBuffer(void* Buffer, uint8_t ByteCount) 16 | { 17 | uint8_t* BufferPtr = (uint8_t*) Buffer; 18 | 19 | while(ByteCount--) { 20 | *BufferPtr++ = RandomGetByte(); 21 | } 22 | } 23 | 24 | void RandomTick(void) 25 | { 26 | rand(); 27 | rand(); 28 | rand(); 29 | rand(); 30 | } 31 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Random.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Random.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef RANDOM_H_ 9 | #define RANDOM_H_ 10 | 11 | #include "Common.h" 12 | 13 | void RandomInit(void); 14 | uint8_t RandomGetByte(void); 15 | void RandomGetBuffer(void* Buffer, uint8_t ByteCount); 16 | void RandomTick(void); 17 | 18 | #endif /* RANDOM_H_ */ 19 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Terminal/CommandLine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CommandLine.h 3 | * 4 | * Created on: 04.05.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef COMMANDLINE_H_ 9 | #define COMMANDLINE_H_ 10 | 11 | #include "Terminal.h" 12 | 13 | void CommandLineInit(void); 14 | bool CommandLineProcessByte(uint8_t Byte); 15 | void CommandLineTick(void); 16 | 17 | void CommandLineAppendData(void* Buffer, uint16_t Bytes); 18 | 19 | #endif /* COMMANDLINE_H_ */ 20 | -------------------------------------------------------------------------------- /RevE-light/Firmware/Chameleon-Mini/Terminal/XModem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TerminalXModem.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef XMODEM_H_ 9 | #define XMODEM_H_ 10 | 11 | #include "../Common.h" 12 | 13 | typedef bool (*XModemCallbackType) (void* ByteBuffer, uint32_t BlockAddress, uint16_t ByteCount); 14 | 15 | void XModemReceive(XModemCallbackType CallbackFunc); 16 | void XModemSend(XModemCallbackType CallbackFunc); 17 | 18 | bool XModemProcessByte(uint8_t Byte); 19 | void XModemTick(void); 20 | 21 | #endif /* TERMINALXMODEM_H_ */ 22 | -------------------------------------------------------------------------------- /RevE-light/Firmware/WARNING.txt: -------------------------------------------------------------------------------- 1 | WARNING: The files in this folder are our current development version. The hardware and software is not functional yet - so do not use it. We will not answer any support inquiry regarding this version at the moment. -------------------------------------------------------------------------------- /RevE-light/README.md: -------------------------------------------------------------------------------- 1 | Chameleon-Mini RevE-light 2 | ============== 3 | 4 | **WARNING:** The files in this folder are our current development version. *The hardware and software is not functional yet* - so do not use it. We will not answer any support inquiry regarding this version at the moment. 5 | 6 | Structure 7 | -------------------- 8 | This part of the code repository contains 9 | 10 | * Hardware: The layout and schematics of the RevE-light - *NOT FUNCTIONAL* 11 | * Firmware: The RevE-light firmware - *NOT FUNCTIONAL* -------------------------------------------------------------------------------- /RevE-light/WARNING.txt: -------------------------------------------------------------------------------- 1 | WARNING: The files in this folder are our current development version. The hardware and software is not functional yet - so do not use it. We will not answer any support inquiry regarding this version at the moment. -------------------------------------------------------------------------------- /RevE/Doc/BOM.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/BOM.txt -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_antenna_level_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_antenna_level_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_application_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_application_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_button_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_button_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_chameleon-_mini_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_chameleon-_mini_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_codec_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_codec_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_command_line_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_command_line_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_commands_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_commands_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_common_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_common_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_configuration_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_configuration_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_crypto1_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_crypto1_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_i_s_o14443-2_a_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_i_s_o14443-3_a_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_l_e_d_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_l_e_d_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_memory_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_memory_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_mifare_classic_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_mifare_classic_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_random_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_random_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_settings_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_settings_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_system_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_system_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_terminal_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_terminal_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/_x_modem_8h_source.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/_x_modem_8h_source.html -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/bc_s.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/bdwn.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/closed.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/doxygen.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2blank.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2cl.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2doc.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2folderclosed.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2folderopen.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2lastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2lastnode.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2link.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2mlastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2mlastnode.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2mnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2mnode.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2mo.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2node.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2ns.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2plastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2plastnode.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2pnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2pnode.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2splitbar.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/ftv2vertline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/ftv2vertline.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/nav_f.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/nav_g.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/nav_h.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/open.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_61.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_61.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['available_20configurations',['Available configurations',['../_page__configurations.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_64.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['devicedescriptor',['DeviceDescriptor',['../_l_u_f_a_descriptors_8c.html#addd196cc2b517282c4dc2a694313b6ac',1,'LUFADescriptors.c']]], 4 | ['dfu_2etxt',['DFU.txt',['../_d_f_u_8txt.html',1,'']]], 5 | ['device_20firmware_20upgrade_20_28dfu_29',['Device Firmware Upgrade (DFU)',['../_page__firmware_upgrade.html',1,'index']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gettingstarted_2etxt',['GettingStarted.txt',['../_getting_started_8txt.html',1,'']]], 4 | ['getting_20started',['Getting Started',['../_page__getting_started.html',1,'index']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_6c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_6c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['languagestring',['LanguageString',['../_l_u_f_a_descriptors_8c.html#a2706320165dd3831bf525233371d7af9',1,'LUFADescriptors.c']]], 4 | ['lufaconfig_2eh',['LUFAConfig.h',['../_l_u_f_a_config_8h.html',1,'']]], 5 | ['lufadescriptors_2ec',['LUFADescriptors.c',['../_l_u_f_a_descriptors_8c.html',1,'']]], 6 | ['lufadescriptors_2eh',['LUFADescriptors.h',['../_l_u_f_a_descriptors_8h.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2etxt',['MainPage.txt',['../_main_page_8txt.html',1,'']]], 4 | ['manufacturerstring',['ManufacturerString',['../_l_u_f_a_descriptors_8c.html#a84557c5ab5d188d8d7cfdbfe6de20f02',1,'LUFADescriptors.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_70.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_70.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['productstring',['ProductString',['../_l_u_f_a_descriptors_8c.html#ad68575f70b5d6ab576068eec9d59fafb',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_74.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_74.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20chameleon_20command_20line',['The chameleon command line',['../_page__command_line.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_75.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/all_75.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploading_20and_20downloading_20memory_20dumps',['Uploading and Downloading Memory dumps',['../_page__uploading_downloading.html',1,'index']]], 4 | ['uploadingdownloading_2etxt',['UploadingDownloading.txt',['../_uploading_downloading_8txt.html',1,'']]], 5 | ['usb_5fdescriptor_5fconfiguration_5ft',['USB_Descriptor_Configuration_t',['../struct_u_s_b___descriptor___configuration__t.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/classes_75.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['usb_5fdescriptor_5fconfiguration_5ft',['USB_Descriptor_Configuration_t',['../struct_u_s_b___descriptor___configuration__t.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/search/close.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/defines_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cdc_5fnotification_5fepaddr',['CDC_NOTIFICATION_EPADDR',['../_l_u_f_a_descriptors_8h.html#a375d8befdd497fa6548ed0f72cb0d85d',1,'LUFADescriptors.h']]], 4 | ['cdc_5fnotification_5fepsize',['CDC_NOTIFICATION_EPSIZE',['../_l_u_f_a_descriptors_8h.html#a1cfffa25431375dde9c6c880212f43b6',1,'LUFADescriptors.h']]], 5 | ['cdc_5frx_5fepaddr',['CDC_RX_EPADDR',['../_l_u_f_a_descriptors_8h.html#a5051b28e57390b0072358e2dc602083e',1,'LUFADescriptors.h']]], 6 | ['cdc_5ftx_5fepaddr',['CDC_TX_EPADDR',['../_l_u_f_a_descriptors_8h.html#a2114400269fd643e0e3b597df6a8930d',1,'LUFADescriptors.h']]], 7 | ['cdc_5ftxrx_5fepsize',['CDC_TXRX_EPSIZE',['../_l_u_f_a_descriptors_8h.html#aef7fa1919196a302fd0f8b1079e008be',1,'LUFADescriptors.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['commandline_2etxt',['CommandLine.txt',['../_command_line_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_64.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['dfu_2etxt',['DFU.txt',['../_d_f_u_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gettingstarted_2etxt',['GettingStarted.txt',['../_getting_started_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_6c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_6c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lufaconfig_2eh',['LUFAConfig.h',['../_l_u_f_a_config_8h.html',1,'']]], 4 | ['lufadescriptors_2ec',['LUFADescriptors.c',['../_l_u_f_a_descriptors_8c.html',1,'']]], 5 | ['lufadescriptors_2eh',['LUFADescriptors.h',['../_l_u_f_a_descriptors_8h.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2etxt',['MainPage.txt',['../_main_page_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_75.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/files_75.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploadingdownloading_2etxt',['UploadingDownloading.txt',['../_uploading_downloading_8txt.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/functions_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['callback_5fusb_5fgetdescriptor',['CALLBACK_USB_GetDescriptor',['../_l_u_f_a_descriptors_8c.html#a4d7def6e037bf75e86c24e3adb18d705',1,'CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress): LUFADescriptors.c'],['../_l_u_f_a_descriptors_8h.html#a205665735698917df77439b51d372e64',1,'CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3): LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/search/mag_sel.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_61.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_61.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['available_20configurations',['Available configurations',['../_page__configurations.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_64.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['device_20firmware_20upgrade_20_28dfu_29',['Device Firmware Upgrade (DFU)',['../_page__firmware_upgrade.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting Started',['../_page__getting_started.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_6c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_6c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['logging_20capabilities',['Logging capabilities',['../_page__logging.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_74.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_74.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20chameleon_20command_20line',['The chameleon command line',['../_page__command_line.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_75.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/pages_75.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uploading_20and_20downloading_20memory_20dumps',['Uploading and Downloading Memory dumps',['../_page__uploading_downloading.html',1,'index']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/search/search_l.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/search/search_m.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/search/search_r.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/variables_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['configurationdescriptor',['ConfigurationDescriptor',['../_l_u_f_a_descriptors_8c.html#a59d882a5961a04a054fab63be98c3b80',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/variables_64.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['devicedescriptor',['DeviceDescriptor',['../_l_u_f_a_descriptors_8c.html#addd196cc2b517282c4dc2a694313b6ac',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/variables_6c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['languagestring',['LanguageString',['../_l_u_f_a_descriptors_8c.html#a2706320165dd3831bf525233371d7af9',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/search/variables_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['manufacturerstring',['ManufacturerString',['../_l_u_f_a_descriptors_8c.html#a84557c5ab5d188d8d7cfdbfe6de20f02',1,'LUFADescriptors.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/sync_off.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/sync_on.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/tab_a.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/tab_b.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/tab_h.png -------------------------------------------------------------------------------- /RevE/Doc/Doxygen/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Doc/Doxygen/html/tab_s.png -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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`\"{}. -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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} -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | -------------------------------------------------------------------------------- /RevE/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 | */ -------------------------------------------------------------------------------- /RevE/Doc/Fuses.txt: -------------------------------------------------------------------------------- 1 | FUSE1: 0x00 2 | FUSE2: 0xBE 3 | FUSE4: 0xFF 4 | FUSE5: 0xE9 -------------------------------------------------------------------------------- /RevE/Doc/StartDoxygen.bat: -------------------------------------------------------------------------------- 1 | doxygen -------------------------------------------------------------------------------- /RevE/Dumps/MifareClassic1K.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Dumps/MifareClassic1K.mfd -------------------------------------------------------------------------------- /RevE/Dumps/MifareUltralight.mfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Dumps/MifareUltralight.mfd -------------------------------------------------------------------------------- /RevE/EAGLE/Chameleon-Mini-RevE-2.brd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/EAGLE/Chameleon-Mini-RevE-2.brd -------------------------------------------------------------------------------- /RevE/EAGLE/Chameleon-Mini-RevE-2.sch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/EAGLE/Chameleon-Mini-RevE-2.sch -------------------------------------------------------------------------------- /RevE/EAGLE/Chameleon-Mini-RevE.brd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/EAGLE/Chameleon-Mini-RevE.brd -------------------------------------------------------------------------------- /RevE/EAGLE/Chameleon-Mini-RevE.sch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/EAGLE/Chameleon-Mini-RevE.sch -------------------------------------------------------------------------------- /RevE/Firmware/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata 2 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/.gitignore: -------------------------------------------------------------------------------- 1 | /Bin 2 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Application/Crypto1.h: -------------------------------------------------------------------------------- 1 | #ifndef CRYPTO1_H 2 | #define CRYPTO1_H 3 | 4 | #include 5 | 6 | /* Gets the current keystream-bit, without shifting the internal LFSR */ 7 | uint8_t Crypto1FilterOutput(void); 8 | 9 | /* Set up Crypto1 cipher using the given Key, Uid and CardNonce. Also encrypts 10 | * the CardNonce in-place while in non-linear mode. */ 11 | void Crypto1Setup(uint8_t Key[6], uint8_t Uid[4], uint8_t CardNonce[4]); 12 | 13 | /* Load the decrypted ReaderNonce into the Crypto1 state LFSR */ 14 | void Crypto1Auth(uint8_t EncryptedReaderNonce[4]); 15 | 16 | /* Generate 8 Bits of key stream */ 17 | uint8_t Crypto1Byte(void); 18 | 19 | /* Generate 4 Bits of key stream */ 20 | uint8_t Crypto1Nibble(void); 21 | 22 | /* Execute 'ClockCount' cycles on the PRNG state 'State' */ 23 | void Crypto1PRNG(uint8_t State[4], uint16_t ClockCount); 24 | 25 | #endif //CRYPTO1_H 26 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Application/MifareClassic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareClassic.h 3 | * 4 | * Created on: 13.05.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MIFARECLASSIC_H_ 9 | #define MIFARECLASSIC_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO14443-3A.h" 13 | 14 | #define MIFARE_CLASSIC_UID_SIZE ISO14443A_UID_SIZE_SINGLE 15 | #define MIFARE_CLASSIC_1K_MEM_SIZE 1024 16 | #define MIFARE_CLASSIC_4K_MEM_SIZE 4096 17 | 18 | void MifareClassicAppInit1K(void); 19 | void MifarePlus1kAppInit_7B(void); 20 | void MifareClassicAppInit4K(void); 21 | void MifareClassicAppReset(void); 22 | void MifareClassicAppTask(void); 23 | 24 | uint16_t MifareClassicAppProcess(uint8_t* Buffer, uint16_t BitCount); 25 | 26 | void MifareClassicGetUid(ConfigurationUidType Uid); 27 | void MifareClassicSetUid(ConfigurationUidType Uid); 28 | 29 | 30 | #endif /* MIFARECLASSIC_H_ */ 31 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Application/MifareUltralight.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MifareUltralight.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MIFAREULTRALIGHT_H_ 9 | #define MIFAREULTRALIGHT_H_ 10 | 11 | #include "Application.h" 12 | #include "ISO14443-3A.h" 13 | 14 | #define MIFARE_ULTRALIGHT_UID_SIZE ISO14443A_UID_SIZE_DOUBLE 15 | #define MIFARE_ULTRALIGHT_MEM_SIZE 64 16 | 17 | void MifareUltralightAppInit(void); 18 | void MifareUltralightAppReset(void); 19 | void MifareUltralightAppTask(void); 20 | 21 | uint16_t MifareUltralightAppProcess(uint8_t* Buffer, uint16_t BitCount); 22 | 23 | void MifareUltralightGetUid(ConfigurationUidType Uid); 24 | void MifareUltralightSetUid(ConfigurationUidType Uid); 25 | 26 | 27 | 28 | #endif /* MIFAREULTRALIGHT_H_ */ 29 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Chameleon-Mini.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/Chameleon-Mini/Chameleon-Mini.bin -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Chameleon-Mini.c: -------------------------------------------------------------------------------- 1 | #include "Chameleon-Mini.h" 2 | 3 | int main(void) 4 | { 5 | SystemInit(); 6 | SettingsLoad(); 7 | LogInit(); 8 | LEDInit(); 9 | MemoryInit(); 10 | ConfigurationInit(); 11 | TerminalInit(); 12 | RandomInit(); 13 | ButtonInit(); 14 | AntennaLevelInit(); 15 | 16 | SystemInterruptInit(); 17 | SystemSleepEnable(); 18 | 19 | while(1) { 20 | if (SystemTick100ms()) { 21 | RandomTick(); 22 | TerminalTick(); 23 | ButtonTick(); 24 | LogTick(); 25 | LEDTick(); 26 | } 27 | 28 | TerminalTask(); 29 | ApplicationTask(); 30 | LogTask(); 31 | CodecTask(); 32 | } 33 | } 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Chameleon-Mini.eep: -------------------------------------------------------------------------------- 1 | :10000000000C290608000003010608000003010691 2 | :1000100008000003010608000003010608000003B1 3 | :10002000010608000003010608000003010608009D 4 | :03003000000301C9 5 | :00000001FF 6 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Chameleon-Mini.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/Chameleon-Mini/Chameleon-Mini.elf -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Chameleon-Mini.h: -------------------------------------------------------------------------------- 1 | #ifndef CHAMELEON_MINI_H 2 | #define CHAMELEON_MINI_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "System.h" 10 | #include "Memory.h" 11 | #include "LED.h" 12 | #include "Terminal/Terminal.h" 13 | #include "Codec/Codec.h" 14 | #include "Application/Application.h" 15 | #include "Configuration.h" 16 | #include "Random.h" 17 | #include "Button.h" 18 | #include "Log.h" 19 | #include "AntennaLevel.h" 20 | #include "Settings.h" 21 | 22 | #define CHAMELEON_MINI_VERSION_STRING BUILD_DATE 23 | 24 | #endif //CHAMELEON_MINI_H 25 | 26 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Codec/Codec.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CODEC.c 3 | * 4 | * Created on: 18.02.2013 5 | * Author: skuser 6 | */ 7 | 8 | #include "Codec.h" 9 | 10 | uint8_t CodecBuffer[CODEC_BUFFER_SIZE]; 11 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Codec/ISO14443-2A.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ISO14443-2A.h 3 | * 4 | * Created on: 18.02.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef ISO14443_2A_H_ 9 | #define ISO14443_2A_H_ 10 | 11 | #include "Codec.h" 12 | 13 | #define ISO14443A_APP_NO_RESPONSE 0x0000 14 | #define ISO14443A_APP_CUSTOM_PARITY 0x1000 15 | 16 | #define ISO14443A_BUFFER_PARITY_OFFSET (CODEC_BUFFER_SIZE/2) 17 | 18 | /* Codec Interface */ 19 | void ISO14443ACodecInit(void); 20 | void ISO14443ACodecTask(void); 21 | 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Common.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef COMMON_H_ 9 | #define COMMON_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #define ODD_PARITY(Value) (parity_even_bit(Value) ? 0 : 1) 18 | 19 | #define INLINE \ 20 | static inline __attribute__((always_inline)) 21 | 22 | #define NIBBLE_TO_HEXCHAR(x) ( (x) < 0x0A ? (x) + '0' : (x) + 'A' - 0x0A ) 23 | #define HEXCHAR_TO_NIBBLE(x) ( (x) < 'A' ? (x) - '0' : (x) - 'A' + 0x0A ) 24 | #define VALID_HEXCHAR(x) ( ( (x) >= '0' && (x) <= '9' ) || ( (x) >= 'A' && (x) <= 'F' ) ) 25 | #define MIN(x,y) ( (x) < (y) ? (x) : (y) ) 26 | #define MAX(x,y) ( (x) > (y) ? (x) : (y) ) 27 | 28 | #define BITS_PER_BYTE 8 29 | 30 | uint16_t BufferToHexString(char* HexOut, uint16_t MaxChars, const void* Buffer, uint16_t ByteCount); 31 | uint16_t HexStringToBuffer(void* Buffer, uint16_t MaxBytes, const char* HexIn); 32 | 33 | #endif /* COMMON_H_ */ 34 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Flash.h 3 | * 4 | * Created on: 20.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef MEMORY_H_ 9 | #define MEMORY_H_ 10 | 11 | #include "Common.h" 12 | 13 | #define MEMORY_FLASH_USART USARTD0 14 | #define MEMORY_FLASH_PORT PORTD 15 | #define MEMORY_FLASH_CS PIN4_bm 16 | #define MEMORY_FLASH_MOSI PIN3_bm 17 | #define MEMORY_FLASH_MISO PIN2_bm 18 | #define MEMORY_FLASH_SCK PIN1_bm 19 | 20 | #define MEMORY_SIZE_PER_SETTING 1024 21 | 22 | void MemoryInit(void); 23 | void MemoryReadBlock(void* Buffer, uint16_t Address, uint16_t ByteCount); 24 | void MemoryWriteBlock(const void* Buffer, uint16_t Address, uint16_t ByteCount); 25 | void MemoryClear(void); 26 | 27 | 28 | void MemoryRecall(void); 29 | void MemoryStore(void); 30 | 31 | /* For use with XModem */ 32 | bool MemoryUploadBlock(void* Buffer, uint32_t BlockAddress, uint16_t ByteCount); 33 | bool MemoryDownloadBlock(void* Buffer, uint32_t BlockAddress, uint16_t ByteCount); 34 | 35 | #endif /* MEMORY_H_ */ 36 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/ProgramViaBootloader.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM This script programs the Chameleon using batchisp (Atmel Flip) and DFU (device firmware upgrade via USB) 4 | REM You need to install Flip, otherwise it does not work 5 | REM Make sure to adjust the COMPORT variable to the actual com port the CDC Device enumerates as 6 | REM This is necessary to send the upgrade command and thus set the chameleon into DFU mode 7 | 8 | SET COMPORT=COM5 9 | SET TIMEOUT=5 10 | SET COMMAND=UPGRADE 11 | 12 | ECHO Trying to set bootloader mode on Chameleon-Mini on %COMPORT% 13 | @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 14 | @ECHO. > \\.\%COMPORT% 15 | @ECHO %COMMAND% > \\.\%COMPORT% 16 | 17 | ECHO Waiting for DFU Bootloader 18 | ping 127.0.0.1 -n %TIMEOUT% -w 1000 > nul 19 | 20 | ECHO Start Programming 21 | make dfu-flip 22 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/README.txt: -------------------------------------------------------------------------------- 1 | == Compiling the firmware == 2 | For compiling under windows you need to do the following: 3 | 1. Install AVR GNU Toolchain from Atmel 4 | 2. Install Cygwin for sh.exe (base installation is sufficient) 5 | 3. Add the bin path of cygwin (containing sh.exe) to the PATH environment variable for MAKE to find it 6 | 7 | Then you should be good to go to build the firmware by typing in the following: 8 | > make 9 | 10 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Random.c: -------------------------------------------------------------------------------- 1 | #include "Random.h" 2 | 3 | #include 4 | 5 | void RandomInit(void) 6 | { 7 | 8 | } 9 | 10 | uint8_t RandomGetByte(void) 11 | { 12 | return rand() & 0xFF; 13 | } 14 | 15 | void RandomGetBuffer(void* Buffer, uint8_t ByteCount) 16 | { 17 | uint8_t* BufferPtr = (uint8_t*) Buffer; 18 | 19 | while(ByteCount--) { 20 | *BufferPtr++ = RandomGetByte(); 21 | } 22 | } 23 | 24 | void RandomTick(void) 25 | { 26 | rand(); 27 | rand(); 28 | rand(); 29 | rand(); 30 | } 31 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Random.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Random.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef RANDOM_H_ 9 | #define RANDOM_H_ 10 | 11 | #include "Common.h" 12 | 13 | void RandomInit(void); 14 | uint8_t RandomGetByte(void); 15 | void RandomGetBuffer(void* Buffer, uint8_t ByteCount); 16 | void RandomTick(void); 17 | 18 | #endif /* RANDOM_H_ */ 19 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Terminal/CommandLine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CommandLine.h 3 | * 4 | * Created on: 04.05.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef COMMANDLINE_H_ 9 | #define COMMANDLINE_H_ 10 | 11 | #include "Terminal.h" 12 | 13 | void CommandLineInit(void); 14 | bool CommandLineProcessByte(uint8_t Byte); 15 | void CommandLineTick(void); 16 | 17 | 18 | #endif /* COMMANDLINE_H_ */ 19 | -------------------------------------------------------------------------------- /RevE/Firmware/Chameleon-Mini/Terminal/XModem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TerminalXModem.h 3 | * 4 | * Created on: 22.03.2013 5 | * Author: skuser 6 | */ 7 | 8 | #ifndef XMODEM_H_ 9 | #define XMODEM_H_ 10 | 11 | #include "../Common.h" 12 | 13 | typedef bool (*XModemCallbackType) (void* ByteBuffer, uint32_t BlockAddress, uint16_t ByteCount); 14 | 15 | void XModemReceive(XModemCallbackType CallbackFunc); 16 | void XModemSend(XModemCallbackType CallbackFunc); 17 | 18 | bool XModemProcessByte(uint8_t Byte); 19 | void XModemTick(void); 20 | 21 | #endif /* TERMINALXMODEM_H_ */ 22 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step1.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step2.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step3.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step4.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_1.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_2.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/AS5_AS6_Import/AS5_AS6_Import_Step5_3.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/Author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/Author.jpg -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/LUFA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/LUFA.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/DoxygenPages/Images/LUFA_thumb.png -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/Platform/UC3/UC3ExperimentalInfo.txt: -------------------------------------------------------------------------------- 1 | Please note that the UC3 architecture support is EXPERIMENTAL at this time, and may be non-functional/incomplete in some areas. Please refer to the Known Issues section of the LUFA manual. -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/Platform/XMEGA/XMEGAExperimentalInfo.txt: -------------------------------------------------------------------------------- 1 | Please note that the XMEGA architecture support is EXPERIMENTAL at this time, and may be non-functional/incomplete in some areas. Please refer to the Known Issues section of the LUFA manual. -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt: -------------------------------------------------------------------------------- 1 | Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 . 2 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/Docbook/placeholder.txt: -------------------------------------------------------------------------------- 1 | Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ . 2 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/HV1/helpcontentsetup.msha: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | LUFA Help 12 | 13 | 14 |
15 | FourWalledCubicle 16 | LUFA 17 | LUFA Help 18 | en-us 19 |
20 |
21 |
22 | LUFA 23 | lufa_studio_help.mshc 24 |
25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/ProjectGenerator/placeholder.txt: -------------------------------------------------------------------------------- 1 | Copy the ASF Project Generator into this directory (i.e. with the Python scripts in the current folder). The project generator can be extracted from the release versions of Atmel Studio's ASF extension. -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/VSIX/LUFA.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/StudioIntegration/VSIX/LUFA.dll -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/VSIX/LUFA.pkgdef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Firmware/LUFA/StudioIntegration/VSIX/LUFA.pkgdef -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/VSIX/[Content_Types].xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/VSIX/asf-manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FourWalledCubicle 4 | LUFA 5 | Dean Camera 6 | 7 | True 8 | 9 | 10 | 11 | 0 12 | 13 | 14 | content.xml.cache 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/VSIX/generate_caches.py: -------------------------------------------------------------------------------- 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 | import sys 10 | sys.path.append("ProjectGenerator") 11 | 12 | 13 | def show_message(message): 14 | print("[Project Generator] %s" % message) 15 | sys.stdout.flush() 16 | 17 | 18 | def main(lufa_root_path): 19 | try: 20 | from asf_avrstudio5_interface import PythonFacade 21 | except ImportError: 22 | print("Fatal Error: The ASF project generator is missing.") 23 | return 1 24 | 25 | p = PythonFacade(lufa_root_path) 26 | 27 | show_message("Checking database sanity...") 28 | p.check_extension_database_sanity(lufa_root_path) 29 | 30 | show_message("Building cache files...") 31 | p.generate_extension_cache_files(lufa_root_path) 32 | 33 | show_message("Cache files created.") 34 | return 0 35 | 36 | 37 | if __name__ == "__main__": 38 | sys.exit(main(sys.argv[1])) 39 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/XDK/lufa_indent_transform.xslt: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/lufa_platform_uc3.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /RevE/Firmware/LUFA/StudioIntegration/lufa_platform_xmega.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /RevE/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/LICENSE -------------------------------------------------------------------------------- /RevE/README.md: -------------------------------------------------------------------------------- 1 | Warning 2 | ======= 3 | The whole content of this directory is outdated and discontinued. 4 | 5 | Chameleon-Mini 6 | ============== 7 | 8 | Further information can be found in the [project wiki](https://github.com/emsec/ChameleonMini/wiki) 9 | and the [doxygen documentation](http://htmlpreview.github.io/?https://github.com/emsec/ChameleonMini/blob/master/Doc/Doxygen/html/index.html) 10 | 11 | The code repository contains 12 | * Doc: A doxygen documentation 13 | * Drivers: LUFA Drivers for the USB-CDC interface 14 | * Dumps: Dumps of different smart cards 15 | * EAGLE: The full EAGLE board and schematics in two alternate versions 16 | * Firmware: The complete firmware including a modified Atmel DFU bootloader and LUFA 17 | -------------------------------------------------------------------------------- /RevE/Software/README.md: -------------------------------------------------------------------------------- 1 | pyCham 2 | ====== 3 | by Chema García 4 | 5 | A tool to manage the settings and configurations of Chameleon-Mini 6 | 7 | ![](https://raw.githubusercontent.com/sch3m4/pycham/master/img/screenshot.png) 8 | 9 | References 10 | ---------- 11 | http://hackaday.com/2013/12/28/chameleon-emulates-contactless-smart-cards/ 12 | https://github.com/emsec/ChameleonMini 13 | -------------------------------------------------------------------------------- /RevE/Software/img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RfidResearchGroup/ChameleonMini/f524d97378405e6fdc0edd8b2b672c86ccc745f8/RevE/Software/img/screenshot.png -------------------------------------------------------------------------------- /RevE/Software/src/lib/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Written by Chema Garcia 4 | # @sch3m4 5 | # chema@safetybits.net || http://safetybits.net 6 | # 7 | 8 | from pyCham import * 9 | -------------------------------------------------------------------------------- /Software/Chameleon/__init__.py: -------------------------------------------------------------------------------- 1 | # Import modules 2 | import Chameleon.Log 3 | 4 | # Import classes 5 | from Chameleon.Device import Device 6 | from Chameleon.XModem import XModem 7 | 8 | #import Chameleon.Device 9 | 10 | MIN_SETTING = 1 11 | MAX_SETTING = 8 12 | VALID_SETTINGS = range(MIN_SETTING, MAX_SETTING + 1) 13 | 14 | USB_VID = 0x16D0 15 | USB_PID = 0x04B2 16 | -------------------------------------------------------------------------------- /Software/Chameleon/utils.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | class TrafficSource(Enum): 4 | Reader = 0 5 | Card = 1 6 | -------------------------------------------------------------------------------- /Software/README.md: -------------------------------------------------------------------------------- 1 | ChamTool 2 | ======== 3 | The ChamTool is based on the pycham tool, see also the LICENSE file. -------------------------------------------------------------------------------- /Software/requirements.txt: -------------------------------------------------------------------------------- 1 | pyserial 2 | crcmod --------------------------------------------------------------------------------