mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-12 08:16:09 -07:00
adjust t55x7 testmode write timing
This commit is contained in:
parent
605524b131
commit
2229ee897e
1 changed files with 13 additions and 12 deletions
|
@ -1161,7 +1161,8 @@ void T55xxWriteBlockExt(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t arg
|
||||||
// Std Opcode 10
|
// Std Opcode 10
|
||||||
T55xxWriteBit(testMode ? 0 : 1);
|
T55xxWriteBit(testMode ? 0 : 1);
|
||||||
T55xxWriteBit(testMode ? 1 : Page); //Page 0
|
T55xxWriteBit(testMode ? 1 : Page); //Page 0
|
||||||
if (PwdMode){
|
|
||||||
|
if (PwdMode) {
|
||||||
// Send Pwd
|
// Send Pwd
|
||||||
for (i = 0x80000000; i != 0; i >>= 1)
|
for (i = 0x80000000; i != 0; i >>= 1)
|
||||||
T55xxWriteBit(Pwd & i);
|
T55xxWriteBit(Pwd & i);
|
||||||
|
@ -1181,22 +1182,19 @@ void T55xxWriteBlockExt(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t arg
|
||||||
// so wait a little more)
|
// so wait a little more)
|
||||||
|
|
||||||
// "there is a clock delay before programming"
|
// "there is a clock delay before programming"
|
||||||
// - programming takes ~5.6ms for t5577 ~18ms for E5550
|
// - programming takes ~5.6ms for t5577 ~18ms for E5550 or t5567
|
||||||
// so we should wait 1 clock + 5.6ms then read response?
|
// so we should wait 1 clock + 5.6ms then read response?
|
||||||
// but we need to know we are dealing with t55x7 vs e5550 (or q5) marshmellow...
|
// but we need to know we are dealing with t5577 vs t5567 vs e5550 (or q5) marshmellow...
|
||||||
if (testMode) {
|
if (testMode) {
|
||||||
// Turn field on to read the response
|
//TESTMODE TIMING TESTS:
|
||||||
TurnReadLFOn(READ_GAP);
|
// <566us does nothing
|
||||||
|
// 566-568 switches between wiping to 0s and doing nothing
|
||||||
|
// 5184 wipes and allows 1 block to be programmed.
|
||||||
|
// indefinite power on wipes and then programs all blocks with bitshifted data sent.
|
||||||
|
TurnReadLFOn(5184);
|
||||||
|
|
||||||
// Acquisition
|
|
||||||
// Now do the acquisition
|
|
||||||
// Now do the acquisition
|
|
||||||
DoPartialAcquisition(20, true, 12000);
|
|
||||||
|
|
||||||
//doT55x7Acquisition(12000);
|
|
||||||
} else {
|
} else {
|
||||||
TurnReadLFOn(20 * 1000);
|
TurnReadLFOn(20 * 1000);
|
||||||
}
|
|
||||||
//could attempt to do a read to confirm write took
|
//could attempt to do a read to confirm write took
|
||||||
// as the tag should repeat back the new block
|
// as the tag should repeat back the new block
|
||||||
// until it is reset, but to confirm it we would
|
// until it is reset, but to confirm it we would
|
||||||
|
@ -1205,6 +1203,9 @@ void T55xxWriteBlockExt(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t arg
|
||||||
// response should be (for t55x7) a 0 bit then (ST if on)
|
// response should be (for t55x7) a 0 bit then (ST if on)
|
||||||
// block data written in on repeat until reset.
|
// block data written in on repeat until reset.
|
||||||
|
|
||||||
|
//DoPartialAcquisition(20, true, 12000);
|
||||||
|
}
|
||||||
|
|
||||||
// turn field off
|
// turn field off
|
||||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||||
LED_A_OFF();
|
LED_A_OFF();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue