Harald Welte
5f31bdced0
add linker scripts for AT91SAM7S64 (64kByte flash / 16kByte RAM) variant
2010-11-12 20:26:06 +01:00
laforge
64a0ace8bf
fix STAT_ERR/STAT_IRQ bit definition error in RC632 STATUS register definition
...
git-svn-id: https://svn.openpcd.org:2342/trunk@478 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-05-24 13:12:34 +00:00
henryk
3e2456c734
Make the diffmiller decoder a __ramfunc. Should severely increase decoder speed (needs testing), but takes up 4k of RAM
...
git-svn-id: https://svn.openpcd.org:2342/trunk@477 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-05-22 04:52:19 +00:00
henryk
2d8b2c3088
Switch SSC DMA Tx buffer allocation to dynamic, frees about 16k of RAM (the four static buffers took about 18k, the new dynamic allocations take about 2k)
...
git-svn-id: https://svn.openpcd.org:2342/trunk@476 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-05-22 04:46:52 +00:00
henryk
6b18612b08
Add code to change uid/nonce on the fly
...
git-svn-id: https://svn.openpcd.org:2342/trunk@475 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-04-28 16:24:30 +00:00
henryk
640d692258
Check received length of the frame that is supposed to contain the PCD challenge
...
Add code to get/set uid/nonce
git-svn-id: https://svn.openpcd.org:2342/trunk@474 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-04-28 16:24:08 +00:00
henryk
64dfc1c67c
Remove obsolete command
...
git-svn-id: https://svn.openpcd.org:2342/trunk@473 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-21 04:36:57 +00:00
henryk
3597606419
Change inf for OpenPICC
...
git-svn-id: https://svn.openpcd.org:2342/trunk@472 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 21:38:58 +00:00
henryk
8134c3aa75
Add new hardware revision, make it the default
...
git-svn-id: https://svn.openpcd.org:2342/trunk@471 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 18:40:55 +00:00
henryk
68e2814776
Print error code in case of error
...
git-svn-id: https://svn.openpcd.org:2342/trunk@470 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 18:40:35 +00:00
henryk
714136e334
set_nonce function
...
git-svn-id: https://svn.openpcd.org:2342/trunk@469 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 17:49:58 +00:00
henryk
bdadf6c151
this would be the more correct parity value
...
git-svn-id: https://svn.openpcd.org:2342/trunk@468 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 16:10:37 +00:00
henryk
d2319edef0
Scale back the debug output
...
Print UID, nonce and response
git-svn-id: https://svn.openpcd.org:2342/trunk@467 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 16:10:20 +00:00
henryk
ed093a9933
Scale back the debug output
...
git-svn-id: https://svn.openpcd.org:2342/trunk@466 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 16:09:43 +00:00
henryk
d71c1c6501
Remove performance print, it's blocking the IRQ too long which in turn will make the SSC TXSYN IRQ arrive late, which will make the SSC not switch to CONTINUOUS in time which will truncate all
...
frames longer than 3.5 data bytes
git-svn-id: https://svn.openpcd.org:2342/trunk@465 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 14:26:49 +00:00
henryk
4911b0749c
Actually use the received data for the decision whether to send anticol frames
...
git-svn-id: https://svn.openpcd.org:2342/trunk@464 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 14:08:28 +00:00
henryk
af156e1051
Only set up clocks once in the layer 2a code
...
git-svn-id: https://svn.openpcd.org:2342/trunk@463 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-18 10:34:09 +00:00
henryk
00488946bb
Add dynamic UID, nonce encoding on the fly
...
git-svn-id: https://svn.openpcd.org:2342/trunk@462 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-17 19:43:56 +00:00
henryk
a18b831b83
Use diffmiller performance measurement tools
...
git-svn-id: https://svn.openpcd.org:2342/trunk@461 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-17 19:42:46 +00:00
henryk
48e2172698
Add performance measurement tools
...
git-svn-id: https://svn.openpcd.org:2342/trunk@460 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-17 19:42:19 +00:00
henryk
a2f88381cc
Change used interrupts
...
git-svn-id: https://svn.openpcd.org:2342/trunk@459 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-17 19:41:38 +00:00
henryk
5ed9125edc
Revert since the 'faster' version was not correct (and a fixed version was even slower)
...
git-svn-id: https://svn.openpcd.org:2342/trunk@458 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-15 08:14:11 +00:00
henryk
625ffcb32a
Fix the clock gating for the new layer 2 code
...
Only perform the switch to continous when necessary since it has serious side effects in the current hardware (we really need TF ored into the clock gating)
git-svn-id: https://svn.openpcd.org:2342/trunk@457 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-15 04:29:10 +00:00
henryk
8ad8a1ea88
Another 36 carrier cycles (is not fully correct though)
...
git-svn-id: https://svn.openpcd.org:2342/trunk@456 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-14 21:04:22 +00:00
henryk
245b3c8a65
Enhances timing by 14 carrier cycles
...
git-svn-id: https://svn.openpcd.org:2342/trunk@455 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-14 21:03:43 +00:00
henryk
f7a420f238
Faked anticollision working now. During stress test (OpenPCD reqa firmware in anticol mode performing one cycle every 70ms) there were 52 late frames in 15992.
...
git-svn-id: https://svn.openpcd.org:2342/trunk@454 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-14 18:29:28 +00:00
henryk
b7a11d3b34
Better Output
...
git-svn-id: https://svn.openpcd.org:2342/trunk@453 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-14 09:29:43 +00:00
henryk
e2e37bea66
Add T/C based receiver code with integrated miller decoder
...
Integrate T/C receiver into iso14443 layer 2a
Add state field to iso14443_frame, rename ssc buffer state constants
Sniffer seems to work with the new code
git-svn-id: https://svn.openpcd.org:2342/trunk@452 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-14 04:55:15 +00:00
henryk
9615190a75
Add forgotten sanity check
...
git-svn-id: https://svn.openpcd.org:2342/trunk@451 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-13 04:17:46 +00:00
henryk
c319d646a7
Remove SSC DMA Rx buffers that are not going to be used for now and take up precious RAM
...
git-svn-id: https://svn.openpcd.org:2342/trunk@450 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-12 17:32:45 +00:00
henryk
274518e5d9
Further optimizations, is now down to 1450 MCK/2 cycles for a 7 bit frame, that should be real-time capable
...
git-svn-id: https://svn.openpcd.org:2342/trunk@449 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-10 10:49:36 +00:00
henryk
7f0e281614
Further optimisation on the differential miller decoder, is now down to 1750 MCK/2 cycles for the short frame
...
git-svn-id: https://svn.openpcd.org:2342/trunk@448 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-10 09:52:17 +00:00
henryk
9cde1dd082
Add performance measurement code
...
Measure miller decoder performance
git-svn-id: https://svn.openpcd.org:2342/trunk@447 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-10 00:53:54 +00:00
henryk
bea54255a3
Add size printouts before and after compilation
...
git-svn-id: https://svn.openpcd.org:2342/trunk@446 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-09 06:58:44 +00:00
henryk
2bf5a3ae4e
Fix sending
...
Add Tx abort and SSC reset functionalities
There is a bug workaround for a peculiarity in the SSC Tx: When it is set to START CONTINOUS while a transmission is in progress (started by START TF RISING EDGE, which is necessary for the correct
timing) it will lose one (or two?) bits of sample data. The resetting of the start condition itself is necessary because the SSC will only transmit up to 64 bytes (32 bit times 16) per start
condition
Add performance counters for sent and received frames
git-svn-id: https://svn.openpcd.org:2342/trunk@445 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-09 00:40:55 +00:00
henryk
b5be7c184f
convert pio irq isr to a switching isr
...
git-svn-id: https://svn.openpcd.org:2342/trunk@444 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-05 05:52:53 +00:00
henryk
6304718e37
Port over the differential miller decoder from the sniffonly host tool
...
Move clock switch to its own header file
Specify default (and for non-clock switching capable hardware: single) clock source in hardware definitions
git-svn-id: https://svn.openpcd.org:2342/trunk@443 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-05 05:03:36 +00:00
henryk
3ee3c4a649
Copy over the relevant changes from the sniffonly branch pending integration
...
git-svn-id: https://svn.openpcd.org:2342/trunk@442 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-05 01:59:58 +00:00
henryk
bac6c469cc
Forgotten commit
...
git-svn-id: https://svn.openpcd.org:2342/trunk@441 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-05 00:31:52 +00:00
henryk
78a0c8a542
anticol working more often now
...
git-svn-id: https://svn.openpcd.org:2342/trunk@440 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-04 23:52:46 +00:00
henryk
8ee27fd95f
Pretender does now do anticol. At least in some cases.
...
git-svn-id: https://svn.openpcd.org:2342/trunk@439 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-03 21:57:23 +00:00
henryk
440a95fcf1
Sending seems to be reliable now.
...
Once in a while (about 1 in 20) there's an error condition that's not being recovered from, need to investigate
git-svn-id: https://svn.openpcd.org:2342/trunk@438 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-03 20:56:30 +00:00
henryk
d3bab6e943
Implement transmission
...
Implement a 'pretender' for PoC: Since Rx is not working properly we'll just pretend to have received something based on the approximate length.
Clarify length calculations in machester encoder and remove obsolete test code
git-svn-id: https://svn.openpcd.org:2342/trunk@437 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-03 09:18:19 +00:00
henryk
2f730c9091
Forgotten include file
...
git-svn-id: https://svn.openpcd.org:2342/trunk@436 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-02 02:32:08 +00:00
henryk
5b3bd67fb9
Add pwm led code from sniffonly branch
...
git-svn-id: https://svn.openpcd.org:2342/trunk@435 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-03-01 20:24:22 +00:00
henryk
ad5b96d584
New cleaned-up (and then messed up again) SSC code
...
Better layering separation
git-svn-id: https://svn.openpcd.org:2342/trunk@434 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-02-29 08:53:20 +00:00
henryk
4b03b310ff
Add information about new hardware patchlevel
...
git-svn-id: https://svn.openpcd.org:2342/trunk@433 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-02-29 08:13:12 +00:00
laforge
4dc2cb5b49
* move usb descriptors into separate file (src/os/usb_descriptors_openpcd.h)
...
* add USB HID skeleton
git-svn-id: https://svn.openpcd.org:2342/trunk@426 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-02-23 13:19:06 +00:00
henryk
3639a49edf
Modifications to USB code to allow blocks of more than 1 byte to be more efficiently sent.
...
Should affect existing byte base code only marginally.
(Note: Not compliant with FreeRTOS' braindead coding style)
git-svn-id: https://svn.openpcd.org:2342/trunk@416 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-02-20 10:58:58 +00:00
laforge
dde2f8e09c
allow GETSTATE and GETSTATUS requests in MANIFEST state (compatibility with dfu-util)
...
git-svn-id: https://svn.openpcd.org:2342/trunk@413 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2008-02-17 16:14:00 +00:00