enable debug output and disable poll for smartcard
[librfid] / TODO
diff --git a/TODO b/TODO
index 5d50d15..f3d8b4e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,23 +1,57 @@
+architecture:
+- somehow have some more abstrcat handle type in order to enable the generic
+  rfid_{get,set}opt() functions
+- remove additional transceive_{acf,sf} functions from reader and asic structs,
+  make the code reuse the existing transceive() function by using the frametype
+  to differentiate different cases.
+
 rc632:
-- fix handling of timeout (program timer of RC632)
+- make timeout tolerance factor (TIMER_RELAX_FACTOR) user-specified
+- try to use built-in timer for timing analysis, i.e. determine the exact time
+  until a card response by reading the remaining timer ticks from the register
+- 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
+
+mifare_clasic:
+[none]
+
+icode1:
+- implement and test code (I only have ICode2 tags)
+
 tcl:
-- implement chaining
-- implement wait time extension
+- implement pps for asymmetric (rx/tx) speeds
 
 openct:
-- add ifdhandler driver
+- add ifdhandler driver for PC/SC support
+- add various standardized PC/SC remappings for cards != tcl
 
 other:
-- implementation of various tags
+- implementation of code for various passive tags, ie. ITRX, I*Code1, I*Code2, Tag-it, ...
 - documentation
-- homepage
-- mailinglist(s)
-- move to new 'librfid' svn repository
+- 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.