3 * This file contains special DoxyGen information for the generation of the main page and other special
4 * documentation pages. It is not a project source file.
7 /** \mainpage Denver Gingerich's USBSnoop Magnetic Card Reader Project
9 * \section Sec_Compat Project Compatibility:
11 * The following list indicates what microcontrollers are compatible with this project.
16 * \section Sec_Info USB Information:
18 * The following table gives a rundown of the USB utilization of this project.
22 * <td><b>USB Mode:</b></td>
26 * <td><b>USB Class:</b></td>
27 * <td>Human Interface Device (HID)</td>
30 * <td><b>USB Subclass:</b></td>
34 * <td><b>Relevant Standards:</b></td>
35 * <td>USBIF HID Standard, USBIF HID Usage Tables</td>
38 * <td><b>Usable Speeds:</b></td>
39 * <td>Full Speed Mode</td>
43 * \section Sec_Description Project Description:
45 * Firmware for a USB AVR powered USB TTL magnetic stripe reader (using a card
46 * reader such as the Omron V3B-4K) by Denver Gingerich. This project is designed
47 * to be used with the open source Stripe Snoop project at <a>http://stripesnoop.sourceforge.net/</a>.
49 * See <a>http://ossguy.com/ss_usb/</a> for the USB reader hardware project website,
50 * including construction and support details.
52 * To use, connect your magnetic card reader device to the USB AVR as follows (pin and port mapping may be adjusted
53 * from the project makefile):
57 * <td><b>Signal:</b></td>
58 * <td><b>AVR Port:</b></td>
61 * <td>Track 1 Data</td>
62 * <td>PORTC, Pin 1</td>
65 * <td>Track 1 Clock</td>
66 * <td>PORTC, Pin 2</td>
69 * <td>Track 2 Data</td>
70 * <td>PORTC, Pin 3</td>
73 * <td>Track 2 Clock</td>
74 * <td>PORTC, Pin 0</td>
77 * <td>Track 3 Data</td>
78 * <td>PORTC, Pin 5</td>
81 * <td>Track 3 Clock</td>
82 * <td>PORTC, Pin 6</td>
85 * <td>Card Detect</td>
86 * <td>PORTC, Pin 4</td>
90 * This project is based on the LUFA Keyboard project demonstration application, written by Denver Gingerich.
92 * This application uses a keyboard HID driver to communicate the data collected a TTL magnetic stripe reader
93 * to the connected computer. The raw bitstream obtained from the magnetic stripe reader is "typed" through
94 * the keyboard driver as 0's and 1's. After every card swipe, the project will send a return key.
96 * \section Sec_Options Project Options
98 * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
102 * <td><b>Define Name:</b></td>
103 * <td><b>Location:</b></td>
104 * <td><b>Description:</b></td>
108 * <td>CircularBitBuffer.h</td>
109 * <td>Gives the maximum number of bits per track which can be buffered by the device for later transmission to a host.</td>
112 * <td>MAG_T1_CLOCK</td>
113 * <td>Makefile LUFA_OPTS</td>
114 * <td>Mask for the magnetic card reader's CLOCK line for the reader's track 1 output.</td>
117 * <td>MAG_T1_DATA</td>
118 * <td>Makefile LUFA_OPTS</td>
119 * <td>Mask for the magnetic card reader's DATA line for the reader's track 1 output.</td>
122 * <td>MAG_T2_CLOCK</td>
123 * <td>Makefile LUFA_OPTS</td>
124 * <td>Mask for the magnetic card reader's CLOCK line for the reader's track 2 output.</td>
127 * <td>MAG_T2_DATA</td>
128 * <td>Makefile LUFA_OPTS</td>
129 * <td>Mask for the magnetic card reader's DATA line for the reader's track 2 output.</td>
132 * <td>MAG_T3_CLOCK</td>
133 * <td>Makefile LUFA_OPTS</td>
134 * <td>Mask for the magnetic card reader's CLOCK line for the reader's track 3 output.</td>
137 * <td>MAG_T3_DATA</td>
138 * <td>Makefile LUFA_OPTS</td>
139 * <td>Mask for the magnetic card reader's DATA line for the reader's track 3 output.</td>
142 * <td>MAG_CARDPRESENT</td>
143 * <td>Makefile LUFA_OPTS</td>
144 * <td>Mask for the magnetic card reader's card detection output.</td>
148 * <td>Makefile LUFA_OPTS</td>
149 * <td>PIN register that the magnetic card reader device is attached to.</td>
153 * <td>Makefile LUFA_OPTS</td>
154 * <td>PORT register that the magnetic card reader device is attached to.</td>
158 * <td>Makefile LUFA_OPTS</td>
159 * <td>DDR register that the magnetic card reader device is attached to.</td>