iceman1001
f8ff1483eb
CHG: "hf legic sim" old imp, uses two timers, we have one. I'm seriously starting on thinking about a UART instead, to read the dmabuffer. If only I knew howto.
2016-10-10 21:52:58 +02:00
iceman1001
c2723575de
CHG; added an option wither or not to clear emulator mem on init
2016-10-09 18:24:51 +02:00
iceman1001
539fd59ebe
CHG: "hf legic write" - now writes on the limits better.
...
CHG: "hf legic restore" - now restors :)
CHG: "hf legic rdmem" - now has a nice offset row above the read data. try: 'hf legic rdmem 0 100'
2016-10-09 15:41:31 +02:00
iceman1001
cd79d97223
CHG: syntax suger
2016-10-08 19:14:35 +02:00
iceman1001
8ddfbc34dc
CHG: the call to TurnReadLFOn has a delay / number as parameter. Seems to be gone.
...
FIX: fixes to EM4050 code since when I changed the timer. It should work nice now.
2016-10-08 19:12:51 +02:00
iceman1001
7e7d3de5fa
FIX: looks like "hf legic write" works again!
2016-10-07 23:07:59 +02:00
iceman1001
4409bf6ef3
CHG: "hf legic write" with these I managed to get one byte written. Its a start.
2016-10-07 22:16:38 +02:00
iceman1001
715bed5023
CHG: adjustments to 3.6ms
2016-10-07 21:28:09 +02:00
iceman1001
c2ab5e8c4e
FIX: "hf list legic" annotation now correct prints byte and value for "legic write" command
2016-10-07 20:23:57 +02:00
iceman1001
e4d57949df
FIX: wrong log bytes...
2016-10-07 19:15:08 +02:00
iceman1001
b816886806
FIX: one send command bug fixed. Turns out that uint16_t is too small for 21/23bits size. Who figured?
2016-10-07 19:11:38 +02:00
iceman1001
27c4a862f6
FIX: unused variable removed.
...
CHG: start remaking the used timers in "Hf legic write"
2016-10-07 12:23:07 +02:00
iceman1001
f0fa663814
CHG: "hf legic write" got a make over in how its called. Now called with 'offset' and 'data'
...
'hf legic write o 10 d 11223344' - this will write 4 bytes (0x11,0x22,0x33,0x44) to tag from offset 10 (0x0A)
2016-10-07 11:58:14 +02:00
iceman1001
e4a8d1e2ac
CHG: started the process of fixing "hf legic write" and "hf legic sim" commands.
2016-10-07 00:15:47 +02:00
iceman1001
d41efbf21b
ADD: added a StopTicks functions, to disable the timer used for ticks (TC0, TC1)
2016-10-07 00:13:09 +02:00
iceman1001
0e8cabed8d
ADD: "hf legic eload" - Load binary file to emulator memory. Use "h" for help text
...
ADD: "hf legic esave" - Save emulator memory to binary file. Use "h" for help text
2016-10-06 19:13:23 +02:00
iceman1001
9015ae0f5d
CHG: "hf legic dump" now automatically detects tagtype and dumps accordingly.
...
CHG: still #define codestyle should it be with or without semicolons?
2016-10-05 22:58:06 +02:00
iceman1001
b1cd7d5ca6
FIX: one too many semicolons for #defines
2016-10-05 22:18:26 +02:00
iceman1001
00271f774a
FIX: undeclared var on deviceside,
...
FIX: "hf legic dump" is almost there.
2016-10-05 22:07:32 +02:00
iceman1001
633d068682
CHG: command name changes..
...
old "hf legic info" is now "hf legic reader"
old "hf legic read" is now "hf legic rdmem"
old "hf legic decode" is now "hf legic info"
ADD: new command "hf legic dump", which will autodetect tagtype and dump all mem to a binary file.
2016-10-05 21:42:13 +02:00
iceman1001
635d6e9bef
CHG: code clean up
2016-10-05 17:10:29 +02:00
iceman1001
c15e07f11d
CHG: making timings a bit tighter == faster read of tag. Like 1ms for whole tag.
...
FIX: off-by-one bug in read-byte-loop.
2016-10-04 23:08:39 +02:00
iceman1001
7a8db2f678
CHG: "hf legic read" - increased timeout values client side, reading MIM1024 takes a bit of time
2016-10-04 21:26:19 +02:00
iceman1001
86087eba00
Textual changes in helptext. Still no clear.
2016-10-04 18:43:11 +02:00
iceman1001
7bc3c99e7e
CHG: "hf legic write" started to change this command to the updated code
2016-10-04 18:05:55 +02:00
iceman1001
77a689dbeb
CHG: revert legiccrc8 to old algo.
...
CHG: "hf legic decode" now loads EML memory
CHG: legic timings is better.
2016-10-04 00:07:07 +02:00
iceman1001
0b0b182fe2
CHG: changed to use BigBuff_Eml memory instead of big_buff_malloc.
...
CHG: downloading eml memory from device should use uint's
CHG: "hf legic read" has a different printing. It now prints 32bytes / row
2016-10-03 23:24:59 +02:00
iceman1001
c649c43389
CHG: finally, the ticks timer does what it is supposed to do. 32bits and working.
2016-09-29 21:36:43 +02:00
iceman1001
fabef615ec
CHG: added addresize to legic select struct.
...
CHG: TIMER, it turns out the TC0, TC1 and TC2 is only 16bit. So adjust to use two clocks to get a 32bit timer.
CHG: code clean up in legic device side. consistency with variable names..
2016-09-29 17:43:39 +02:00
iceman1001
cb7902cdcd
CHG: removed some debug data
...
CHG: reverted back to old crc imp.
2016-09-29 14:46:12 +02:00
iceman1001
a39944216d
CHG: a select_legic function with structs and stuff and
2016-09-29 12:23:09 +02:00
iceman1001
d7e24e7c5f
CHG: 'hf list legic' doesn't print the parity now.
...
CHG: 'hf legic read' the device side timings is starting to look much better. HUGE Thanks to @will-rbnt for endless checks and logic analyser feedback. Without his effort this would not work. What does work? We can now use ANY IV in legic. The PM3 Master version is flawed, will only work with IV=0x55.
---still broke--- my crc implementation.. I know I'm about to look into it.
2016-09-28 21:37:08 +02:00
iceman1001
584e28e54b
CHG: Minor tweaks, the tracing dissappeared, the spindelay for powering up too long.
2016-09-26 21:40:05 +02:00
iceman1001
62577a62ae
FIX: Much of my added extra legic code is commented away now.
...
FIX: the gcc6.1.1 warning broke my gcc 4.8.4 build env..
2016-09-26 20:21:31 +02:00
iceman1001
3e750be37c
ADD: started to add a legic detection to "HF SEARCH"
2016-09-26 20:01:23 +02:00
iceman1001
faabfafe30
CHG: using bitsend to determind the legic annotation in "hf list legic" makes false positives much less.
2016-09-26 12:26:37 +02:00
iceman1001
e1deabc0eb
CHG: fixes a "indent" warning
2016-09-26 11:04:04 +02:00
iceman1001
25d52dd261
CHG: according to measureement by @wilrn the actual timing for receiving tag data, is 90us (ONE) and 100us (ZERO) which is not mentioned anywhere before. What a find!
2016-09-24 15:15:24 +02:00
iceman1001
d5bded10e2
CHG: lowered the timout again, but re-added the spindelay since 14a requires 5ms powerup before entering the idle-state where tag starts to listen.
...
CHG: fix the ticks compare xx > 1 into xx >= 1
2016-09-23 23:23:17 +02:00
iceman1001
f885043422
FIX: "hf 14a read" / "hf mf *" / "hf mfdes info" and failure when calling these commands serveral times in row.
...
For long transactions the sspclock compare with >1 instead of >=1 .. Now the timer resets properly.
CHG: use some #define constants for iso-commands.
2016-09-23 21:28:07 +02:00
iceman1001
24c49d36ba
FIX: This commit fixes the broken LF since I change the spindelay calls. The original problem is that spindelayus calls is incremented with21.3us each step, making it very hard to find exact timings found in the datasheets for T55x7, HID etcetc. When @marshmellow and I looked into this 2014, I had this on my back of my mind but forgot it since I didn't know how the source code / pm3 worked. This behavior in spindelayus has given the bit-period for ON/OFF measured in (us) very hard to find. Its kind of magic that it worked so far so good. Well until I started to look into the "hf legic" bitbanging ASK ON/OFF keying and that one needs a much more precis timer. Same goes for the PCF7931 code.
...
I've added a precise timer in the new files ticks.c and moved some older stuff from util.c to have a solid base for this.
UNTESTED, and the timings measured for t55x7 in lfops.c and other parts has not been adjusted to this "correct" timer.
2016-09-23 16:35:26 +02:00
iceman1001
22f4dca88c
CHG: extracted some timers functionality, to get unified access to a timer/clock which counts in ticks. Moved stuff from util.c
2016-09-21 19:03:32 +02:00
iceman1001
87342aadbc
CHG: adjusted timing according to @sentinel 's traces
2016-09-14 16:18:04 +02:00
René Werner
1cb9b2a3cf
used tabs instead of spaces
2016-09-13 21:04:13 +02:00
René Werner
78f59945a7
fixed indentation to get rid of warnings
...
warnings are treated as errors, so a warning due to misleading
indentation is kinda annoying
2016-09-13 20:57:25 +02:00
iceman1001
111c6934d4
CHG: Small steps, the waiting time between frames was unclear. At least now the tags answers to a readbyte command after the setup phase.
2016-09-12 09:19:49 +02:00
iceman1001
76471e5d17
CHG: reverted back from the idea of measureing in (us) microseconds, the timer is too raw, gives 10-15us delays. Now we are measuring ticks, which is (1 us = 1.5ticks)
...
like it was before. ie: 80us = 80*1.5 = 120ticks.
2016-09-11 11:14:12 +02:00
iceman1001
db44e049b0
CHG: this timing should be quite good. needs to be verified.
2016-09-10 22:47:11 +02:00
iceman1001
b4a6775b5e
CHG: a better micro second (us) spindely function. At average it has 8-10us delay, but its linear. Making error less when you want to wait longer..
...
SpinDelayCountUs(20) gives a delay of 28us.
SpinDelayCountUs(100) gives a delay of 110us.
SpinDelayCountUs(500) gives a delay of 508us.
2016-09-10 21:43:08 +02:00
iceman1001
5d15891e2b
FIX: Even the US clock had the issues with not resetting properly. Now its always ZERO when you call StartCountUS.
2016-09-09 11:57:31 +02:00