mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2026-11-14 18:57:33 +00:00
* feat: add Indala 224-bit (long format) RFID protocol support Add complete Indala 224-bit protocol: decode, encode, emulate, and write/clone via T5577. Uses PSK2 modulation (RF/32, bitrate 2) with a 30-bit preamble (1 + 29 zeros) and 224-bit data payload. Decoder performs PSK2 differential decoding (data = phase XOR next_phase) from the shift register, handles both normal and inverted preambles for phase-alternating cards, and validates across 6 consecutive frames. Writer configures T5577 with block 0 = 0x000820E0 matching Proxmark3 reference implementation. Encoder uses PSK2 carrier-flip modulation where carrier phase inverts on data bit = 1. Verified against Proxmark3 lf indala clone output: 80000001B23523A6C2E31EBA3CBEE4AFB3C6AD1FCF649393928C14E5 Includes unit tests for roundtrip encode/decode and PSK2 phase alternation edge case. * Append Indala224 to protocol enum, move its test registration * fbt format * Indala224: don't drop a full-frame phase run --------- Co-authored-by: Štefan Croitoru <66339601+turbospok@users.noreply.github.com>
53 lines
2.0 KiB
C
53 lines
2.0 KiB
C
#include "lfrfid_protocols.h"
|
|
#include "protocol_em4100.h"
|
|
#include "protocol_electra.h"
|
|
#include "protocol_h10301.h"
|
|
#include "protocol_idteck.h"
|
|
#include "protocol_indala26.h"
|
|
#include "protocol_indala224.h"
|
|
#include "protocol_io_prox_xsf.h"
|
|
#include "protocol_awid.h"
|
|
#include "protocol_fdx_a.h"
|
|
#include "protocol_fdx_b.h"
|
|
#include "protocol_hid_generic.h"
|
|
#include "protocol_hid_ex_generic.h"
|
|
#include "protocol_pyramid.h"
|
|
#include "protocol_viking.h"
|
|
#include "protocol_jablotron.h"
|
|
#include "protocol_paradox.h"
|
|
#include "protocol_pac_stanley.h"
|
|
#include "protocol_keri.h"
|
|
#include "protocol_gallagher.h"
|
|
#include "protocol_nexwatch.h"
|
|
#include "protocol_securakey.h"
|
|
#include "protocol_gproxii.h"
|
|
#include "protocol_noralsy.h"
|
|
|
|
const ProtocolBase* const lfrfid_protocols[] = {
|
|
[LFRFIDProtocolEM4100] = &protocol_em4100,
|
|
[LFRFIDProtocolEM4100_32] = &protocol_em4100_32,
|
|
[LFRFIDProtocolEM4100_16] = &protocol_em4100_16,
|
|
[LFRFIDProtocolElectra] = &protocol_electra,
|
|
[LFRFIDProtocolH10301] = &protocol_h10301,
|
|
[LFRFIDProtocolIdteck] = &protocol_idteck,
|
|
[LFRFIDProtocolIndala26] = &protocol_indala26,
|
|
[LFRFIDProtocolIndala224] = &protocol_indala224,
|
|
[LFRFIDProtocolIOProxXSF] = &protocol_io_prox_xsf,
|
|
[LFRFIDProtocolAwid] = &protocol_awid,
|
|
[LFRFIDProtocolFDXA] = &protocol_fdx_a,
|
|
[LFRFIDProtocolFDXB] = &protocol_fdx_b,
|
|
[LFRFIDProtocolHidGeneric] = &protocol_hid_generic,
|
|
[LFRFIDProtocolHidExGeneric] = &protocol_hid_ex_generic,
|
|
[LFRFIDProtocolPyramid] = &protocol_pyramid,
|
|
[LFRFIDProtocolViking] = &protocol_viking,
|
|
[LFRFIDProtocolJablotron] = &protocol_jablotron,
|
|
[LFRFIDProtocolParadox] = &protocol_paradox,
|
|
[LFRFIDProtocolPACStanley] = &protocol_pac_stanley,
|
|
[LFRFIDProtocolKeri] = &protocol_keri,
|
|
[LFRFIDProtocolGallagher] = &protocol_gallagher,
|
|
[LFRFIDProtocolNexwatch] = &protocol_nexwatch,
|
|
[LFRFIDProtocolSecurakey] = &protocol_securakey,
|
|
[LFRFIDProtocolGProxII] = &protocol_gproxii,
|
|
[LFRFIDProtocolNoralsy] = &protocol_noralsy,
|
|
};
|