Exemple #1
0
unsigned int tag_get_datablocks(BYTE tag)
{
    switch(tag)
    {
        // raw tag types return number of blocks needed for emulator tag type
        case TAG_TYPE_ASK_RAW:
        case TAG_TYPE_FSK1_RAW:
        case TAG_TYPE_FSK2_RAW:
        case TAG_TYPE_PSK1_RAW:
        case TAG_TYPE_PSK2_RAW:
        case TAG_TYPE_PSK3_RAW:
            return RFIDlerConfig.DataBits / tag_get_blocksize(RFIDlerVTag.TagType);

        case TAG_TYPE_EM4X05:
            return EM4X05_DATABLOCKS;

       case TAG_TYPE_HITAG1:
            return HITAG1_DATABLOCKS;

        case TAG_TYPE_HITAG2:
            return HITAG2_DATABLOCKS;

        case TAG_TYPE_Q5:
            return Q5_DATABLOCKS;

        case TAG_TYPE_T55X7:
            return T55X7_DATABLOCKS;

        default:
            return 0;
    }
}
Exemple #2
0
void vtag_set_tag_from_type(BYTE tag)
{
    vtag_wipe();
    RFIDlerVTag.TagType= tag;
    RFIDlerVTag.BlockSize= tag_get_blocksize(tag);
    RFIDlerVTag.DataBlocks= tag_get_datablocks(tag);
}
Exemple #3
0
unsigned int tag_get_blocksize(BYTE tag)
{
    switch(tag)
    {
        // raw tag types return blocksize of emulator tag
        case TAG_TYPE_ASK_RAW:
        case TAG_TYPE_FSK1_RAW:
        case TAG_TYPE_FSK2_RAW:
        case TAG_TYPE_PSK1_RAW:
        case TAG_TYPE_PSK2_RAW:
        case TAG_TYPE_PSK3_RAW:
            return tag_get_blocksize(RFIDlerVTag.TagType);

        case TAG_TYPE_EM4X05:
            return EM4X05_BLOCKSIZE;

        case TAG_TYPE_HITAG1:
            return HITAG1_BLOCKSIZE;

        case TAG_TYPE_HITAG2:
            return HITAG2_BLOCKSIZE;

        case TAG_TYPE_Q5:
            return Q5_BLOCKSIZE;

        case TAG_TYPE_T55X7:
            return T55X7_BLOCKSIZE;

        default:
            return 0;
    }
}