mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
commit
57d3de2af6
4 changed files with 7 additions and 7 deletions
|
@ -311,7 +311,7 @@ static void hitag_reader_send_bit(int bit, bool ledcontrol) {
|
||||||
if (ledcontrol) LED_A_ON();
|
if (ledcontrol) LED_A_ON();
|
||||||
// Reset clock for the next bit
|
// Reset clock for the next bit
|
||||||
AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
|
AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
|
||||||
while (AT91C_BASE_TC0->TC_CV != 0);
|
while (AT91C_BASE_TC0->TC_CV != 0) {};
|
||||||
|
|
||||||
// Binary puls length modulation (BPLM) is used to encode the data stream
|
// Binary puls length modulation (BPLM) is used to encode the data stream
|
||||||
// This means that a transmission of a one takes longer than that of a zero
|
// This means that a transmission of a one takes longer than that of a zero
|
||||||
|
@ -356,7 +356,8 @@ static void hitag_reader_send_frame(const uint8_t *frame, size_t frame_len, bool
|
||||||
}
|
}
|
||||||
// send EOF
|
// send EOF
|
||||||
AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
|
AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
|
||||||
while (AT91C_BASE_TC0->TC_CV != 0);
|
while (AT91C_BASE_TC0->TC_CV != 0) {};
|
||||||
|
|
||||||
HIGH(GPIO_SSC_DOUT);
|
HIGH(GPIO_SSC_DOUT);
|
||||||
|
|
||||||
// Wait for 4-10 times the carrier period
|
// Wait for 4-10 times the carrier period
|
||||||
|
@ -372,7 +373,6 @@ static void hts_stop_clock(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void hts_init_clock(void) {
|
static void hts_init_clock(void) {
|
||||||
|
|
||||||
// Enable Peripheral Clock for
|
// Enable Peripheral Clock for
|
||||||
// Timer Counter 0, used to measure exact timing before answering
|
// Timer Counter 0, used to measure exact timing before answering
|
||||||
// Timer Counter 1, used to capture edges of the tag frames
|
// Timer Counter 1, used to capture edges of the tag frames
|
||||||
|
|
|
@ -1588,7 +1588,7 @@ static bool check_chiptype(bool getDeviceData) {
|
||||||
|
|
||||||
// Hitag S
|
// Hitag S
|
||||||
if (read_hts_uid() == PM3_SUCCESS) {
|
if (read_hts_uid() == PM3_SUCCESS) {
|
||||||
PrintAndLogEx(SUCCESS, "Chipset detection: " _GREEN_("Hitag S / 82xx"));
|
PrintAndLogEx(SUCCESS, "Chipset detection: " _GREEN_("Hitag 1/S / 82xx"));
|
||||||
PrintAndLogEx(HINT, "Hint: try " _YELLOW_("`lf hitag hts`") " commands");
|
PrintAndLogEx(HINT, "Hint: try " _YELLOW_("`lf hitag hts`") " commands");
|
||||||
retval = true;
|
retval = true;
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -631,4 +631,3 @@ int CmdLFHitagS(const char *Cmd) {
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
return CmdsParse(CommandTable, Cmd);
|
return CmdsParse(CommandTable, Cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -544,6 +544,7 @@ void reverse_arraybytes_copy(uint8_t *arr, uint8_t *dest, size_t len) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: consider overlap, Implement _membitmovebb
|
||||||
size_t concatbits(uint8_t *dst, size_t dstskip, const uint8_t *src, size_t srcstart, size_t srclen) {
|
size_t concatbits(uint8_t *dst, size_t dstskip, const uint8_t *src, size_t srcstart, size_t srclen) {
|
||||||
// erase dstbuf bits that will be overriden
|
// erase dstbuf bits that will be overriden
|
||||||
dst[dstskip / 8] &= 0xFF - ((1 << (7 - (dstskip % 8) + 1)) - 1);
|
dst[dstskip / 8] &= 0xFF - ((1 << (7 - (dstskip % 8) + 1)) - 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue