mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
commit
57d3de2af6
4 changed files with 7 additions and 7 deletions
|
@ -179,7 +179,7 @@ static void hitag_send_bit(int bit, bool ledcontrol) {
|
|||
while (AT91C_BASE_TC0->TC_CV < T0 * 32) {};
|
||||
|
||||
LOW(GPIO_SSC_DOUT);
|
||||
while (AT91C_BASE_TC0->TC_CV < T0 * 64) {};
|
||||
while (AT91C_BASE_TC0->TC_CV < T0 * 64) {};
|
||||
|
||||
} else {
|
||||
// AC coding -_-_
|
||||
|
@ -311,7 +311,7 @@ static void hitag_reader_send_bit(int bit, bool ledcontrol) {
|
|||
if (ledcontrol) LED_A_ON();
|
||||
// Reset clock for the next bit
|
||||
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
|
||||
// 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
|
||||
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);
|
||||
|
||||
// Wait for 4-10 times the carrier period
|
||||
|
@ -372,7 +373,6 @@ static void hts_stop_clock(void) {
|
|||
}
|
||||
|
||||
static void hts_init_clock(void) {
|
||||
|
||||
// Enable Peripheral Clock for
|
||||
// Timer Counter 0, used to measure exact timing before answering
|
||||
// Timer Counter 1, used to capture edges of the tag frames
|
||||
|
@ -407,7 +407,7 @@ static void hts_init_clock(void) {
|
|||
|
||||
// synchronized startup procedure
|
||||
// In theory, with MCK/32, we shouldn't be waiting longer than 32 instruction statements, right?
|
||||
while (AT91C_BASE_TC0->TC_CV != 0) {}; // wait until TC0 returned to zero
|
||||
while (AT91C_BASE_TC0->TC_CV != 0) {}; // wait until TC0 returned to zero
|
||||
|
||||
// reset timestamp
|
||||
timestamp_high = 0;
|
||||
|
|
|
@ -1588,7 +1588,7 @@ static bool check_chiptype(bool getDeviceData) {
|
|||
|
||||
// Hitag S
|
||||
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");
|
||||
retval = true;
|
||||
goto out;
|
||||
|
|
|
@ -631,4 +631,3 @@ int CmdLFHitagS(const char *Cmd) {
|
|||
clearCommandBuffer();
|
||||
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) {
|
||||
// erase dstbuf bits that will be overriden
|
||||
dst[dstskip / 8] &= 0xFF - ((1 << (7 - (dstskip % 8) + 1)) - 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue