summaryrefslogtreecommitdiff
path: root/openpicc/application
Commit message (Collapse)AuthorAgeFilesLines
* Count and print late frameshenryk2007-12-094-3/+57
| | | | | | | | Make load modulation level changeable on the fly Better fdt calculation and ajustable fdt offset git-svn-id: https://svn.openpcd.org:2342/trunk@378 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* inlined miller bit decode functionmeri2007-12-061-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@377 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Fix stupid buffer leakage code in standard modehenryk2007-12-062-3/+5
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@376 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Obsolete commenthenryk2007-12-051-2/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@375 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add a kludge to make repetitive sends working. For some obscure reason the ↵henryk2007-12-052-0/+6
| | | | | | | | | first transfer of subsequent transmissions (32 sample-bits, equalling 2 data-bits) gets lost. It does work if I just give the same TX buffer to the PDC twice (once after starting the TX PDC). git-svn-id: https://svn.openpcd.org:2342/trunk@374 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Revamp SSC buffer handling, should severely reduce buffer leakagehenryk2007-12-055-154/+175
| | | | | | | | Switch SSC IRQ handling from edge triggered to level triggered. Somehow I was losing the ENDTX interrupt otherwise Modified ISO14443 code for testing to enable repeated REQA->ATQA cycles. Somehow only the first ATQA is correct, subsequent ATQAs are missing the first two bits. Need to debug git-svn-id: https://svn.openpcd.org:2342/trunk@373 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* remove old debugging #ifdef'shenryk2007-12-053-26/+10
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@372 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Change tc_cdiv_set_divider. The new code seems to work nearly perfect ↵henryk2007-12-041-2/+5
| | | | | | (jitter is now near 1 sample for the fdt of 1172) git-svn-id: https://svn.openpcd.org:2342/trunk@371 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* ATQA needs to be transmitted with parityhenryk2007-12-031-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@367 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* * Reduce leaking of TX buffershenryk2007-12-033-3/+19
| | | | | | | | | | * Found the problem that when switching between receiving and sending tc_cdiv would most of the time not generate an SSC_CLOCK for approx. 5ms: The issue is that after setting the divisor (which stored in RC) CV might be greater than RC. Thus no compare will happen until CV overflows (at 0xffff carrier cycles) and therefore the clock will appear to be stopped for that time. A good fix would have been TC_CV = TC_CV % TC_RC but unfortunately TC_CV is read-only. Instead use SWTRG to reset TC_CV to zero and then try to use the phase-shift code to have the phase stay correct. * Measured the transmit start delay that is introduced by the SSC TF emulation through FIQ and adjusted ISO14443A_FDT accordingly git-svn-id: https://svn.openpcd.org:2342/trunk@366 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Fix copy and paste error in prefill_bufferhenryk2007-12-031-1/+8
| | | | | | | (Add debug output in main loop) git-svn-id: https://svn.openpcd.org:2342/trunk@365 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Fix power-on logic for the case that the card is already in the fieldhenryk2007-11-301-26/+25
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@361 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Fix SSC TX registers (especially the clock source selection), peripheral ↵henryk2007-11-292-7/+40
| | | | | | | | | configuration in ssc_tx_init Implement software (FIQ based) workaround for the problem that TF seemingly cannot be used as a start condition git-svn-id: https://svn.openpcd.org:2342/trunk@360 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Move to prefilling the transmit buffer for faster ATQA responsehenryk2007-11-292-33/+53
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@359 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Switch to hardcoded fiq handler implementation directly in the vector table ↵henryk2007-11-291-26/+5
| | | | | | (milosch's idea) git-svn-id: https://svn.openpcd.org:2342/trunk@358 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Forgotten filehenryk2007-11-271-0/+5
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@357 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Print relevant SSC registershenryk2007-11-273-2/+18
| | | | | | | Set correct tc_cdiv for sending (FIXME: need to reset before receiving) git-svn-id: https://svn.openpcd.org:2342/trunk@356 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Restructure irq handling for setting tc_fdt (works now) and to get most iso ↵henryk2007-11-264-72/+140
| | | | | | | | | specific stuff out of ssc_picc Add ssc tx code (doesn't work yet) git-svn-id: https://svn.openpcd.org:2342/trunk@355 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Remove unusedhenryk2007-11-261-67/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@353 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Prepare transmission codehenryk2007-11-268-111/+264
| | | | | | | | Restructure/add some buffer code Reset the watchdog timer (now at 1.5s), add a watchdog pinger thread git-svn-id: https://svn.openpcd.org:2342/trunk@352 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add load modulation and encoding/decoding code from haraldhenryk2007-11-249-3/+558
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@351 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* hex and dec ...henryk2007-11-231-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@350 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add scale values to the field meterhenryk2007-11-231-2/+5
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@349 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add a work around to have each pio data change fiq followed by a regular IRQ ↵henryk2007-11-233-8/+54
| | | | | | in order to enable some code to be run synchronized with critical sections git-svn-id: https://svn.openpcd.org:2342/trunk@348 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Commit status quo (pending cleanup of the debug and experimental code that I ↵henryk2007-11-237-16/+61
| | | | | | | | | | | added during the last week) Change freertos code to not mask FIQ, this finally makes the FIQ working (with approx 700ns +/- 100ns latency; yeah!) and therefore reception starts working Change to two times oversampling (keep four times oversampling code ifdef'd, extract all the magical values to a header file) because at four times oversampling every other sample is very close to a possible data edge and therefore not reliable git-svn-id: https://svn.openpcd.org:2342/trunk@347 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Remove obsolete codehenryk2007-11-221-28/+6
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@346 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Refactor frame print code out and use in iso14443_layer3ahenryk2007-11-222-28/+39
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@345 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add task and command to print a continouos field meterhenryk2007-11-221-1/+54
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@344 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Commit status quo: Start adding iso 14443 layer 3a codehenryk2007-11-218-22/+180
| | | | | | | Currently working on fiq for pio data change to reset tc0 via swtrg git-svn-id: https://svn.openpcd.org:2342/trunk@336 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Checking in status quo: Can currently receive and print frames in ssc ↵henryk2007-11-219-147/+321
| | | | | | | | | continuous mode (with new short and incomplete ssc irq handler: FIXME, either switch back to original handler (maybe fixing it if necessary) or handle the missing cases in the new handler). Lots of debug statements still in there git-svn-id: https://svn.openpcd.org:2342/trunk@335 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Fight synchronization problemshenryk2007-11-201-3/+31
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@334 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Move some definitions to header filehenryk2007-11-192-9/+11
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@333 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add ssc rx start and reboot commandshenryk2007-11-191-1/+23
| | | | | | | Print version and compile date on help and config commands git-svn-id: https://svn.openpcd.org:2342/trunk@332 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add (ring-)buffered print functions to enable debug output from IRQ handlers ↵henryk2007-11-185-8/+129
| | | | | | or similar situations git-svn-id: https://svn.openpcd.org:2342/trunk@330 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Make vLedBlink* more recognizeable on oscilloscopehenryk2007-11-181-2/+2
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@329 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add blink functions (debugging help with oscilloscope)henryk2007-11-162-1/+23
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@328 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Rewrite irq handlers according to the new information in ↵henryk2007-11-143-9/+23
| | | | | | | | | http://www.freertos.org/portsam7xlwIP.html: /* Call the handler function. This must be a separate function unless you can guarantee that handling the interrupt will never use any stack space. */ git-svn-id: https://svn.openpcd.org:2342/trunk@327 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Slight progress, still: enabling tc_fdt crashes the processor after some bitshenryk2007-11-135-4/+19
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@326 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Get tc_cdiv working (presumably, need to check on the oscilloscope)henryk2007-11-136-13/+74
| | | | | | | Add adc code to read the field strength git-svn-id: https://svn.openpcd.org:2342/trunk@325 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add PIO IRQ counter (and print it in 'c' command)henryk2007-11-136-40/+66
| | | | | | | | | Make tc_cdiv_sync interrupt working Add 'p' command to print some PIO inputs Add 'z' command to enable/disable tc_cdiv_sync git-svn-id: https://svn.openpcd.org:2342/trunk@324 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add code modules for tc_fdt, tc_cdiv_sync, tc_cdiv, ssc_picchenryk2007-11-1111-1/+999
| | | | | | | | Almost all of these have not been checked yet, I just copied them over and hot-fixed compile time errors F.e. all ssc usb code has been removed git-svn-id: https://svn.openpcd.org:2342/trunk@323 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add pio_irq and pll codehenryk2007-11-116-2/+236
| | | | | | | (and a dummy dbgu.h) git-svn-id: https://svn.openpcd.org:2342/trunk@322 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add da_get_value to return the last written valuehenryk2007-11-113-8/+20
| | | | | | | Add commands to increase and decrease comparator threshold git-svn-id: https://svn.openpcd.org:2342/trunk@320 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add distinction between long and short commands, for easier use of toggling ↵henryk2007-11-111-3/+36
| | | | | | type commands git-svn-id: https://svn.openpcd.org:2342/trunk@317 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Revert 313 and 315 again, I'm too stupid to get DFU working, focus on the ↵henryk2007-11-113-74/+1
| | | | | | application code first git-svn-id: https://svn.openpcd.org:2342/trunk@316 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Start working at dfu by copying from main openpcd repository (with ↵henryk2007-11-072-0/+73
| | | | | | modifications), doesn't boot application yet git-svn-id: https://svn.openpcd.org:2342/trunk@315 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* DA code to set the comparator thresholdhenryk2007-11-074-0/+84
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@312 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Initial import of FreeRTOS code for OpenPICChenryk2007-11-068-0/+768
git-svn-id: https://svn.openpcd.org:2342/trunk@311 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
personal git repositories of Harald Welte. Your mileage may vary