* fix length of mifare classic block
[librfid] / TODO
diff --git a/TODO b/TODO
index d8045ea..649fb96 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,25 +1,48 @@
 rc632:
 - fix handling of timeout (program timer of RC632)
+- add a timeout tolerance factor that can be user-specified
+- make sure interrupt mode for timer wait works
 
 cm5121:
 - fix handling of TX or RX > 0x7f [buffer length in atmel chip?]
 
 iso14443a:
-- test anticollision, resolve remaining bugs
+[none]
 
 iso14443b:
 - implement 'option 2' frame markers
 - test anticollission (need multiple tags)
 
+iso15693:
+- implement anticollision
+- implement all the rest
+
+mifare_clasic:
+- test 
+- try to auto-detect 1k/4k
+- try to distinguish mifare ultralight and mifare classic in/after anticol
+
 tcl:
-- test chaining
-- implement + test pps
+- implement pps for asymmetric (rx/tx) speeds
 
 openct:
 - add ifdhandler driver
 
 other:
-- implementation of various tags
+- implementation of code for various passive tags
 - documentation
-- homepage
-- mailinglist(s)
+- add notion of 'asic implementation' for specifying reader-specific
+  initialization values such as mod_conductance
+- abstract a read single block / read multiple block API where l2/proto
+  layer can provide multi-block function (e.g. iso15693), which will be
+  emulated in case there only is a single-block function
+- switch over to use of rfid_buf structure, similar to linux skb.  upper
+  layers have sufficient headroom in order to have lower layers add protocol
+  headers in front of a packet
+- implement software checksumming support.  The reader should be able to
+  indicate whether it supports hardware checksum generation / verification.
+- application software should be able to override hardware csumming on request
+- implement some auto-calibration mode where the user is requested to leave a
+  single PICC/VICC on the reader and the software iterates through various
+  mod_conductance and bitphase values to see whether it can calibrate to a given
+  [new] card. The resulting calibration values are printed by the program.