From 6658905f18a1eebc148836f26c731dea9c1377dc Mon Sep 17 00:00:00 2001 From: "edouard@lafargue.name" <edouard@lafargue.name@ef4ab9da-24cd-11de-8aaa-f3a34680c41f> Date: Thu, 9 Apr 2009 06:43:20 +0000 Subject: [PATCH] Initial commit for the firmware. Used the 20090306_ela version as baseline. It is identical to the popular 20081211, with the doob addition (20090301), a linux client, and two additional commands for LF analysis. Let me know if you find issues here! --- LICENSE.txt | 281 ++++++ LOG.txt | 3 + README-gj.txt | 28 + README.txt | 156 +++ armsrc/LCD.c | 123 +++ armsrc/LCD.h | 120 +++ armsrc/Makefile | 61 ++ armsrc/appmain.c | 757 +++++++++++++++ armsrc/apps.h | 77 ++ armsrc/example_lcd.c | 269 ++++++ armsrc/fonts.c | 300 ++++++ armsrc/fonts.h | 6 + armsrc/fpga.c | 222 +++++ armsrc/fpgaimg.c | 0 armsrc/iso14443.c | 988 +++++++++++++++++++ armsrc/iso14443a.c | 1815 +++++++++++++++++++++++++++++++++++ armsrc/iso15693.c | 1226 +++++++++++++++++++++++ armsrc/ldscript | 11 + armsrc/ldscript-fpga | 11 + armsrc/start.c | 12 + armsrc/util.c | 53 + bootrom/Makefile | 58 ++ bootrom/bootrom.c | 190 ++++ bootrom/flash-reset.s | 38 + bootrom/fromflash.c | 11 + bootrom/ldscript-flash | 11 + bootrom/ldscript-ram-jtag | 10 + bootrom/ram-reset.s | 10 + cockpit/0setpath.bat | 5 + cockpit/1makearm.bat | 5 + cockpit/2makeboot.bat | 5 + cockpit/3makewin.bat | 5 + cockpit/4flashos.bat | 3 + cockpit/5makeall.bat | 3 + cockpit/prox.bat | 3 + common/iso14443_crc.c | 35 + common/usb.c | 472 +++++++++ doc/CHANGES.TXT | 155 +++ doc/README.TXT | 39 + doc/component-placement.bmp | Bin 0 -> 66066 bytes doc/proxmark3.pdf | Bin 0 -> 76335 bytes doc/proxmark3.xls | Bin 0 -> 30208 bytes doc/schematics.pdf | Bin 0 -> 834286 bytes doc/system.txt | 276 ++++++ fpga/fpga.mpf | 239 +++++ fpga/fpga.ucf | 41 + fpga/fpga.v | 190 ++++ fpga/go.bat | 38 + fpga/hi_iso14443a.v | 360 +++++++ fpga/hi_read_rx_xcorr.v | 165 ++++ fpga/hi_read_tx.v | 76 ++ fpga/hi_simulate.v | 106 ++ fpga/lo_read.v | 102 ++ fpga/lo_simulate.v | 37 + fpga/sim.tcl | 27 + fpga/testbed_fpga.v | 50 + fpga/testbed_hi_read_tx.v | 109 +++ fpga/testbed_hi_simulate.v | 116 +++ fpga/testbed_lo_read.v | 105 ++ fpga/testbed_lo_simulate.v | 101 ++ fpga/util.v | 27 + fpga/xst.scr | 1 + include/at91sam7s128.h | 461 +++++++++ include/config_gpio.h | 40 + include/proxmark3.h | 62 ++ include/usb_cmd.h | 71 ++ linux/Makefile | 29 + linux/command.c | 2 + linux/flasher.c | 166 ++++ linux/gui.c | 54 ++ linux/guidummy.c | 17 + linux/proxgui.cpp | 58 ++ linux/proxgui.h | 20 + linux/proxguiqt.cpp | 309 ++++++ linux/proxguiqt.h | 56 ++ linux/proxmark3.c | 91 ++ linux/proxmark3.h | 11 + linux/snooper.c | 49 + linux/translate.h | 9 + linux/unbind-proxmark | 16 + linux/usb.c | 171 ++++ linux/windows.h | 0 winsrc/Makefile | 31 + winsrc/command.cpp | 1812 ++++++++++++++++++++++++++++++++++ winsrc/gui.cpp | 510 ++++++++++ winsrc/include/hidpi.h | 1787 ++++++++++++++++++++++++++++++++++ winsrc/include/hidsdi.h | 412 ++++++++ winsrc/include/hidusage.h | 263 +++++ winsrc/prox.cpp | 379 ++++++++ winsrc/prox.h | 32 + winsrc/vc90.pdb | Bin 0 -> 94208 bytes 91 files changed, 16661 insertions(+) create mode 100644 LICENSE.txt create mode 100644 LOG.txt create mode 100644 README-gj.txt create mode 100644 README.txt create mode 100644 armsrc/LCD.c create mode 100644 armsrc/LCD.h create mode 100644 armsrc/Makefile create mode 100644 armsrc/appmain.c create mode 100644 armsrc/apps.h create mode 100644 armsrc/example_lcd.c create mode 100644 armsrc/fonts.c create mode 100644 armsrc/fonts.h create mode 100644 armsrc/fpga.c create mode 100644 armsrc/fpgaimg.c create mode 100644 armsrc/iso14443.c create mode 100644 armsrc/iso14443a.c create mode 100644 armsrc/iso15693.c create mode 100644 armsrc/ldscript create mode 100644 armsrc/ldscript-fpga create mode 100644 armsrc/start.c create mode 100644 armsrc/util.c create mode 100644 bootrom/Makefile create mode 100644 bootrom/bootrom.c create mode 100644 bootrom/flash-reset.s create mode 100644 bootrom/fromflash.c create mode 100644 bootrom/ldscript-flash create mode 100644 bootrom/ldscript-ram-jtag create mode 100644 bootrom/ram-reset.s create mode 100644 cockpit/0setpath.bat create mode 100644 cockpit/1makearm.bat create mode 100644 cockpit/2makeboot.bat create mode 100644 cockpit/3makewin.bat create mode 100644 cockpit/4flashos.bat create mode 100644 cockpit/5makeall.bat create mode 100644 cockpit/prox.bat create mode 100644 common/iso14443_crc.c create mode 100644 common/usb.c create mode 100644 doc/CHANGES.TXT create mode 100644 doc/README.TXT create mode 100644 doc/component-placement.bmp create mode 100644 doc/proxmark3.pdf create mode 100644 doc/proxmark3.xls create mode 100644 doc/schematics.pdf create mode 100644 doc/system.txt create mode 100644 fpga/fpga.mpf create mode 100644 fpga/fpga.ucf create mode 100644 fpga/fpga.v create mode 100644 fpga/go.bat create mode 100644 fpga/hi_iso14443a.v create mode 100644 fpga/hi_read_rx_xcorr.v create mode 100644 fpga/hi_read_tx.v create mode 100644 fpga/hi_simulate.v create mode 100644 fpga/lo_read.v create mode 100644 fpga/lo_simulate.v create mode 100644 fpga/sim.tcl create mode 100644 fpga/testbed_fpga.v create mode 100644 fpga/testbed_hi_read_tx.v create mode 100644 fpga/testbed_hi_simulate.v create mode 100644 fpga/testbed_lo_read.v create mode 100644 fpga/testbed_lo_simulate.v create mode 100644 fpga/util.v create mode 100644 fpga/xst.scr create mode 100644 include/at91sam7s128.h create mode 100644 include/config_gpio.h create mode 100644 include/proxmark3.h create mode 100644 include/usb_cmd.h create mode 100644 linux/Makefile create mode 100644 linux/command.c create mode 100644 linux/flasher.c create mode 100644 linux/gui.c create mode 100644 linux/guidummy.c create mode 100644 linux/proxgui.cpp create mode 100644 linux/proxgui.h create mode 100644 linux/proxguiqt.cpp create mode 100644 linux/proxguiqt.h create mode 100644 linux/proxmark3.c create mode 100644 linux/proxmark3.h create mode 100644 linux/snooper.c create mode 100644 linux/translate.h create mode 100755 linux/unbind-proxmark create mode 100644 linux/usb.c create mode 100644 linux/windows.h create mode 100644 winsrc/Makefile create mode 100644 winsrc/command.cpp create mode 100644 winsrc/gui.cpp create mode 100644 winsrc/include/hidpi.h create mode 100644 winsrc/include/hidsdi.h create mode 100644 winsrc/include/hidusage.h create mode 100644 winsrc/prox.cpp create mode 100644 winsrc/prox.h create mode 100644 winsrc/vc90.pdb diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 00000000..8094a4ac --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,281 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/LOG.txt b/LOG.txt new file mode 100644 index 00000000..43d215c1 --- /dev/null +++ b/LOG.txt @@ -0,0 +1,3 @@ + +MAY 2008: Added ISO14443 type A support, Gerhard de Koning Gans + diff --git a/README-gj.txt b/README-gj.txt new file mode 100644 index 00000000..9ce27983 --- /dev/null +++ b/README-gj.txt @@ -0,0 +1,28 @@ +Modifications to 20081211 release by d18c7db on proxmark.org + +This compiles fine under the pre-built windows compile environment ProxSpace + +I make no apologies for the utterly cr@p coding. It's rubbish, you've been warned. + +Changes made to armsrc and winsrc, no changed to fpga code. Works fine with the bootloader and fpga images that you will build using the 20081211 release. + + +Extra functionality includes: + +ISO1443a support +================ + +i) Support for cascade 2 select (used for UID's longer than 4 bytes) +ii) Hard-coded (some) responses in for DESfire + + +ISO15563 support +================ + +i) demodulation all moved onto the arm +ii) Addition of a command, hi15reader (a reader simulator) +iii) Addition of a command, hi15sim (a tag simulator) - not working too well + + + +greg.jones@digitalassurance.com \ No newline at end of file diff --git a/README.txt b/README.txt new file mode 100644 index 00000000..541365c2 --- /dev/null +++ b/README.txt @@ -0,0 +1,156 @@ +INTRO: + +This file contains enough software, logic (for the FPGA), and design +documentation for the hardware that you could, at least in theory, +do something useful with a proxmark3. It has commands to: + + * read any kind of 125 kHz unidirectional tag + * simulate any kind of 125 kHz unidirectional tag + +(This is enough to perform all of the silly cloning attacks, like the +ones that I did at the Capitol in Sacramento, or anything involving +a Verichip. From a technical standpoint, these are not that exciting, +although the `software radio' architecture of the proxmark3 makes it +easy and fun to support new formats.) + +As a bonus, I include some code to use the 13.56 MHz hardware, so you can: + + * do anything that a (medium-range) ISO 15693 reader could + * read an ISO 14443 tag, if you know the higher-layer protocol + * pretend to be an ISO 14443 tag, if you know the higher-layer protocol + * snoop on an ISO 14443 transaction + +I am not actively developing any of this. I have other projects that +seem to be more useful. + +USING THE PACKAGE: + +The software tools required to build include: + + * cygwin or other unix-like tools for Windows + * the Microsoft Visual C++ compiler (I use Version 6) + * arm-elf-gcc; I use WinterMute's build, from http://www.devkitpro.org/ + * Xilinx's WebPack tools + * Modelsim (for test only) + * perl + +It is not necessary to build the FPGA image yourself; a pre-compiled +image is provided, as armsrc/fpgaimg.c. This is a generated file, +though, and you can rebuild it by running fpga/go.bat. + +Documentation is minimal, but see the doc/ directory for what exists. A +previous familiarity with the ARM, with digital signal processing, +and with embedded programming in general is assumed. + +The device is used through a specialized command line interface; for +example, to clone a Verichip, you might type: + + loread ; this reads the tag, and stores the + ; raw samples in memory on the ARM + + losamples ; then we download the samples to + ; the PC + + vchdemod clone ; demodulate the ID, and then put it + ; back in a format that we can replay + + losim ; and then replay it + +To read an ISO 15693 tag, you might type: + + hiread ; read the tag; this involves sending a + ; particular command, and then getting + ; the response (which is stored as raw + ; samples in memory on the ARM) + + hisamples ; then download those samples to the PC + + hi15demod ; and demod them to bits (and check the + ; CRC etc. at the same time) + +Notice that in both cases the signal processing mostly happened on the PC +side; that is of course not practical for a real reader, but it is easier +to initially write your code and debug on the PC side than on the ARM. As +long as you use integer math (and I do), it's trivial to port it over +when you're done. + +The USB driver and bootloader are documented (and available separately +for download, if you wish to use them in another project) at + + http://cq.cx/trivia.pl + + +OBTAINING HARDWARE: + +Most of the ultra-low-volume contract assemblers that have sprung up +(Screaming Circuits, the various cheap Asian suppliers, etc.) could put +something like this together with a reasonable yield. A run of around +a dozen units is probably cost-effective. The BOM includes (possibly- +outdated) component pricing, and everything is available from Digikey +and the usual distributors. + +If you've never assembled a modern circuit board by hand, then this is +not a good place to start. Some of the components (e.g. the crystals) +must not be assembled with a soldering iron, and require hot air. + +The schematics are included; the component values given are not +necessarily correct for all situations, but it should be possible to do +nearly anything you would want with appropriate population options. + +The printed circuit board artwork is also available, as Gerbers and an +Excellon drill file. + + +FUTURE PLANS, ENHANCEMENTS THAT YOU COULD MAKE: + +At some point I should write software involving a proper real-time +operating system for the ARM. I would then provide interrupt-driven +drivers for many of the peripherals that are polled now (the USB, +the data stream from the FPGA), which would make it easier to develop +complex applications. + +It would not be all that hard to implement the ISO 15693 reader properly +(with anticollision, all the commands supported, and so on)--the signal +processing is already written, so it is all straightforward applications +work. + +I have basic support for ISO 14443 as well: a sniffer, a simulated +tag, and a reader. It won't do anything useful unless you fill in the +high-layer protocol. + +Nicer (i.e., closer-to-optimal) implementations of all kinds of signal +processing would be useful as well. + +A practical implementation of the learning-the-tag's-ID-from-what-the- +reader-broadcasts-during-anticollision attacks would be relatively +straightforward. This would involve some signal processing on the FPGA, +but not much else after that. + +It would be neat to write a driver that could stream samples from the A/Ds +over USB to the PC, using the full available bandwidth of USB. I am not +yet sure what that would be good for, but surely something. This would +require a kernel-mode driver under Windows, though, which is more work. + + +LICENSING: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Jonathan Westhues +user jwesthues, at host cq.cx + +May 2007, Cambridge MA + diff --git a/armsrc/LCD.c b/armsrc/LCD.c new file mode 100644 index 00000000..02c2f696 --- /dev/null +++ b/armsrc/LCD.c @@ -0,0 +1,123 @@ +#include <proxmark3.h> +#include "apps.h" +#include "LCD.h" + +void LCDSend(unsigned int data) +{ + // 9th bit set for data, clear for command + while ((SPI_STATUS & SPI_STATUS_TX_EMPTY) == 0); // wait for the transfer to complete + // For clarity's sake we pass data with 9th bit clear and commands with 9th + // bit set since they're implemented as defines, se we need to invert bit + SPI_TX_DATA = data^0x100; // Send the data/command +} + +void LCDSetXY(unsigned char x, unsigned char y) +{ + LCDSend(PPASET); // page start/end ram + LCDSend(y); // Start Page to display to + LCDSend(131); // End Page to display to + + LCDSend(PCASET); // column start/end ram + LCDSend(x); // Start Column to display to + LCDSend(131); // End Column to display to +} + +void LCDSetPixel(unsigned char x, unsigned char y, unsigned char color) +{ + LCDSetXY(x,y); // Set position + LCDSend(PRAMWR); // Now write the pixel to the display + LCDSend(color); // Write the data in the specified Color +} + +void LCDFill (unsigned char xs,unsigned char ys,unsigned char width,unsigned char height, unsigned char color) +{ + unsigned char i,j; + + for (i=0;i < height;i++) // Number of horizontal lines + { + LCDSetXY(xs,ys+i); // Goto start of fill area (Top Left) + LCDSend(PRAMWR); // Write to display + + for (j=0;j < width;j++) // pixels per line + LCDSend(color); + } +} + +void LCDString (char *lcd_string, const char *font_style,unsigned char x, unsigned char y, unsigned char fcolor, unsigned char bcolor) +{ + unsigned int i; + unsigned char mask=0, px, py, xme, yme, offset; + const char *data; + + data = font_style; // point to the start of the font table + + xme = *data; // get font x width + data++; + yme = *data; // get font y length + data++; + offset = *data; // get data bytes per font + + do + { + // point to data in table to be loaded + data = (font_style + offset) + (offset * (int)(*lcd_string - 32)); + + for (i=0;i < yme;i++) { + mask |=0x80; + + for (px=x; px < (x + xme); px++) { + py= y + i; + + if (*data & mask) LCDSetPixel (px,py,fcolor); + else LCDSetPixel (px,py,bcolor); + + mask>>=1; + } + data++; + } + x+=xme; + + lcd_string++; // next character in string + + } while(*lcd_string !='\0'); // keep spitting chars out until end of string +} + +void LCDReset(void) +{ + LED_A_ON(); + SetupSpi(SPI_LCD_MODE); + LCD_RESET_LOW(); + SpinDelay(100); + + LCD_RESET_HIGH(); + SpinDelay(100); + LED_A_OFF(); +} + +void LCDInit(void) +{ + int i; + + LCDReset(); + + LCDSend(PSWRESET); // software reset + SpinDelay(100); + LCDSend(PSLEEPOUT); // exit sleep mode + LCDSend(PBSTRON); // booster on + LCDSend(PDISPON); // display on + LCDSend(PNORON); // normal on + LCDSend(PMADCTL); // rotate display 180 deg + LCDSend(0xC0); + + LCDSend(PCOLMOD); // color mode + LCDSend(0x02); // 8bpp color mode + + LCDSend(PSETCON); // set contrast + LCDSend(0xDC); + + // clear display + LCDSetXY(0,0); + LCDSend(PRAMWR); // Write to display + i=LCD_XRES*LCD_YRES; + while(i--) LCDSend(WHITE); +} diff --git a/armsrc/LCD.h b/armsrc/LCD.h new file mode 100644 index 00000000..27971eba --- /dev/null +++ b/armsrc/LCD.h @@ -0,0 +1,120 @@ +#ifndef __LCD +#define __LCD + +#define LCD_RESET_HIGH() PIO_OUTPUT_DATA_SET |= (1<<GPIO_LRST) +#define LCD_RESET_LOW() PIO_OUTPUT_DATA_CLEAR |= (1<<GPIO_LRST) + +// The resolution of the LCD +#define LCD_XRES 132 +#define LCD_YRES 132 + +// 8bpp Color Mode - Some basic colors defined for ease of use +// remember 8bpp color = 3xRed, 3xGreen & 2xBlue bits +// organised as RRRGGGBB + +#define BLACK 0x00 +#define BLUE 0x03 +#define GREEN 0x1C +#define CYAN 0x1F +#define RED 0xE0 +#define MAGENTA 0xE3 +#define YELLOW 0xFC +#define WHITE 0xFF + +// EPSON LCD command set +#define ECASET 0x115 +#define EPWRCTR 0x120 +#define ENOP 0x125 +#define ERAMWR 0x15C +#define ERAMRD 0x15D +#define EPASET 0x175 +#define EEPSRRD1 0x17C +#define EEPSRRD2 0x17D +#define EVOLCTR 0x181 +#define ETMPGRD 0x182 +#define ESLPOUT 0x194 +#define ESLPIN 0x195 +#define EDISNOR 0x1A6 +#define EDISINV 0x1A7 +#define EPTLIN 0x1A8 +#define EPTLOUT 0x1A9 +#define EASCSET 0x1AA +#define ESCSTART 0x1AB +#define EDISOFF 0x1AE +#define EDISON 0x1AF +#define ECOMSCN 0x1BB +#define EDATCTL 0x1BC +#define EDISCTL 0x1CA +#define EEPCOUT 0x1CC +#define EEPCTIN 0x1CD +#define ERGBSET8 0x1CE +#define EOSCON 0x1D1 +#define EOSCOFF 0x1D2 +#define EVOLUP 0x1D6 +#define EVOLDOWN 0x1D7 +#define ERMWIN 0x1E0 +#define ERMWOUT 0x1EE +#define EEPMWR 0x1FC +#define EEPMRD 0x1FD + +// PHILIPS LCD command set +#define PNOP 0x100 +#define PSWRESET 0x101 +#define PBSTROFF 0x102 +#define PBSTRON 0x103 +#define PRDDIDIF 0x104 +#define PRDDST 0x109 +#define PSLEEPIN 0x110 +#define PSLEEPOUT 0x111 +#define PPTLON 0x112 +#define PNORON 0x113 +#define PINVOFF 0x120 +#define PINVON 0x121 +#define PDALO 0x122 +#define PDAL 0x123 +#define PSETCON 0x125 +#define PDISPOFF 0x128 +#define PDISPON 0x129 +#define PCASET 0x12A +#define PPASET 0x12B +#define PRAMWR 0x12C +#define PRGBSET 0x12D +#define PPTLAR 0x130 +#define PVSCRDEF 0x133 +#define PTEOFF 0x134 +#define PTEON 0x135 +#define PMADCTL 0x136 +#define PSEP 0x137 +#define PIDMOFF 0x138 +#define PIDMON 0x139 +#define PCOLMOD 0x13A +#define PSETVOP 0x1B0 +#define PBRS 0x1B4 +#define PTRS 0x1B6 +#define PFINV 0x1B9 +#define PDOR 0x1BA +#define PTCDFE 0x1BD +#define PTCVOPE 0x1BF +#define PEC 0x1C0 +#define PSETMUL 0x1C2 +#define PTCVOPAB 0x1C3 +#define PTCVOPCD 0x1C4 +#define PTCDF 0x1C5 +#define PDF8C 0x1C6 +#define PSETBS 0x1C7 +#define PRDTEMP 0x1C8 +#define PNLI 0x1C9 +#define PRDID1 0x1DA +#define PRDID2 0x1DB +#define PRDID3 0x1DC +#define PSFD 0x1EF +#define PECM 0x1F0 + +void LCDSend(unsigned int data); +void LCDInit(void); +void LCDReset(void); +void LCDSetXY(unsigned char x, unsigned char y); +void LCDSetPixel(unsigned char x, unsigned char y, unsigned char color); +void LCDString (char *lcd_string, const char *font_style,unsigned char x, unsigned char y, unsigned char fcolor, unsigned char bcolor); +void LCDFill (unsigned char xs,unsigned char ys,unsigned char width,unsigned char height, unsigned char color); +#endif diff --git a/armsrc/Makefile b/armsrc/Makefile new file mode 100644 index 00000000..e8db3b31 --- /dev/null +++ b/armsrc/Makefile @@ -0,0 +1,61 @@ +CC = arm-elf-gcc +AS = arm-elf-as +LD = arm-elf-ld +OBJCOPY = arm-elf-objcopy + +OBJDIR = obj + +INCLUDE = -I../include + +INCLUDES = ../include/proxmark3.h ../include/at91sam7s128.h ../include/config_gpio.h ../include/usb_cmd.h apps.h +LIB = "..\..\devkitARM\lib\gcc\arm-elf\4.1.0\interwork" + +CFLAGS = -O6 -c $(INCLUDE) -Wall + +OBJ = $(OBJDIR)/start.o \ + $(OBJDIR)/appmain.o \ + $(OBJDIR)/fpga.o \ + $(OBJDIR)/iso14443.o \ + $(OBJDIR)/iso14443a.o \ + $(OBJDIR)/iso15693.o \ + $(OBJDIR)/util.o \ + $(OBJDIR)/fonts.o \ + $(OBJDIR)/LCD.o + +OBJFPGA = \ + $(OBJDIR)/fpgaimg.o + +OBJCOMMON = \ + $(OBJDIR)/usb.o + +all: osimage.s19 + +$(OBJDIR)/fpgaimage.s19: $(OBJDIR)/fpgaimg.o + @echo obj/fpgaimage.s19 + @$(LD) -g -Tldscript-fpga -o $(OBJDIR)\fpgaimage.elf $(OBJDIR)/fpgaimg.o + @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)\fpgaimage.elf $(OBJDIR)\fpgaimage.s19 + +$(OBJDIR)/osimage.s19: $(OBJ) $(OBJCOMMON) + @echo obj/osimage.s19 + @$(LD) -g -Tldscript -o $(OBJDIR)\osimage.elf $(OBJ) $(OBJCOMMON) $(LIB)\libgcc.a + @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)\osimage.elf $(OBJDIR)\osimage.s19 + +osimage.s19: $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19 + @echo osimage.s19 + +$(OBJ): $(@B).c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork $(@B).c -o $(OBJDIR)/$(@B).o + +$(OBJCOMMON): ../common/$(@B).c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork ../common/$(@B).c -o $(OBJDIR)/$(@B).o + +$(OBJFPGA): $(@B).c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork $(@B).c -o $(OBJDIR)/$(@B).o + +clean: + del /q obj\*.o + del /q obj\*.elf + del /q obj\*.s19 diff --git a/armsrc/appmain.c b/armsrc/appmain.c new file mode 100644 index 00000000..30312754 --- /dev/null +++ b/armsrc/appmain.c @@ -0,0 +1,757 @@ +//----------------------------------------------------------------------------- +// The main application code. This is the first thing called after start.c +// executes. +// Jonathan Westhues, Mar 2006 +// Edits by Gerhard de Koning Gans, Sep 2007 (##) +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" +#include "fonts.h" +#include "LCD.h" + +// The large multi-purpose buffer, typically used to hold A/D samples, +// maybe pre-processed in some way. +DWORD BigBuf[16000]; + +//============================================================================= +// A buffer where we can queue things up to be sent through the FPGA, for +// any purpose (fake tag, as reader, whatever). We go MSB first, since that +// is the order in which they go out on the wire. +//============================================================================= + +BYTE ToSend[256]; +int ToSendMax; +static int ToSendBit; + +void ToSendReset(void) +{ + ToSendMax = -1; + ToSendBit = 8; +} + +void ToSendStuffBit(int b) +{ + if(ToSendBit >= 8) { + ToSendMax++; + ToSend[ToSendMax] = 0; + ToSendBit = 0; + } + + if(b) { + ToSend[ToSendMax] |= (1 << (7 - ToSendBit)); + } + + ToSendBit++; + + if(ToSendBit >= sizeof(ToSend)) { + ToSendBit = 0; + DbpString("ToSendStuffBit overflowed!"); + } +} + +//============================================================================= +// Debug print functions, to go out over USB, to the usual PC-side client. +//============================================================================= + +void DbpString(char *str) +{ + UsbCommand c; + c.cmd = CMD_DEBUG_PRINT_STRING; + c.ext1 = strlen(str); + memcpy(c.d.asBytes, str, c.ext1); + + UsbSendPacket((BYTE *)&c, sizeof(c)); + // TODO fix USB so stupid things like this aren't req'd + SpinDelay(50); +} + +void DbpIntegers(int x1, int x2, int x3) +{ + UsbCommand c; + c.cmd = CMD_DEBUG_PRINT_INTEGERS; + c.ext1 = x1; + c.ext2 = x2; + c.ext3 = x3; + + UsbSendPacket((BYTE *)&c, sizeof(c)); + // XXX + SpinDelay(50); +} + +void AcquireRawAdcSamples125k(BOOL at134khz) +{ + BYTE *dest = (BYTE *)BigBuf; + int n = sizeof(BigBuf); + int i; + + memset(dest,0,n); + + if(at134khz) { + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER | FPGA_LF_READER_USE_134_KHZ); + } else { + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER | FPGA_LF_READER_USE_125_KHZ); + } + + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + i = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + LED_D_ON(); + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + dest[i] = (BYTE)SSC_RECEIVE_HOLDING; + i++; + LED_D_OFF(); + if(i >= n) { + break; + } + } + } + DbpIntegers(dest[0], dest[1], at134khz); +} + +//----------------------------------------------------------------------------- +// Read an ADC channel and block till it completes, then return the result +// in ADC units (0 to 1023). Also a routine to average sixteen samples and +// return that. +//----------------------------------------------------------------------------- +static int ReadAdc(int ch) +{ + DWORD d; + + ADC_CONTROL = ADC_CONTROL_RESET; + ADC_MODE = ADC_MODE_PRESCALE(32) | ADC_MODE_STARTUP_TIME(16) | + ADC_MODE_SAMPLE_HOLD_TIME(8); + ADC_CHANNEL_ENABLE = ADC_CHANNEL(ch); + + ADC_CONTROL = ADC_CONTROL_START; + while(!(ADC_STATUS & ADC_END_OF_CONVERSION(ch))) + ; + d = ADC_CHANNEL_DATA(ch); + + return d; +} + +static int AvgAdc(int ch) +{ + int i; + int a = 0; + + for(i = 0; i < 32; i++) { + a += ReadAdc(ch); + } + + return (a + 15) >> 5; +} + +void MeasureAntennaTuning(void) +{ +// Impedances are Zc = 1/(j*omega*C), in ohms +#define LF_TUNING_CAP_Z 1273 // 1 nF @ 125 kHz +#define HF_TUNING_CAP_Z 235 // 50 pF @ 13.56 MHz + + int vLf125, vLf134, vHf; // in mV + + UsbCommand c; + + // Let the FPGA drive the low-frequency antenna around 125 kHz. + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER | FPGA_LF_READER_USE_125_KHZ); + SpinDelay(20); + vLf125 = AvgAdc(4); + // Vref = 3.3V, and a 10000:240 voltage divider on the input + // can measure voltages up to 137500 mV + vLf125 = (137500 * vLf125) >> 10; + + // Let the FPGA drive the low-frequency antenna around 134 kHz. + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER | FPGA_LF_READER_USE_134_KHZ); + SpinDelay(20); + vLf134 = AvgAdc(4); + // Vref = 3.3V, and a 10000:240 voltage divider on the input + // can measure voltages up to 137500 mV + vLf134 = (137500 * vLf134) >> 10; + + // Let the FPGA drive the high-frequency antenna around 13.56 MHz. + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + SpinDelay(20); + vHf = AvgAdc(5); + // Vref = 3300mV, and an 10:1 voltage divider on the input + // can measure voltages up to 33000 mV + vHf = (33000 * vHf) >> 10; + + c.cmd = CMD_MEASURED_ANTENNA_TUNING; + c.ext1 = (vLf125 << 0) | (vLf134 << 16); + c.ext2 = vHf; + c.ext3 = (LF_TUNING_CAP_Z << 0) | (HF_TUNING_CAP_Z << 16); + UsbSendPacket((BYTE *)&c, sizeof(c)); +} + +void SimulateTagLowFrequency(int period) +{ + int i; + BYTE *tab = (BYTE *)BigBuf; + + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_SIMULATOR); + + PIO_ENABLE = (1 << GPIO_SSC_DOUT) | (1 << GPIO_SSC_CLK); + + PIO_OUTPUT_ENABLE = (1 << GPIO_SSC_DOUT); + PIO_OUTPUT_DISABLE = (1 << GPIO_SSC_CLK); + +#define SHORT_COIL() LOW(GPIO_SSC_DOUT) +#define OPEN_COIL() HIGH(GPIO_SSC_DOUT) + + i = 0; + for(;;) { + while(!(PIO_PIN_DATA_STATUS & (1<<GPIO_SSC_CLK))) { + if(BUTTON_PRESS()) { + return; + } + WDT_HIT(); + } + + LED_D_ON(); + if(tab[i]) { + OPEN_COIL(); + } else { + SHORT_COIL(); + } + LED_D_OFF(); + + while(PIO_PIN_DATA_STATUS & (1<<GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + return; + } + WDT_HIT(); + } + + i++; + if(i == period) i = 0; + } +} + +// compose fc/8 fc/10 waveform +static void fc(int c, int *n) { + BYTE *dest = (BYTE *)BigBuf; + int idx; + + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } + + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } +} + +// prepare a waveform pattern in the buffer based on the ID given then +// simulate a HID tag until the button is pressed +static void CmdHIDsimTAG(int hi, int lo) +{ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ + + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } + + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } + + LED_A_ON(); + SimulateTagLowFrequency(n); + LED_A_OFF(); +} + +// loop to capture raw HID waveform then FSK demodulate the TAG ID from it +static void CmdHIDdemodFSK(void) +{ + BYTE *dest = (BYTE *)BigBuf; + int m=0, n=0, i=0, idx=0, found=0, lastval=0; + DWORD hi=0, lo=0; + + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER | FPGA_LF_READER_USE_125_KHZ); + + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + for(;;) { + WDT_HIT(); + LED_A_ON(); + if(BUTTON_PRESS()) { + LED_A_OFF(); + return; + } + + i = 0; + m = sizeof(BigBuf); + memset(dest,128,m); + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + LED_D_ON(); + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + dest[i] = (BYTE)SSC_RECEIVE_HOLDING; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + LED_D_OFF(); + if(i >= m) { + break; + } + } + } + + // FSK demodulator + + // sync to first lo-hi transition + for( idx=1; idx<m; idx++) { + if (dest[idx-1]<dest[idx]) + lastval=idx; + break; + } + WDT_HIT(); + + // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) + // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere + // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 + for( i=0; idx<m; idx++) { + if (dest[idx-1]<dest[idx]) { + dest[i]=idx-lastval; + if (dest[i] <= 8) { + dest[i]=1; + } else { + dest[i]=0; + } + + lastval=idx; + i++; + } + } + m=i; + WDT_HIT(); + + // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns + lastval=dest[0]; + idx=0; + i=0; + n=0; + for( idx=0; idx<m; idx++) { + if (dest[idx]==lastval) { + n++; + } else { + // a bit time is five fc/10 or six fc/8 cycles so figure out how many bits a pattern width represents, + // an extra fc/8 pattern preceeds every 4 bits (about 200 cycles) just to complicate things but it gets + // swallowed up by rounding + // expected results are 1 or 2 bits, any more and it's an invalid manchester encoding + // special start of frame markers use invalid manchester states (no transitions) by using sequences + // like 111000 + if (dest[idx-1]) { + n=(n+1)/6; // fc/8 in sets of 6 + } else { + n=(n+1)/5; // fc/10 in sets of 5 + } + switch (n) { // stuff appropriate bits in buffer + case 0: + case 1: // one bit + dest[i++]=dest[idx-1]; + break; + case 2: // two bits + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + break; + case 3: // 3 bit start of frame markers + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + break; + // When a logic 0 is immediately followed by the start of the next transmisson + // (special pattern) a pattern of 4 bit duration lengths is created. + case 4: + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + dest[i++]=dest[idx-1]; + break; + default: // this shouldn't happen, don't stuff any bits + break; + } + n=0; + lastval=dest[idx]; + } + } + m=i; + WDT_HIT(); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + for( idx=0; idx<m-6; idx++) { + // search for a start of frame marker + if ( dest[idx] && dest[idx+1] && dest[idx+2] && (!dest[idx+3]) && (!dest[idx+4]) && (!dest[idx+5]) ) + { + found=1; + idx+=6; + if (found && (hi|lo)) { + DbpString("TAG ID"); + DbpIntegers(hi, lo, (lo>>1)&0xffff); + hi=0; + lo=0; + found=0; + } + } + if (found) { + if (dest[idx] && (!dest[idx+1]) ) { + hi=(hi<<1)|(lo>>31); + lo=(lo<<1)|0; + } else if ( (!dest[idx]) && dest[idx+1]) { + hi=(hi<<1)|(lo>>31); + lo=(lo<<1)|1; + } else { + found=0; + hi=0; + lo=0; + } + idx++; + } + if ( dest[idx] && dest[idx+1] && dest[idx+2] && (!dest[idx+3]) && (!dest[idx+4]) && (!dest[idx+5]) ) + { + found=1; + idx+=6; + if (found && (hi|lo)) { + DbpString("TAG ID"); + DbpIntegers(hi, lo, (lo>>1)&0xffff); + hi=0; + lo=0; + found=0; + } + } + } + WDT_HIT(); + } +} + +void SimulateTagHfListen(void) +{ + BYTE *dest = (BYTE *)BigBuf; + int n = sizeof(BigBuf); + BYTE v = 0; + int i; + int p = 0; + + // We're using this mode just so that I can test it out; the simulated + // tag mode would work just as well and be simpler. + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ | FPGA_HF_READER_RX_XCORR_SNOOP); + + // We need to listen to the high-frequency, peak-detected path. + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + FpgaSetupSsc(); + + i = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0xff; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + BYTE r = (BYTE)SSC_RECEIVE_HOLDING; + + v <<= 1; + if(r & 1) { + v |= 1; + } + p++; + + if(p >= 8) { + dest[i] = v; + v = 0; + p = 0; + i++; + + if(i >= n) { + break; + } + } + } + } + DbpString("simulate tag (now type bitsamples)"); +} + +void UsbPacketReceived(BYTE *packet, int len) +{ + UsbCommand *c = (UsbCommand *)packet; + + switch(c->cmd) { + case CMD_ACQUIRE_RAW_ADC_SAMPLES_125K: + AcquireRawAdcSamples125k(c->ext1); + break; + + case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693: + AcquireRawAdcSamplesIso15693(); + break; + + case CMD_READER_ISO_15693: + ReaderIso15693(c->ext1); + break; + + case CMD_SIMTAG_ISO_15693: + SimTagIso15693(c->ext1); + break; + + + case CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443: + AcquireRawAdcSamplesIso14443(c->ext1); + break; + + case CMD_READER_ISO_14443a: + ReaderIso14443a(c->ext1); + break; + + case CMD_SNOOP_ISO_14443: + SnoopIso14443(); + break; + + case CMD_SNOOP_ISO_14443a: + SnoopIso14443a(); + break; + + case CMD_SIMULATE_TAG_HF_LISTEN: + SimulateTagHfListen(); + break; + + case CMD_SIMULATE_TAG_ISO_14443: + SimulateIso14443Tag(); + break; + + case CMD_SIMULATE_TAG_ISO_14443a: + SimulateIso14443aTag(c->ext1, c->ext2); // ## Simulate iso14443a tag - pass tag type & UID + break; + + case CMD_MEASURE_ANTENNA_TUNING: + MeasureAntennaTuning(); + break; + + case CMD_HID_DEMOD_FSK: + CmdHIDdemodFSK(); // Demodulate HID tag + break; + + case CMD_HID_SIM_TAG: + CmdHIDsimTAG(c->ext1, c->ext2); // Simulate HID tag by ID + break; + + case CMD_FPGA_MAJOR_MODE_OFF: // ## FPGA Control + LED_C_ON(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + LED_C_OFF(); + break; + + case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: + case CMD_DOWNLOAD_RAW_BITS_TI_TYPE: { + UsbCommand n; + if(c->cmd == CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K) { + n.cmd = CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K; + } else { + n.cmd = CMD_DOWNLOADED_RAW_BITS_TI_TYPE; + } + n.ext1 = c->ext1; + memcpy(n.d.asDwords, BigBuf+c->ext1, 12*sizeof(DWORD)); + UsbSendPacket((BYTE *)&n, sizeof(n)); + break; + } + case CMD_DOWNLOADED_SIM_SAMPLES_125K: { + BYTE *b = (BYTE *)BigBuf; + memcpy(b+c->ext1, c->d.asBytes, 48); + break; + } + case CMD_SIMULATE_TAG_125K: + LED_A_ON(); + SimulateTagLowFrequency(c->ext1); + LED_A_OFF(); + break; + + case CMD_LCD_RESET: + LCDReset(); + break; + + case CMD_LCD: + LCDSend(c->ext1); + break; + + case CMD_SETUP_WRITE: + case CMD_FINISH_WRITE: + USB_D_PLUS_PULLUP_OFF(); + SpinDelay(1000); + SpinDelay(1000); + RSTC_CONTROL = RST_CONTROL_KEY | RST_CONTROL_PROCESSOR_RESET; + for(;;) { + // We're going to reset, and the bootrom will take control. + } + break; + + default: + DbpString("unknown command"); + break; + } +} + +void AppMain(void) +{ + memset(BigBuf,0,sizeof(BigBuf)); + SpinDelay(100); + + LED_D_OFF(); + LED_C_OFF(); + LED_B_OFF(); + LED_A_OFF(); + + UsbStart(); + + // The FPGA gets its clock from us from PCK0 output, so set that up. + PIO_PERIPHERAL_B_SEL = (1 << GPIO_PCK0); + PIO_DISABLE = (1 << GPIO_PCK0); + PMC_SYS_CLK_ENABLE = PMC_SYS_CLK_PROGRAMMABLE_CLK_0; + // PCK0 is PLL clock / 4 = 96Mhz / 4 = 24Mhz + PMC_PROGRAMMABLE_CLK_0 = PMC_CLK_SELECTION_PLL_CLOCK | + PMC_CLK_PRESCALE_DIV_4; + PIO_OUTPUT_ENABLE = (1 << GPIO_PCK0); + + // Reset SPI + SPI_CONTROL = SPI_CONTROL_RESET; + // Reset SSC + SSC_CONTROL = SSC_CONTROL_RESET; + + // Load the FPGA image, which we have stored in our flash. + FpgaDownloadAndGo(); + + LCDInit(); + + // test text on different colored backgrounds + LCDString(" The quick brown fox ", &FONT6x8,1,1+8*0,WHITE ,BLACK ); + LCDString(" jumped over the ", &FONT6x8,1,1+8*1,BLACK ,WHITE ); + LCDString(" lazy dog. ", &FONT6x8,1,1+8*2,YELLOW ,RED ); + LCDString(" AaBbCcDdEeFfGgHhIiJj ", &FONT6x8,1,1+8*3,RED ,GREEN ); + LCDString(" KkLlMmNnOoPpQqRrSsTt ", &FONT6x8,1,1+8*4,MAGENTA,BLUE ); + LCDString("UuVvWwXxYyZz0123456789", &FONT6x8,1,1+8*5,BLUE ,YELLOW); + LCDString("`-=[]_;',./~!@#$%^&*()", &FONT6x8,1,1+8*6,BLACK ,CYAN ); + LCDString(" _+{}|:\\\"<>? ",&FONT6x8,1,1+8*7,BLUE ,MAGENTA); + + // color bands + LCDFill(0, 1+8* 8, 132, 8, BLACK); + LCDFill(0, 1+8* 9, 132, 8, WHITE); + LCDFill(0, 1+8*10, 132, 8, RED); + LCDFill(0, 1+8*11, 132, 8, GREEN); + LCDFill(0, 1+8*12, 132, 8, BLUE); + LCDFill(0, 1+8*13, 132, 8, YELLOW); + LCDFill(0, 1+8*14, 132, 8, CYAN); + LCDFill(0, 1+8*15, 132, 8, MAGENTA); + + for(;;) { + UsbPoll(FALSE); + WDT_HIT(); + } +} + +void SpinDelay(int ms) +{ + int ticks = (48000*ms) >> 10; + + // Borrow a PWM unit for my real-time clock + PWM_ENABLE = PWM_CHANNEL(0); + // 48 MHz / 1024 gives 46.875 kHz + PWM_CH_MODE(0) = PWM_CH_MODE_PRESCALER(10); + PWM_CH_DUTY_CYCLE(0) = 0; + PWM_CH_PERIOD(0) = 0xffff; + + WORD start = (WORD)PWM_CH_COUNTER(0); + + for(;;) { + WORD now = (WORD)PWM_CH_COUNTER(0); + if(now == (WORD)(start + ticks)) { + return; + } + WDT_HIT(); + } +} diff --git a/armsrc/apps.h b/armsrc/apps.h new file mode 100644 index 00000000..e09c8357 --- /dev/null +++ b/armsrc/apps.h @@ -0,0 +1,77 @@ +//----------------------------------------------------------------------------- +// Definitions internal to the app source. +// Jonathan Westhues, Aug 2005 +// Added ISO14443-A support by Gerhard de Koning Gans, April 2008 +//----------------------------------------------------------------------------- + +#ifndef __APPS_H +#define __APPS_H + +/// appmain.c +void AppMain(void); +void DbpIntegers(int a, int b, int c); +void DbpString(char *str); +void SpinDelay(int ms); +void ToSendStuffBit(int b); +void ToSendReset(void); +extern int ToSendMax; +extern BYTE ToSend[]; +extern DWORD BigBuf[]; + +/// fpga.c +void FpgaWriteConfWord(BYTE v); +void FpgaDownloadAndGo(void); +void FpgaSetupSsc(void); +void SetupSpi(int mode); +void FpgaSetupSscDma(BYTE *buf, int len); +void SetAdcMuxFor(int whichGpio); + +// Definitions for the FPGA configuration word. +#define FPGA_MAJOR_MODE_LF_READER (0<<5) +#define FPGA_MAJOR_MODE_LF_SIMULATOR (1<<5) +#define FPGA_MAJOR_MODE_HF_READER_TX (2<<5) +#define FPGA_MAJOR_MODE_HF_READER_RX_XCORR (3<<5) +#define FPGA_MAJOR_MODE_HF_SIMULATOR (4<<5) +#define FPGA_MAJOR_MODE_HF_ISO14443A (5<<5) +#define FPGA_MAJOR_MODE_UNUSED (6<<5) +#define FPGA_MAJOR_MODE_OFF (7<<5) +// Options for the LF reader +#define FPGA_LF_READER_USE_125_KHZ (1<<3) +#define FPGA_LF_READER_USE_134_KHZ (0<<3) +// Options for the HF reader, tx to tag +#define FPGA_HF_READER_TX_SHALLOW_MOD (1<<0) +// Options for the HF reader, correlating against rx from tag +#define FPGA_HF_READER_RX_XCORR_848_KHZ (1<<0) +#define FPGA_HF_READER_RX_XCORR_SNOOP (1<<1) +// Options for the HF simulated tag, how to modulate +#define FPGA_HF_SIMULATOR_NO_MODULATION (0<<0) +#define FPGA_HF_SIMULATOR_MODULATE_BPSK (1<<0) +// Options for ISO14443A +#define FPGA_HF_ISO14443A_SNIFFER (0<<0) +#define FPGA_HF_ISO14443A_TAGSIM_LISTEN (1<<0) +#define FPGA_HF_ISO14443A_TAGSIM_MOD (2<<0) +#define FPGA_HF_ISO14443A_READER_LISTEN (3<<0) +#define FPGA_HF_ISO14443A_READER_MOD (4<<0) + +/// iso14443.h +void SimulateIso14443Tag(void); +void AcquireRawAdcSamplesIso14443(DWORD parameter); +void SnoopIso14443(void); + +/// iso14443a.h +void SnoopIso14443a(void); +void SimulateIso14443aTag(int tagType, int TagUid); // ## simulate iso14443a tag +void ReaderIso14443a(DWORD parameter); + +/// iso15693.h +void AcquireRawAdcSamplesIso15693(void); +void ReaderIso15693(DWORD parameter); // Simulate an ISO15693 reader - greg +void SimTagIso15693(DWORD parameter); // simulate an ISO15693 tag - greg + +/// util.h +int strlen(char *str); +void *memcpy(void *dest, const void *src, int len); +void *memset(void *dest, int c, int len); +int memcmp(const void *av, const void *bv, int len); + +#endif diff --git a/armsrc/example_lcd.c b/armsrc/example_lcd.c new file mode 100644 index 00000000..a2267ba9 --- /dev/null +++ b/armsrc/example_lcd.c @@ -0,0 +1,269 @@ +unsigned char somestring[25]; + +//********************************************************************* +//******************** SYSTERM HEARTBEAT @ 10 ms ********************* +//********************************************************************* +void InitSPI (void) +{ + //set functionalite to pins: + //port0.11 -> NPCS0 + //port0.12 -> MISO + //port0.13 -> MOSI + //port0.14 -> SPCK + PIOA_PDR = BIT11 | BIT12 | BIT13 | BIT14; + PIOA_ASR = BIT11 | BIT12 | BIT13 | BIT14; + PIOA_BSR = 0; + + + PMC_PCER |= 1 << 5; // Enable SPI timer clock. + + /**** Fixed mode ****/ + SPI_CR = 0x81; //SPI Enable, Sowtware reset + SPI_CR = 0x01; //SPI Enable + + + + SPI_MR = 0x000E0011; //Master mode + SPI_CSR0 = 0x01010B11; //9 bit + +} + +//********************************************************************* +//*************************** Task 1 ******************************** +//********************************************************************* +void Task_1(void *p) +{ + char beat=0; // just flash the onboard LED for Heatbeat + + while(1) + { + if(beat) + { + PIOA_SODR = BIT18; + beat=0; + } + else + { + PIOA_CODR = BIT18; + beat=1; + } + + ctl_timeout_wait(ctl_get_current_time()+ 150); + + } +} +//********************************************************************* +//*************************** Task 2 ******************************** +//********************************************************************* +void Task_2(void *p) +{ + unsigned long z; + unsigned int x,y; + unsigned char a,b,c,d,e; + + char seconds,minutes,hours; + + unsigned int nowold,tenths; + + + InitLCD(); + + +/******* Put smiley face up in 4096 color mode *******/ + LCD_Fill(0,0,132,132,Black); + + LCD_Set_Resolution(HIGH_RES); // set 4096 color mode + +// ShowImage_4096(0,0,smiley); + LCD_Set_Resolution(LOW_RES); // set 256 color mode + + ctl_timeout_wait(ctl_get_current_time()+ 4000); // wait 4 seconds to view it + +/******* Do some static on screen *******/ + + LCD_Fill(0,0,132,132,Black); + + for(z=0;z<100000;z++) + { + while( (a = rand()) > 132); + while( (b = rand()) > 132); + c = rand(); + LCD_PixelPut(a,b,c); + } + +/******* Do some lines on screen *******/ + LCD_Fill(0,0,132,132,Black); + + for(z=1;z<300;z++) + { + while( (a = rand()) > 132); + while( (b = rand()) > 132); + while( (c = rand()) > 132); + while( (d = rand()) > 132); + e = rand(); // pick color + + LCD_Line(a,b,c,d,e); + ctl_timeout_wait(ctl_get_current_time()+ 10); + } + +/******* Do some Boxes on screen *******/ + LCD_Fill(0,0,132,132,Black); + + for(z=0;z<300;z++) + { + + while( (a = rand()) > 132); + while( (b = rand()) > 132); + while( (c = rand()) > 132); + while( (d = rand()) > 132); + + e = rand(); // pick color + LCD_Box(a,b,c,d,e); + + ctl_timeout_wait(ctl_get_current_time()+ 10); + } +/******* Do some Circles on screen *******/ + LCD_Fill(0,0,132,132,Black); + + for(z=0;z<100;z++) + { + + while( (a = rand()) > 132); + while( (b = rand()) > 132); + while( (c = rand()) > 127); // diameter + + d = rand(); // pick color + LCD_Circle(a,b,c,d); + + ctl_timeout_wait(ctl_get_current_time()+ 10); + } + +/******* Do some Thick Circles on screen *******/ + LCD_Fill(0,0,132,132,Black); + + for(z=0;z<25;z++) + { + while( (a = rand()) > 132); + while( (b = rand()) > 132); + while( (c = rand()) > 40); // diameter + while( (d = rand()) > 10); // wall thicknes + e = rand(); // pick color + LCD_Thick_Circle(a,b,c,d,e); + + ctl_timeout_wait(ctl_get_current_time()+ 1); + } + +/******* Do something funky to wipe screen *******/ + b=0; + + for(a=0;a<131;a++) + { + LCD_Line(a,b,65,65,0x62); + } + for(b=0;b<131;b++) + { + LCD_Line(a,b,65,65,0x62); + } + for(;a>1;a--) + { + LCD_Line(a,b,65,65,0x62); + } + for(;b>1;b--) + { + LCD_Line(a,b,65,65,0x62); + } + + ctl_timeout_wait(ctl_get_current_time()+ 1000); + +/******* Show Image scrolling *******/ + LCD_Fill(0,0,132,132,Black); + + ShowImage(0,50,sparkfun); + + sprintf(somestring,"Thanks SparkFun"); + LCD_String(somestring,&FONT8x8F[0][0],5,10,LightGreen,Black); + + ctl_timeout_wait(ctl_get_current_time()+ 2000); // hold sparkfun image for a bit + + for(y=50;y<140;y++) + { + LCD_Line(0,y-1,132,y-1,Black); // wipe the white line as it moves down + ShowImage(0,y,sparkfun); // move image to Y location + ctl_timeout_wait(ctl_get_current_time()+ 25); // wait a bit + } + +/******* Run radar in loop with example fonts displayed *******/ + LCD_Fill(0,0,132,132,Black); + + LCD_Thick_Circle(66,66,30,2,DarkBlue); + + y=0; + + while (1) + { + LCD_Circle_Line(66,66,28,0,y,LightGreen); + + ctl_timeout_wait(ctl_get_current_time()+ 1); + + tenths = ctl_current_time / 1000; + + if(tenths != nowold) + { + nowold = tenths; + + if(++seconds == 60) + { + seconds = 0; + + if(++minutes == 60) + { + minutes=0; + hours++; + } + } + } + + + printf("a=%6lu - b=%6lu - c=%6lu - d=%6lu : Time=%lu\r\n",a,b,c,d,ctl_current_time); + + sprintf(somestring,"%05lu",y); + LCD_String(somestring,&FONT6x8[0][0],52,25,White,Black); + + sprintf(somestring,"Time:%02u:%02u:%02u",hours,minutes,seconds); + LCD_String(somestring,&FONT8x8F[0][0],14,10,DarkRed,Black); + + sprintf(somestring,"Time:%02u:%02u:%02u",hours,minutes,seconds); + LCD_String(somestring,&FONT8x16[0][0],14,115,LightGreen,Black); + + LCD_Circle_Line(66,66,28,0,y,Black); + + if(++y==360) + { + y=0; + } + + ctl_timeout_wait(ctl_get_current_time()+ 10); + + } +} + +/************************************************************************* + ********************* Main Module ************************* + ********************* ************************* + ********************* Initialize Program ************************* + ********************* Sequences ************************* + ********************* ************************* + *************************************************************************/ +int main(void) +{ + BoardInit(); + + InitSPI(); + + while (1) + { + Idle(); + } + + return 0; +} diff --git a/armsrc/fonts.c b/armsrc/fonts.c new file mode 100644 index 00000000..81e99ce5 --- /dev/null +++ b/armsrc/fonts.c @@ -0,0 +1,300 @@ +const char FONT6x8[97][8] = { + {0x06,0x08,0x08,0x00,0x00,0x00,0x00,0x00}, // columns, rows, bytes per char + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // space + {0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00}, // ! + {0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00}, // " + {0x50,0x50,0xF8,0x50,0xF8,0x50,0x50,0x00}, // # + {0x20,0x78,0xA0,0x70,0x28,0xF0,0x20,0x00}, // $ + {0xC0,0xC8,0x10,0x20,0x40,0x98,0x18,0x00}, // % + {0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68,0x00}, // & + {0x30,0x30,0x20,0x40,0x00,0x00,0x00,0x00}, // ' + {0x10,0x20,0x40,0x40,0x40,0x20,0x10,0x00}, // ( + {0x40,0x20,0x10,0x10,0x10,0x20,0x40,0x00}, // ) + {0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00}, // * + {0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00}, // + + {0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40}, // , + {0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00}, // - + {0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00}, // . + {0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00}, // / + {0x70,0x88,0x88,0xA8,0x88,0x88,0x70,0x00}, // 0 + {0x20,0x60,0x20,0x20,0x20,0x20,0x70,0x00}, // 1 + {0x70,0x88,0x08,0x70,0x80,0x80,0xF8,0x00}, // 2 + {0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x00}, // 3 + {0x10,0x30,0x50,0x90,0xF8,0x10,0x10,0x00}, // 4 + {0xF8,0x80,0xF0,0x08,0x08,0x88,0x70,0x00}, // 5 + {0x38,0x40,0x80,0xF0,0x88,0x88,0x70,0x00}, // 6 + {0xF8,0x08,0x08,0x10,0x20,0x40,0x80,0x00}, // 7 + {0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x00}, // 8 + {0x70,0x88,0x88,0x78,0x08,0x10,0xE0,0x00}, // 9 + {0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00}, // : + {0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x00}, // ; + {0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00}, // < + {0x00,0x00,0xF8,0x00,0xF8,0x00,0x00,0x00}, // = + {0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x00}, // > + {0x70,0x88,0x08,0x30,0x20,0x00,0x20,0x00}, // ? + {0x70,0x88,0xA8,0xB8,0xB0,0x80,0x78,0x00}, // @ + {0x20,0x50,0x88,0x88,0xF8,0x88,0x88,0x00}, // A + {0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x00}, // B + {0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x00}, // C + {0xF0,0x88,0x88,0x88,0x88,0x88,0xF0,0x00}, // D + {0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8,0x00}, // E + {0xF8,0x80,0x80,0xF0,0x80,0x80,0x80,0x00}, // F + {0x78,0x88,0x80,0x80,0x98,0x88,0x78,0x00}, // G + {0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x00}, // H + {0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00}, // I + {0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x00}, // J + {0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x00}, // K + {0x80,0x80,0x80,0x80,0x80,0x80,0xF8,0x00}, // L + {0x88,0xD8,0xA8,0xA8,0xA8,0x88,0x88,0x00}, // M + {0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x00}, // N + {0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x00}, // O + {0xF0,0x88,0x88,0xF0,0x80,0x80,0x80,0x00}, // P + {0x70,0x88,0x88,0x88,0xA8,0x90,0x68,0x00}, // Q + {0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88,0x00}, // R + {0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x00}, // S + {0xF8,0xA8,0x20,0x20,0x20,0x20,0x20,0x00}, // T + {0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00}, // U + {0x88,0x88,0x88,0x88,0x88,0x50,0x20,0x00}, // V + {0x88,0x88,0x88,0xA8,0xA8,0xA8,0x50,0x00}, // W + {0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x00}, // X + {0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x00}, // Y + {0xF8,0x08,0x10,0x70,0x40,0x80,0xF8,0x00}, // Z + {0x78,0x40,0x40,0x40,0x40,0x40,0x78,0x00}, // [ + {0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00}, // backslash + {0x78,0x08,0x08,0x08,0x08,0x08,0x78,0x00}, // ] + {0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00}, // ^ + {0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00}, // _ + {0x60,0x60,0x20,0x10,0x00,0x00,0x00,0x00}, // ` + {0x00,0x00,0x60,0x10,0x70,0x90,0x78,0x00}, // a + {0x80,0x80,0xB0,0xC8,0x88,0xC8,0xB0,0x00}, // b + {0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x00}, // c + {0x08,0x08,0x68,0x98,0x88,0x98,0x68,0x00}, // d + {0x00,0x00,0x70,0x88,0xF8,0x80,0x70,0x00}, // e + {0x10,0x28,0x20,0x70,0x20,0x20,0x20,0x00}, // f + {0x00,0x00,0x70,0x98,0x98,0x68,0x08,0x70}, // g + {0x80,0x80,0xB0,0xC8,0x88,0x88,0x88,0x00}, // h + {0x20,0x00,0x60,0x20,0x20,0x20,0x70,0x00}, // i + {0x10,0x00,0x10,0x10,0x10,0x90,0x60,0x00}, // j + {0x80,0x80,0x90,0xA0,0xC0,0xA0,0x90,0x00}, // k + {0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00}, // l + {0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x00}, // m + {0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x00}, // n + {0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x00}, // o + {0x00,0x00,0xB0,0xC8,0xC8,0xB0,0x80,0x80}, // p + {0x00,0x00,0x68,0x98,0x98,0x68,0x08,0x08}, // q + {0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x00}, // r + {0x00,0x00,0x78,0x80,0x70,0x08,0xF0,0x00}, // s + {0x20,0x20,0xF8,0x20,0x20,0x28,0x10,0x00}, // t + {0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x00}, // u + {0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x00}, // v + {0x00,0x00,0x88,0x88,0xA8,0xA8,0x50,0x00}, // w + {0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x00}, // x + {0x00,0x00,0x88,0x88,0x78,0x08,0x88,0x70}, // y + {0x00,0x00,0xF8,0x10,0x20,0x40,0xF8,0x00}, // z + {0x10,0x20,0x20,0x40,0x20,0x20,0x10,0x00}, // { + {0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00}, // | + {0x40,0x20,0x20,0x10,0x20,0x20,0x40,0x00}, // } + {0x40,0xA8,0x10,0x00,0x00,0x00,0x00,0x00}, // ~ + {0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00} // DEL +}; +/* +const char FONT8x8F[97][8] = { + {0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00}, // columns, rows, bytes per char + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // space + {0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00}, // ! + {0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00}, // " + {0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00}, // # + {0x18,0x3E,0x60,0x3C,0x06,0x7C,0x18,0x00}, // $ + {0x00,0x63,0x66,0x0C,0x18,0x33,0x63,0x00}, // % + {0x1C,0x36,0x1C,0x3B,0x6E,0x66,0x3B,0x00}, // & + {0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00}, // ' + {0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x00}, // ( + {0x30,0x18,0x0C,0x0C,0x0C,0x18,0x30,0x00}, // ) + {0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00}, // * + {0x00,0x30,0x30,0xFC,0x30,0x30,0x00,0x00}, // + + {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30}, // , + {0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00}, // - + {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00}, // . + {0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00}, // / + {0x3E,0x63,0x63,0x6B,0x63,0x63,0x3E,0x00}, // 0 + {0x18,0x38,0x58,0x18,0x18,0x18,0x7E,0x00}, // 1 + {0x3C,0x66,0x06,0x1C,0x30,0x66,0x7E,0x00}, // 2 + {0x3C,0x66,0x06,0x1C,0x06,0x66,0x3C,0x00}, // 3 + {0x0E,0x1E,0x36,0x66,0x7F,0x06,0x0F,0x00}, // 4 + {0x7E,0x60,0x7C,0x06,0x06,0x66,0x3C,0x00}, // 5 + {0x1C,0x30,0x60,0x7C,0x66,0x66,0x3C,0x00}, // 6 + {0x7E,0x66,0x06,0x0C,0x18,0x18,0x18,0x00}, // 7 + {0x3C,0x66,0x66,0x3C,0x66,0x66,0x3C,0x00}, // 8 + {0x3C,0x66,0x66,0x3E,0x06,0x0C,0x38,0x00}, // 9 + {0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00}, // : + {0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30}, // ; + {0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00}, // < + {0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00}, // = + {0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00}, // > + {0x3C,0x66,0x06,0x0C,0x18,0x00,0x18,0x00}, // ? + {0x3E,0x63,0x6F,0x69,0x6F,0x60,0x3E,0x00}, // @ + {0x18,0x3C,0x66,0x66,0x7E,0x66,0x66,0x00}, // A + {0x7E,0x33,0x33,0x3E,0x33,0x33,0x7E,0x00}, // B + {0x1E,0x33,0x60,0x60,0x60,0x33,0x1E,0x00}, // C + {0x7C,0x36,0x33,0x33,0x33,0x36,0x7C,0x00}, // D + {0x7F,0x31,0x34,0x3C,0x34,0x31,0x7F,0x00}, // E + {0x7F,0x31,0x34,0x3C,0x34,0x30,0x78,0x00}, // F + {0x1E,0x33,0x60,0x60,0x67,0x33,0x1F,0x00}, // G + {0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00}, // H + {0x3C,0x18,0x18,0x18,0x18,0x18,0x3C,0x00}, // I + {0x0F,0x06,0x06,0x06,0x66,0x66,0x3C,0x00}, // J + {0x73,0x33,0x36,0x3C,0x36,0x33,0x73,0x00}, // K + {0x78,0x30,0x30,0x30,0x31,0x33,0x7F,0x00}, // L + {0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x00}, // M + {0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x00}, // N + {0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00}, // O + {0x7E,0x33,0x33,0x3E,0x30,0x30,0x78,0x00}, // P + {0x3C,0x66,0x66,0x66,0x6E,0x3C,0x0E,0x00}, // Q + {0x7E,0x33,0x33,0x3E,0x36,0x33,0x73,0x00}, // R + {0x3C,0x66,0x30,0x18,0x0C,0x66,0x3C,0x00}, // S + {0x7E,0x5A,0x18,0x18,0x18,0x18,0x3C,0x00}, // T + {0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x00}, // U + {0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00}, // V + {0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00}, // W + {0x63,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00}, // X + {0x66,0x66,0x66,0x3C,0x18,0x18,0x3C,0x00}, // Y + {0x7F,0x63,0x46,0x0C,0x19,0x33,0x7F,0x00}, // Z + {0x3C,0x30,0x30,0x30,0x30,0x30,0x3C,0x00}, // [ + {0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00}, // backslash + {0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00}, // ] + {0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00}, // ^ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, // _ + {0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00}, // ` + {0x00,0x00,0x3C,0x06,0x3E,0x66,0x3B,0x00}, // a + {0x70,0x30,0x3E,0x33,0x33,0x33,0x6E,0x00}, // b + {0x00,0x00,0x3C,0x66,0x60,0x66,0x3C,0x00}, // c + {0x0E,0x06,0x3E,0x66,0x66,0x66,0x3B,0x00}, // d + {0x00,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00}, // e + {0x1C,0x36,0x30,0x78,0x30,0x30,0x78,0x00}, // f + {0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x7C}, // g + {0x70,0x30,0x36,0x3B,0x33,0x33,0x73,0x00}, // h + {0x18,0x00,0x38,0x18,0x18,0x18,0x3C,0x00}, // i + {0x06,0x00,0x06,0x06,0x06,0x66,0x66,0x3C}, // j + {0x70,0x30,0x33,0x36,0x3C,0x36,0x73,0x00}, // k + {0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00}, // l + {0x00,0x00,0x66,0x7F,0x7F,0x6B,0x63,0x00}, // m + {0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x00}, // n + {0x00,0x00,0x3C,0x66,0x66,0x66,0x3C,0x00}, // o + {0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x78}, // p + {0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x0F}, // q + {0x00,0x00,0x6E,0x3B,0x33,0x30,0x78,0x00}, // r + {0x00,0x00,0x3E,0x60,0x3C,0x06,0x7C,0x00}, // s + {0x08,0x18,0x3E,0x18,0x18,0x1A,0x0C,0x00}, // t + {0x00,0x00,0x66,0x66,0x66,0x66,0x3B,0x00}, // u + {0x00,0x00,0x66,0x66,0x66,0x3C,0x18,0x00}, // v + {0x00,0x00,0x63,0x6B,0x7F,0x7F,0x36,0x00}, // w + {0x00,0x00,0x63,0x36,0x1C,0x36,0x63,0x00}, // x + {0x00,0x00,0x66,0x66,0x66,0x3E,0x06,0x7C}, // y + {0x00,0x00,0x7E,0x4C,0x18,0x32,0x7E,0x00}, // z + {0x0E,0x18,0x18,0x70,0x18,0x18,0x0E,0x00}, // { + {0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x0C,0x00}, // | + {0x70,0x18,0x18,0x0E,0x18,0x18,0x70,0x00}, // } + {0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00}, // ~ + {0x1C,0x36,0x36,0x1C,0x00,0x00,0x00,0x00} // DEL +}; + +const char FONT8x16[97][16] = { + {0x08,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // columns, rows, bytes per char + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // space + {0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // ! + {0x00,0x63,0x63,0x63,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // " + {0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00}, // # + {0x0C,0x0C,0x3E,0x63,0x61,0x60,0x3E,0x03,0x03,0x43,0x63,0x3E,0x0C,0x0C,0x00,0x00}, // $ + {0x00,0x00,0x00,0x00,0x00,0x61,0x63,0x06,0x0C,0x18,0x33,0x63,0x00,0x00,0x00,0x00}, // % + {0x00,0x00,0x00,0x1C,0x36,0x36,0x1C,0x3B,0x6E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00}, // & + {0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ' + {0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00,0x00,0x00}, // ( + {0x00,0x00,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x00,0x00,0x00,0x00}, // ) + {0x00,0x00,0x00,0x00,0x42,0x66,0x3C,0xFF,0x3C,0x66,0x42,0x00,0x00,0x00,0x00,0x00}, // * + {0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00}, // + + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00}, // , + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // - + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // . + {0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00}, // / + {0x00,0x00,0x3E,0x63,0x63,0x63,0x6B,0x6B,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // 0 + {0x00,0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3F,0x00,0x00,0x00,0x00}, // 1 + {0x00,0x00,0x3E,0x63,0x03,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00}, // 2 + {0x00,0x00,0x3E,0x63,0x03,0x03,0x1E,0x03,0x03,0x03,0x63,0x3E,0x00,0x00,0x00,0x00}, // 3 + {0x00,0x00,0x06,0x0E,0x1E,0x36,0x66,0x66,0x7F,0x06,0x06,0x0F,0x00,0x00,0x00,0x00}, // 4 + {0x00,0x00,0x7F,0x60,0x60,0x60,0x7E,0x03,0x03,0x63,0x73,0x3E,0x00,0x00,0x00,0x00}, // 5 + {0x00,0x00,0x1C,0x30,0x60,0x60,0x7E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // 6 + {0x00,0x00,0x7F,0x63,0x03,0x06,0x06,0x0C,0x0C,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, // 7 + {0x00,0x00,0x3E,0x63,0x63,0x63,0x3E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // 8 + {0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x06,0x3C,0x00,0x00,0x00,0x00}, // 9 + {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // : + {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00}, // ; + {0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00}, // < + {0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00}, // = + {0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00}, // > + {0x00,0x00,0x3E,0x63,0x63,0x06,0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00}, // ? + {0x00,0x00,0x3E,0x63,0x63,0x6F,0x6B,0x6B,0x6E,0x60,0x60,0x3E,0x00,0x00,0x00,0x00}, // @ + {0x00,0x00,0x08,0x1C,0x36,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x00,0x00,0x00,0x00}, // A + {0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x33,0x33,0x33,0x33,0x7E,0x00,0x00,0x00,0x00}, // B + {0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x60,0x60,0x61,0x33,0x1E,0x00,0x00,0x00,0x00}, // C + {0x00,0x00,0x7C,0x36,0x33,0x33,0x33,0x33,0x33,0x33,0x36,0x7C,0x00,0x00,0x00,0x00}, // D + {0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00}, // E + {0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00}, // F + {0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x6F,0x63,0x63,0x37,0x1D,0x00,0x00,0x00,0x00}, // G + {0x00,0x00,0x63,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00}, // H + {0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, // I + {0x00,0x00,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00}, // J + {0x00,0x00,0x73,0x33,0x36,0x36,0x3C,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00}, // K + {0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00}, // L + {0x00,0x00,0x63,0x77,0x7F,0x6B,0x63,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00}, // M + {0x00,0x00,0x63,0x63,0x73,0x7B,0x7F,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00}, // N + {0x00,0x00,0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x00,0x00,0x00,0x00}, // O + {0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00}, // P + {0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x63,0x6B,0x6F,0x3E,0x06,0x07,0x00,0x00}, // Q + {0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00}, // R + {0x00,0x00,0x3E,0x63,0x63,0x30,0x1C,0x06,0x03,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // S + {0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, // T + {0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // U + {0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x08,0x00,0x00,0x00,0x00}, // V + {0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x36,0x00,0x00,0x00,0x00}, // W + {0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00}, // X + {0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, // Y + {0x00,0x00,0x7F,0x63,0x43,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00}, // Z + {0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00}, // [ + {0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00}, // backslash + {0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00}, // ] + {0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ^ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00}, // _ + {0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ` + {0x00,0x00,0x00,0x00,0x00,0x3C,0x46,0x06,0x3E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00}, // a + {0x00,0x00,0x70,0x30,0x30,0x3C,0x36,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,0x00,0x00}, // b + {0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x60,0x60,0x60,0x63,0x3E,0x00,0x00,0x00,0x00}, // c + {0x00,0x00,0x0E,0x06,0x06,0x1E,0x36,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00}, // d + {0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x7E,0x60,0x63,0x3E,0x00,0x00,0x00,0x00}, // e + {0x00,0x00,0x1C,0x36,0x32,0x30,0x7C,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00}, // f + {0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00,0x00}, // g + {0x00,0x00,0x70,0x30,0x30,0x36,0x3B,0x33,0x33,0x33,0x33,0x73,0x00,0x00,0x00,0x00}, // h + {0x00,0x00,0x0C,0x0C,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00}, // i + {0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00}, // j + {0x00,0x00,0x70,0x30,0x30,0x33,0x33,0x36,0x3C,0x36,0x33,0x73,0x00,0x00,0x00,0x00}, // k + {0x00,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00}, // l + {0x00,0x00,0x00,0x00,0x00,0x6E,0x7F,0x6B,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0x00}, // m + {0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00}, // n + {0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00}, // o + {0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x3E,0x30,0x30,0x78,0x00,0x00}, // p + {0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00,0x00}, // q + {0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0x33,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00}, // r + {0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x38,0x0E,0x03,0x63,0x3E,0x00,0x00,0x00,0x00}, // s + {0x00,0x00,0x08,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x1B,0x0E,0x00,0x00,0x00,0x00}, // t + {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00}, // u + {0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x36,0x36,0x1C,0x1C,0x08,0x00,0x00,0x00,0x00}, // v + {0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x00,0x00,0x00,0x00}, // w + {0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x1C,0x1C,0x1C,0x36,0x63,0x00,0x00,0x00,0x00}, // x + {0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x3F,0x03,0x06,0x3C,0x00,0x00}, // y + {0x00,0x00,0x00,0x00,0x00,0x7F,0x66,0x0C,0x18,0x30,0x63,0x7F,0x00,0x00,0x00,0x00}, // z + {0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00}, // { + {0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00}, // | + {0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00}, // } + {0x00,0x00,0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ~ + {0x00,0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // DEL +}; +*/ diff --git a/armsrc/fonts.h b/armsrc/fonts.h new file mode 100644 index 00000000..621a7f56 --- /dev/null +++ b/armsrc/fonts.h @@ -0,0 +1,6 @@ +#ifndef __FONTS_H +#define __FONTS_H +extern const char FONT6x8[97][8]; +extern const char FONT8x8F[97][8]; +extern const char FONT8x16[97][16]; +#endif diff --git a/armsrc/fpga.c b/armsrc/fpga.c new file mode 100644 index 00000000..2bcade28 --- /dev/null +++ b/armsrc/fpga.c @@ -0,0 +1,222 @@ +//----------------------------------------------------------------------------- +// Routines to load the FPGA image, and then to configure the FPGA's major +// mode once it is configured. +// +// Jonathan Westhues, April 2006 +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" + +//----------------------------------------------------------------------------- +// Set up the Serial Peripheral Interface as master +// Used to write the FPGA config word +// May also be used to write to other SPI attached devices like an LCD +//----------------------------------------------------------------------------- +void SetupSpi(int mode) +{ + // PA10 -> SPI_NCS2 chip select (LCD) + // PA11 -> SPI_NCS0 chip select (FPGA) + // PA12 -> SPI_MISO Master-In Slave-Out + // PA13 -> SPI_MOSI Master-Out Slave-In + // PA14 -> SPI_SPCK Serial Clock + + // Disable PIO control of the following pins, allows use by the SPI peripheral + PIO_DISABLE = (1 << GPIO_NCS0) | + (1 << GPIO_NCS2) | + (1 << GPIO_MISO) | + (1 << GPIO_MOSI) | + (1 << GPIO_SPCK); + + PIO_PERIPHERAL_A_SEL = (1 << GPIO_NCS0) | + (1 << GPIO_MISO) | + (1 << GPIO_MOSI) | + (1 << GPIO_SPCK); + + PIO_PERIPHERAL_B_SEL = (1 << GPIO_NCS2); + + //enable the SPI Peripheral clock + PMC_PERIPHERAL_CLK_ENABLE = (1<<PERIPH_SPI); + // Enable SPI + SPI_CONTROL = SPI_CONTROL_ENABLE; + + switch (mode) { + case SPI_FPGA_MODE: + SPI_MODE = + ( 0 << 24) | // Delay between chip selects (take default: 6 MCK periods) + (14 << 16) | // Peripheral Chip Select (selects FPGA SPI_NCS0 or PA11) + ( 0 << 7) | // Local Loopback Disabled + ( 1 << 4) | // Mode Fault Detection disabled + ( 0 << 2) | // Chip selects connected directly to peripheral + ( 0 << 1) | // Fixed Peripheral Select + ( 1 << 0); // Master Mode + SPI_FOR_CHIPSEL_0 = + ( 1 << 24) | // Delay between Consecutive Transfers (32 MCK periods) + ( 1 << 16) | // Delay Before SPCK (1 MCK period) + ( 6 << 8) | // Serial Clock Baud Rate (baudrate = MCK/6 = 24Mhz/6 = 4M baud + ( 0 << 4) | // Bits per Transfer (8 bits) + ( 0 << 3) | // Chip Select inactive after transfer + ( 1 << 1) | // Clock Phase data captured on leading edge, changes on following edge + ( 0 << 0); // Clock Polarity inactive state is logic 0 + break; + case SPI_LCD_MODE: + SPI_MODE = + ( 0 << 24) | // Delay between chip selects (take default: 6 MCK periods) + (11 << 16) | // Peripheral Chip Select (selects LCD SPI_NCS2 or PA10) + ( 0 << 7) | // Local Loopback Disabled + ( 1 << 4) | // Mode Fault Detection disabled + ( 0 << 2) | // Chip selects connected directly to peripheral + ( 0 << 1) | // Fixed Peripheral Select + ( 1 << 0); // Master Mode + SPI_FOR_CHIPSEL_2 = + ( 1 << 24) | // Delay between Consecutive Transfers (32 MCK periods) + ( 1 << 16) | // Delay Before SPCK (1 MCK period) + ( 6 << 8) | // Serial Clock Baud Rate (baudrate = MCK/6 = 24Mhz/6 = 4M baud + ( 1 << 4) | // Bits per Transfer (9 bits) + ( 0 << 3) | // Chip Select inactive after transfer + ( 1 << 1) | // Clock Phase data captured on leading edge, changes on following edge + ( 0 << 0); // Clock Polarity inactive state is logic 0 + break; + default: // Disable SPI + SPI_CONTROL = SPI_CONTROL_DISABLE; + break; + } +} + +//----------------------------------------------------------------------------- +// Set up the synchronous serial port, with the one set of options that we +// always use when we are talking to the FPGA. Both RX and TX are enabled. +//----------------------------------------------------------------------------- +void FpgaSetupSsc(void) +{ + // First configure the GPIOs, and get ourselves a clock. + PIO_PERIPHERAL_A_SEL = (1 << GPIO_SSC_FRAME) | + (1 << GPIO_SSC_DIN) | + (1 << GPIO_SSC_DOUT) | + (1 << GPIO_SSC_CLK); + PIO_DISABLE = (1 << GPIO_SSC_DOUT); + + PMC_PERIPHERAL_CLK_ENABLE = (1 << PERIPH_SSC); + + // Now set up the SSC proper, starting from a known state. + SSC_CONTROL = SSC_CONTROL_RESET; + + // RX clock comes from TX clock, RX starts when TX starts, data changes + // on RX clock rising edge, sampled on falling edge + SSC_RECEIVE_CLOCK_MODE = SSC_CLOCK_MODE_SELECT(1) | SSC_CLOCK_MODE_START(1); + + // 8 bits per transfer, no loopback, MSB first, 1 transfer per sync + // pulse, no output sync, start on positive-going edge of sync + SSC_RECEIVE_FRAME_MODE = SSC_FRAME_MODE_BITS_IN_WORD(8) | + SSC_FRAME_MODE_MSB_FIRST | SSC_FRAME_MODE_WORDS_PER_TRANSFER(0); + + // clock comes from TK pin, no clock output, outputs change on falling + // edge of TK, start on rising edge of TF + SSC_TRANSMIT_CLOCK_MODE = SSC_CLOCK_MODE_SELECT(2) | + SSC_CLOCK_MODE_START(5); + + // tx framing is the same as the rx framing + SSC_TRANSMIT_FRAME_MODE = SSC_RECEIVE_FRAME_MODE; + + SSC_CONTROL = SSC_CONTROL_RX_ENABLE | SSC_CONTROL_TX_ENABLE; +} + +//----------------------------------------------------------------------------- +// Set up DMA to receive samples from the FPGA. We will use the PDC, with +// a single buffer as a circular buffer (so that we just chain back to +// ourselves, not to another buffer). The stuff to manipulate those buffers +// is in apps.h, because it should be inlined, for speed. +//----------------------------------------------------------------------------- +void FpgaSetupSscDma(BYTE *buf, int len) +{ + PDC_RX_POINTER(SSC_BASE) = (DWORD)buf; + PDC_RX_COUNTER(SSC_BASE) = len; + PDC_RX_NEXT_POINTER(SSC_BASE) = (DWORD)buf; + PDC_RX_NEXT_COUNTER(SSC_BASE) = len; + PDC_CONTROL(SSC_BASE) = PDC_RX_ENABLE; +} + +//----------------------------------------------------------------------------- +// Download the FPGA image stored in flash (slave serial). +//----------------------------------------------------------------------------- +void FpgaDownloadAndGo(void) +{ + // FPGA image lives in FLASH at base address 0x2000 + // The current board design can not accomodate anything bigger than a XC2S30 + // FPGA and the config file size is fixed at 336,768 bits = 10,524 DWORDs + const DWORD *FpgaImage=((DWORD *)0x2000); + const DWORD FpgaImageLen=10524; + + int i, j; + + PIO_OUTPUT_ENABLE = (1 << GPIO_FPGA_ON); + PIO_ENABLE = (1 << GPIO_FPGA_ON); + PIO_OUTPUT_DATA_SET = (1 << GPIO_FPGA_ON); + + SpinDelay(50); + + LED_D_ON(); + + HIGH(GPIO_FPGA_NPROGRAM); + LOW(GPIO_FPGA_CCLK); + LOW(GPIO_FPGA_DIN); + PIO_OUTPUT_ENABLE = (1 << GPIO_FPGA_NPROGRAM) | + (1 << GPIO_FPGA_CCLK) | + (1 << GPIO_FPGA_DIN); + SpinDelay(1); + + LOW(GPIO_FPGA_NPROGRAM); + SpinDelay(50); + HIGH(GPIO_FPGA_NPROGRAM); + + for(i = 0; i < FpgaImageLen; i++) { + DWORD v = FpgaImage[i]; + for(j = 0; j < 32; j++) { + if(v & 0x80000000) { + HIGH(GPIO_FPGA_DIN); + } else { + LOW(GPIO_FPGA_DIN); + } + HIGH(GPIO_FPGA_CCLK); + LOW(GPIO_FPGA_CCLK); + v <<= 1; + } + } + + LED_D_OFF(); +} + +//----------------------------------------------------------------------------- +// Write the FPGA setup word (that determines what mode the logic is in, read +// vs. clone vs. etc.). +//----------------------------------------------------------------------------- +void FpgaWriteConfWord(BYTE v) +{ + SetupSpi(SPI_FPGA_MODE); + while ((SPI_STATUS & SPI_STATUS_TX_EMPTY) == 0); // wait for the transfer to complete + SPI_TX_DATA = SPI_CONTROL_LAST_TRANSFER | v; // send the data +} + +//----------------------------------------------------------------------------- +// Set up the CMOS switches that mux the ADC: four switches, independently +// closable, but should only close one at a time. Not an FPGA thing, but +// the samples from the ADC always flow through the FPGA. +//----------------------------------------------------------------------------- +void SetAdcMuxFor(int whichGpio) +{ + PIO_OUTPUT_ENABLE = (1 << GPIO_MUXSEL_HIPKD) | + (1 << GPIO_MUXSEL_LOPKD) | + (1 << GPIO_MUXSEL_LORAW) | + (1 << GPIO_MUXSEL_HIRAW); + + PIO_ENABLE = (1 << GPIO_MUXSEL_HIPKD) | + (1 << GPIO_MUXSEL_LOPKD) | + (1 << GPIO_MUXSEL_LORAW) | + (1 << GPIO_MUXSEL_HIRAW); + + LOW(GPIO_MUXSEL_HIPKD); + LOW(GPIO_MUXSEL_HIRAW); + LOW(GPIO_MUXSEL_LORAW); + LOW(GPIO_MUXSEL_LOPKD); + + HIGH(whichGpio); +} diff --git a/armsrc/fpgaimg.c b/armsrc/fpgaimg.c new file mode 100644 index 00000000..e69de29b diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c new file mode 100644 index 00000000..2a079fdb --- /dev/null +++ b/armsrc/iso14443.c @@ -0,0 +1,988 @@ +//----------------------------------------------------------------------------- +// Routines to support ISO 14443. This includes both the reader software and +// the `fake tag' modes. At the moment only the Type B modulation is +// supported. +// Jonathan Westhues, split Nov 2006 +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" +#include "..\common\iso14443_crc.c" + + +//static void GetSamplesFor14443(BOOL weTx, int n); + +#define DMA_BUFFER_SIZE 256 + +//============================================================================= +// An ISO 14443 Type B tag. We listen for commands from the reader, using +// a UART kind of thing that's implemented in software. When we get a +// frame (i.e., a group of bytes between SOF and EOF), we check the CRC. +// If it's good, then we can do something appropriate with it, and send +// a response. +//============================================================================= + +//----------------------------------------------------------------------------- +// Code up a string of octets at layer 2 (including CRC, we don't generate +// that here) so that they can be transmitted to the reader. Doesn't transmit +// them yet, just leaves them ready to send in ToSend[]. +//----------------------------------------------------------------------------- +static void CodeIso14443bAsTag(const BYTE *cmd, int len) +{ + int i; + + ToSendReset(); + + // Transmit a burst of ones, as the initial thing that lets the + // reader get phase sync. This (TR1) must be > 80/fs, per spec, + // but tag that I've tried (a Paypass) exceeds that by a fair bit, + // so I will too. + for(i = 0; i < 20; i++) { + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + } + + // Send SOF. + for(i = 0; i < 10; i++) { + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + } + for(i = 0; i < 2; i++) { + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + } + + for(i = 0; i < len; i++) { + int j; + BYTE b = cmd[i]; + + // Start bit + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + + // Data bits + for(j = 0; j < 8; j++) { + if(b & 1) { + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + } else { + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + } + b >>= 1; + } + + // Stop bit + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + } + + // Send SOF. + for(i = 0; i < 10; i++) { + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + } + for(i = 0; i < 10; i++) { + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + } + + // Convert from last byte pos to length + ToSendMax++; + + // Add a few more for slop + ToSendMax += 2; +} + +//----------------------------------------------------------------------------- +// The software UART that receives commands from the reader, and its state +// variables. +//----------------------------------------------------------------------------- +static struct { + enum { + STATE_UNSYNCD, + STATE_GOT_FALLING_EDGE_OF_SOF, + STATE_AWAITING_START_BIT, + STATE_RECEIVING_DATA, + STATE_ERROR_WAIT + } state; + WORD shiftReg; + int bitCnt; + int byteCnt; + int byteCntMax; + int posCnt; + BYTE *output; +} Uart; + +static BOOL Handle14443UartBit(int bit) +{ + switch(Uart.state) { + case STATE_UNSYNCD: + if(!bit) { + // we went low, so this could be the beginning + // of an SOF + Uart.state = STATE_GOT_FALLING_EDGE_OF_SOF; + Uart.posCnt = 0; + Uart.bitCnt = 0; + } + break; + + case STATE_GOT_FALLING_EDGE_OF_SOF: + Uart.posCnt++; + if(Uart.posCnt == 2) { + if(bit) { + if(Uart.bitCnt >= 10) { + // we've seen enough consecutive + // zeros that it's a valid SOF + Uart.posCnt = 0; + Uart.byteCnt = 0; + Uart.state = STATE_AWAITING_START_BIT; + } else { + // didn't stay down long enough + // before going high, error + Uart.state = STATE_ERROR_WAIT; + } + } else { + // do nothing, keep waiting + } + Uart.bitCnt++; + } + if(Uart.posCnt >= 4) Uart.posCnt = 0; + if(Uart.bitCnt > 14) { + // Give up if we see too many zeros without + // a one, too. + Uart.state = STATE_ERROR_WAIT; + } + break; + + case STATE_AWAITING_START_BIT: + Uart.posCnt++; + if(bit) { + if(Uart.posCnt > 25) { + // stayed high for too long between + // characters, error + Uart.state = STATE_ERROR_WAIT; + } + } else { + // falling edge, this starts the data byte + Uart.posCnt = 0; + Uart.bitCnt = 0; + Uart.shiftReg = 0; + Uart.state = STATE_RECEIVING_DATA; + } + break; + + case STATE_RECEIVING_DATA: + Uart.posCnt++; + if(Uart.posCnt == 2) { + // time to sample a bit + Uart.shiftReg >>= 1; + if(bit) { + Uart.shiftReg |= 0x200; + } + Uart.bitCnt++; + } + if(Uart.posCnt >= 4) { + Uart.posCnt = 0; + } + if(Uart.bitCnt == 10) { + if((Uart.shiftReg & 0x200) && !(Uart.shiftReg & 0x001)) + { + // this is a data byte, with correct + // start and stop bits + Uart.output[Uart.byteCnt] = (Uart.shiftReg >> 1) & 0xff; + Uart.byteCnt++; + + if(Uart.byteCnt >= Uart.byteCntMax) { + // Buffer overflowed, give up + Uart.posCnt = 0; + Uart.state = STATE_ERROR_WAIT; + } else { + // so get the next byte now + Uart.posCnt = 0; + Uart.state = STATE_AWAITING_START_BIT; + } + } else if(Uart.shiftReg == 0x000) { + // this is an EOF byte + return TRUE; + } else { + // this is an error + Uart.posCnt = 0; + Uart.state = STATE_ERROR_WAIT; + } + } + break; + + case STATE_ERROR_WAIT: + // We're all screwed up, so wait a little while + // for whatever went wrong to finish, and then + // start over. + Uart.posCnt++; + if(Uart.posCnt > 10) { + Uart.state = STATE_UNSYNCD; + } + break; + + default: + Uart.state = STATE_UNSYNCD; + break; + } + + return FALSE; +} + +//----------------------------------------------------------------------------- +// Receive a command (from the reader to us, where we are the simulated tag), +// and store it in the given buffer, up to the given maximum length. Keeps +// spinning, waiting for a well-framed command, until either we get one +// (returns TRUE) or someone presses the pushbutton on the board (FALSE). +// +// Assume that we're called with the SSC (to the FPGA) and ADC path set +// correctly. +//----------------------------------------------------------------------------- +static BOOL GetIso14443CommandFromReader(BYTE *received, int *len, int maxLen) +{ + BYTE mask; + int i, bit; + + // Set FPGA mode to "simulated ISO 14443 tag", no modulation (listen + // only, since we are receiving, not transmitting). + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_NO_MODULATION); + + + // Now run a `software UART' on the stream of incoming samples. + Uart.output = received; + Uart.byteCntMax = maxLen; + Uart.state = STATE_UNSYNCD; + + for(;;) { + WDT_HIT(); + + if(BUTTON_PRESS()) return FALSE; + + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x00; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + BYTE b = (BYTE)SSC_RECEIVE_HOLDING; + + mask = 0x80; + for(i = 0; i < 8; i++, mask >>= 1) { + bit = (b & mask); + if(Handle14443UartBit(bit)) { + *len = Uart.byteCnt; + return TRUE; + } + } + } + } +} + +//----------------------------------------------------------------------------- +// Main loop of simulated tag: receive commands from reader, decide what +// response to send, and send it. +//----------------------------------------------------------------------------- +void SimulateIso14443Tag(void) +{ + static const BYTE cmd1[] = { 0x05, 0x00, 0x08, 0x39, 0x73 }; + static const BYTE response1[] = { + 0x50, 0x82, 0x0d, 0xe1, 0x74, 0x20, 0x38, 0x19, 0x22, + 0x00, 0x21, 0x85, 0x5e, 0xd7 + }; + + BYTE *resp; + int respLen; + + BYTE *resp1 = (((BYTE *)BigBuf) + 800); + int resp1Len; + + BYTE *receivedCmd = (BYTE *)BigBuf; + int len; + + int i; + + int cmdsRecvd = 0; + + memset(receivedCmd, 0x44, 400); + + CodeIso14443bAsTag(response1, sizeof(response1)); + memcpy(resp1, ToSend, ToSendMax); resp1Len = ToSendMax; + + // We need to listen to the high-frequency, peak-detected path. + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + cmdsRecvd = 0; + + for(;;) { + BYTE b1, b2; + + if(!GetIso14443CommandFromReader(receivedCmd, &len, 100)) { + DbpIntegers(cmdsRecvd, 0, 0); + DbpString("button press"); + break; + } + + // Good, look at the command now. + + if(len == sizeof(cmd1) && memcmp(receivedCmd, cmd1, len)==0) { + resp = resp1; respLen = resp1Len; + } else { + DbpString("new cmd from reader:"); + DbpIntegers(len, 0x1234, cmdsRecvd); + // And print whether the CRC fails, just for good measure + ComputeCrc14443(CRC_14443_B, receivedCmd, len-2, &b1, &b2); + if(b1 != receivedCmd[len-2] || b2 != receivedCmd[len-1]) { + // Not so good, try again. + DbpString("+++CRC fail"); + } else { + DbpString("CRC passes"); + } + break; + } + + memset(receivedCmd, 0x44, 32); + + cmdsRecvd++; + + if(cmdsRecvd > 0x30) { + DbpString("many commands later..."); + break; + } + + if(respLen <= 0) continue; + + // Modulate BPSK + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_BPSK); + SSC_TRANSMIT_HOLDING = 0xff; + FpgaSetupSsc(); + + // Transmit the response. + i = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + BYTE b = resp[i]; + + SSC_TRANSMIT_HOLDING = b; + + i++; + if(i > respLen) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile BYTE b = (BYTE)SSC_RECEIVE_HOLDING; + (void)b; + } + } + } +} + +//============================================================================= +// An ISO 14443 Type B reader. We take layer two commands, code them +// appropriately, and then send them to the tag. We then listen for the +// tag's response, which we leave in the buffer to be demodulated on the +// PC side. +//============================================================================= + +static struct { + enum { + DEMOD_UNSYNCD, + DEMOD_PHASE_REF_TRAINING, + DEMOD_AWAITING_FALLING_EDGE_OF_SOF, + DEMOD_GOT_FALLING_EDGE_OF_SOF, + DEMOD_AWAITING_START_BIT, + DEMOD_RECEIVING_DATA, + DEMOD_ERROR_WAIT + } state; + int bitCount; + int posCount; + int thisBit; + int metric; + int metricN; + WORD shiftReg; + BYTE *output; + int len; + int sumI; + int sumQ; +} Demod; + +static BOOL Handle14443SamplesDemod(int ci, int cq) +{ + int v; + + // The soft decision on the bit uses an estimate of just the + // quadrant of the reference angle, not the exact angle. +#define MAKE_SOFT_DECISION() { \ + if(Demod.sumI > 0) { \ + v = ci; \ + } else { \ + v = -ci; \ + } \ + if(Demod.sumQ > 0) { \ + v += cq; \ + } else { \ + v -= cq; \ + } \ + } + + switch(Demod.state) { + case DEMOD_UNSYNCD: + v = ci; + if(v < 0) v = -v; + if(cq > 0) { + v += cq; + } else { + v -= cq; + } + if(v > 40) { + Demod.posCount = 0; + Demod.state = DEMOD_PHASE_REF_TRAINING; + Demod.sumI = 0; + Demod.sumQ = 0; + } + break; + + case DEMOD_PHASE_REF_TRAINING: + if(Demod.posCount < 8) { + Demod.sumI += ci; + Demod.sumQ += cq; + } else if(Demod.posCount > 100) { + // error, waited too long + Demod.state = DEMOD_UNSYNCD; + } else { + MAKE_SOFT_DECISION(); + if(v < 0) { + Demod.state = DEMOD_AWAITING_FALLING_EDGE_OF_SOF; + Demod.posCount = 0; + } + } + Demod.posCount++; + break; + + case DEMOD_AWAITING_FALLING_EDGE_OF_SOF: + MAKE_SOFT_DECISION(); + if(v < 0) { + Demod.state = DEMOD_GOT_FALLING_EDGE_OF_SOF; + Demod.posCount = 0; + } else { + if(Demod.posCount > 100) { + Demod.state = DEMOD_UNSYNCD; + } + } + Demod.posCount++; + break; + + case DEMOD_GOT_FALLING_EDGE_OF_SOF: + MAKE_SOFT_DECISION(); + if(v > 0) { + if(Demod.posCount < 12) { + Demod.state = DEMOD_UNSYNCD; + } else { + Demod.state = DEMOD_AWAITING_START_BIT; + Demod.posCount = 0; + Demod.len = 0; + Demod.metricN = 0; + Demod.metric = 0; + } + } else { + if(Demod.posCount > 100) { + Demod.state = DEMOD_UNSYNCD; + } + } + Demod.posCount++; + break; + + case DEMOD_AWAITING_START_BIT: + MAKE_SOFT_DECISION(); + if(v > 0) { + if(Demod.posCount > 10) { + Demod.state = DEMOD_UNSYNCD; + } + } else { + Demod.bitCount = 0; + Demod.posCount = 1; + Demod.thisBit = v; + Demod.shiftReg = 0; + Demod.state = DEMOD_RECEIVING_DATA; + } + break; + + case DEMOD_RECEIVING_DATA: + MAKE_SOFT_DECISION(); + if(Demod.posCount == 0) { + Demod.thisBit = v; + Demod.posCount = 1; + } else { + Demod.thisBit += v; + + if(Demod.thisBit > 0) { + Demod.metric += Demod.thisBit; + } else { + Demod.metric -= Demod.thisBit; + } + (Demod.metricN)++; + + Demod.shiftReg >>= 1; + if(Demod.thisBit > 0) { + Demod.shiftReg |= 0x200; + } + + Demod.bitCount++; + if(Demod.bitCount == 10) { + WORD s = Demod.shiftReg; + if((s & 0x200) && !(s & 0x001)) { + BYTE b = (s >> 1); + Demod.output[Demod.len] = b; + Demod.len++; + Demod.state = DEMOD_AWAITING_START_BIT; + } else if(s == 0x000) { + // This is EOF + return TRUE; + Demod.state = DEMOD_UNSYNCD; + } else { + Demod.state = DEMOD_UNSYNCD; + } + } + Demod.posCount = 0; + } + break; + + default: + Demod.state = DEMOD_UNSYNCD; + break; + } + + return FALSE; +} + +static void GetSamplesFor14443Demod(BOOL weTx, int n) +{ + int max = 0; + BOOL gotFrame = FALSE; + +//# define DMA_BUFFER_SIZE 8 + SBYTE *dmaBuf; + + int lastRxCounter; + SBYTE *upTo; + + int ci, cq; + + int samples = 0; + + // Clear out the state of the "UART" that receives from the tag. + memset(BigBuf, 0x44, 400); + Demod.output = (BYTE *)BigBuf; + Demod.len = 0; + Demod.state = DEMOD_UNSYNCD; + + // And the UART that receives from the reader + Uart.output = (((BYTE *)BigBuf) + 1024); + Uart.byteCntMax = 100; + Uart.state = STATE_UNSYNCD; + + // Setup for the DMA. + dmaBuf = (SBYTE *)(BigBuf + 32); + upTo = dmaBuf; + lastRxCounter = DMA_BUFFER_SIZE; + FpgaSetupSscDma((BYTE *)dmaBuf, DMA_BUFFER_SIZE); + + // And put the FPGA in the appropriate mode + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ | + (weTx ? 0 : FPGA_HF_READER_RX_XCORR_SNOOP)); + + for(;;) { + int behindBy = lastRxCounter - PDC_RX_COUNTER(SSC_BASE); + if(behindBy > max) max = behindBy; + + LED_D_ON(); + while(((lastRxCounter-PDC_RX_COUNTER(SSC_BASE)) & (DMA_BUFFER_SIZE-1)) + > 2) + { + ci = upTo[0]; + cq = upTo[1]; + upTo += 2; + if(upTo - dmaBuf > DMA_BUFFER_SIZE) { + upTo -= DMA_BUFFER_SIZE; + PDC_RX_NEXT_POINTER(SSC_BASE) = (DWORD)upTo; + PDC_RX_NEXT_COUNTER(SSC_BASE) = DMA_BUFFER_SIZE; + } + lastRxCounter -= 2; + if(lastRxCounter <= 0) { + lastRxCounter += DMA_BUFFER_SIZE; + } + + samples += 2; + + Handle14443UartBit(1); + Handle14443UartBit(1); + + if(Handle14443SamplesDemod(ci, cq)) { + gotFrame = 1; + } + } + LED_D_OFF(); + + if(samples > 2000) { + break; + } + } + PDC_CONTROL(SSC_BASE) = PDC_RX_DISABLE; + DbpIntegers(max, gotFrame, -1); +} + +//----------------------------------------------------------------------------- +// Read the tag's response. We just receive a stream of slightly-processed +// samples from the FPGA, which we will later do some signal processing on, +// to get the bits. +//----------------------------------------------------------------------------- +/*static void GetSamplesFor14443(BOOL weTx, int n) +{ + BYTE *dest = (BYTE *)BigBuf; + int c; + + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ | + (weTx ? 0 : FPGA_HF_READER_RX_XCORR_SNOOP)); + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + SBYTE b; + b = (SBYTE)SSC_RECEIVE_HOLDING; + + dest[c++] = (BYTE)b; + + if(c >= n) { + break; + } + } + } +}*/ + +//----------------------------------------------------------------------------- +// Transmit the command (to the tag) that was placed in ToSend[]. +//----------------------------------------------------------------------------- +static void TransmitFor14443(void) +{ + int c; + + FpgaSetupSsc(); + + while(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0xff; + } + + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_READER_TX | FPGA_HF_READER_TX_SHALLOW_MOD); + + for(c = 0; c < 10;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0xff; + c++; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = ToSend[c]; + c++; + if(c >= ToSendMax) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } +} + +//----------------------------------------------------------------------------- +// Code a layer 2 command (string of octets, including CRC) into ToSend[], +// so that it is ready to transmit to the tag using TransmitFor14443(). +//----------------------------------------------------------------------------- +void CodeIso14443bAsReader(const BYTE *cmd, int len) +{ + int i, j; + BYTE b; + + ToSendReset(); + + // Establish initial reference level + for(i = 0; i < 40; i++) { + ToSendStuffBit(1); + } + // Send SOF + for(i = 0; i < 10; i++) { + ToSendStuffBit(0); + } + + for(i = 0; i < len; i++) { + // Stop bits/EGT + ToSendStuffBit(1); + ToSendStuffBit(1); + // Start bit + ToSendStuffBit(0); + // Data bits + b = cmd[i]; + for(j = 0; j < 8; j++) { + if(b & 1) { + ToSendStuffBit(1); + } else { + ToSendStuffBit(0); + } + b >>= 1; + } + } + // Send EOF + ToSendStuffBit(1); + for(i = 0; i < 10; i++) { + ToSendStuffBit(0); + } + for(i = 0; i < 8; i++) { + ToSendStuffBit(1); + } + + // And then a little more, to make sure that the last character makes + // it out before we switch to rx mode. + for(i = 0; i < 24; i++) { + ToSendStuffBit(1); + } + + // Convert from last character reference to length + ToSendMax++; +} + +//----------------------------------------------------------------------------- +// Read an ISO 14443 tag. We send it some set of commands, and record the +// responses. +//----------------------------------------------------------------------------- +void AcquireRawAdcSamplesIso14443(DWORD parameter) +{ +// BYTE cmd1[] = { 0x05, 0x00, 0x00, 0x71, 0xff }; + BYTE cmd1[] = { 0x05, 0x00, 0x08, 0x39, 0x73 }; + + // Make sure that we start from off, since the tags are stateful; + // confusing things will happen if we don't reset them between reads. + LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + // Now give it time to spin up. + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ); + SpinDelay(200); + + CodeIso14443bAsReader(cmd1, sizeof(cmd1)); + TransmitFor14443(); + LED_A_ON(); + GetSamplesFor14443Demod(TRUE, 2000); + LED_A_OFF(); +} + +//============================================================================= +// Finally, the `sniffer' combines elements from both the reader and +// simulated tag, to show both sides of the conversation. +//============================================================================= + +//----------------------------------------------------------------------------- +// Record the sequence of commands sent by the reader to the tag, with +// triggering so that we start recording at the point that the tag is moved +// near the reader. +//----------------------------------------------------------------------------- +void SnoopIso14443(void) +{ + // We won't start recording the frames that we acquire until we trigger; + // a good trigger condition to get started is probably when we see a + // response from the tag. + BOOL triggered = FALSE; + + // The command (reader -> tag) that we're working on receiving. + BYTE *receivedCmd = (((BYTE *)BigBuf) + 1024); + // The response (tag -> reader) that we're working on receiving. + BYTE *receivedResponse = (((BYTE *)BigBuf) + 1536); + + // As we receive stuff, we copy it from receivedCmd or receivedResponse + // into trace, along with its length and other annotations. + BYTE *trace = (BYTE *)BigBuf; + int traceLen = 0; + + // The DMA buffer, used to stream samples from the FPGA. +//# define DMA_BUFFER_SIZE 256 + SBYTE *dmaBuf = ((SBYTE *)BigBuf) + 2048; + int lastRxCounter; + SBYTE *upTo; + int ci, cq; + int maxBehindBy = 0; + + // Count of samples received so far, so that we can include timing + // information in the trace buffer. + int samples = 0; + + memset(trace, 0x44, 1000); + + // Set up the demodulator for tag -> reader responses. + Demod.output = receivedResponse; + Demod.len = 0; + Demod.state = DEMOD_UNSYNCD; + + // And the reader -> tag commands + memset(&Uart, 0, sizeof(Uart)); + Uart.output = receivedCmd; + Uart.byteCntMax = 100; + Uart.state = STATE_UNSYNCD; + + // And put the FPGA in the appropriate mode + FpgaWriteConfWord( + FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ | + FPGA_HF_READER_RX_XCORR_SNOOP); + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + // Setup for the DMA. + FpgaSetupSsc(); + upTo = dmaBuf; + lastRxCounter = DMA_BUFFER_SIZE; + FpgaSetupSscDma((BYTE *)dmaBuf, DMA_BUFFER_SIZE); + + LED_A_ON(); + + // And now we loop, receiving samples. + for(;;) { + int behindBy = (lastRxCounter - PDC_RX_COUNTER(SSC_BASE)) & + (DMA_BUFFER_SIZE-1); + if(behindBy > maxBehindBy) { + maxBehindBy = behindBy; + if(behindBy > 100) { + DbpString("blew circular buffer!"); + goto done; + } + } + if(behindBy < 2) continue; + + ci = upTo[0]; + cq = upTo[1]; + upTo += 2; + lastRxCounter -= 2; + if(upTo - dmaBuf > DMA_BUFFER_SIZE) { + upTo -= DMA_BUFFER_SIZE; + lastRxCounter += DMA_BUFFER_SIZE; + PDC_RX_NEXT_POINTER(SSC_BASE) = (DWORD)upTo; + PDC_RX_NEXT_COUNTER(SSC_BASE) = DMA_BUFFER_SIZE; + } + + samples += 2; + +#define HANDLE_BIT_IF_BODY \ + if(triggered) { \ + trace[traceLen++] = ((samples >> 0) & 0xff); \ + trace[traceLen++] = ((samples >> 8) & 0xff); \ + trace[traceLen++] = ((samples >> 16) & 0xff); \ + trace[traceLen++] = ((samples >> 24) & 0xff); \ + trace[traceLen++] = 0; \ + trace[traceLen++] = 0; \ + trace[traceLen++] = 0; \ + trace[traceLen++] = 0; \ + trace[traceLen++] = Uart.byteCnt; \ + memcpy(trace+traceLen, receivedCmd, Uart.byteCnt); \ + traceLen += Uart.byteCnt; \ + if(traceLen > 1000) break; \ + } \ + /* And ready to receive another command. */ \ + memset(&Uart, 0, sizeof(Uart)); \ + Uart.output = receivedCmd; \ + Uart.byteCntMax = 100; \ + Uart.state = STATE_UNSYNCD; \ + /* And also reset the demod code, which might have been */ \ + /* false-triggered by the commands from the reader. */ \ + memset(&Demod, 0, sizeof(Demod)); \ + Demod.output = receivedResponse; \ + Demod.state = DEMOD_UNSYNCD; \ + + if(Handle14443UartBit(ci & 1)) { + HANDLE_BIT_IF_BODY + } + if(Handle14443UartBit(cq & 1)) { + HANDLE_BIT_IF_BODY + } + + if(Handle14443SamplesDemod(ci, cq)) { + // timestamp, as a count of samples + trace[traceLen++] = ((samples >> 0) & 0xff); + trace[traceLen++] = ((samples >> 8) & 0xff); + trace[traceLen++] = ((samples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((samples >> 24) & 0xff); + // correlation metric (~signal strength estimate) + if(Demod.metricN != 0) { + Demod.metric /= Demod.metricN; + } + trace[traceLen++] = ((Demod.metric >> 0) & 0xff); + trace[traceLen++] = ((Demod.metric >> 8) & 0xff); + trace[traceLen++] = ((Demod.metric >> 16) & 0xff); + trace[traceLen++] = ((Demod.metric >> 24) & 0xff); + // length + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedResponse, Demod.len); + traceLen += Demod.len; + if(traceLen > 1000) break; + + triggered = TRUE; + LED_A_OFF(); + LED_B_ON(); + + // And ready to receive another response. + memset(&Demod, 0, sizeof(Demod)); + Demod.output = receivedResponse; + Demod.state = DEMOD_UNSYNCD; + } + + if(BUTTON_PRESS()) { + DbpString("cancelled"); + goto done; + } + } + + DbpString("in done pt"); + + DbpIntegers(maxBehindBy, Uart.state, Uart.byteCnt); + DbpIntegers(Uart.byteCntMax, traceLen, 0x23); + +done: + PDC_CONTROL(SSC_BASE) = PDC_RX_DISABLE; + LED_A_OFF(); + LED_B_OFF(); +} diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c new file mode 100644 index 00000000..a687d877 --- /dev/null +++ b/armsrc/iso14443a.c @@ -0,0 +1,1815 @@ +//----------------------------------------------------------------------------- +// Routines to support ISO 14443 type A. +// +// Gerhard de Koning Gans - May 2008 +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" +#include "..\common\iso14443_crc.c" + +typedef enum { + SEC_D = 1, + SEC_E = 2, + SEC_F = 3, + SEC_X = 4, + SEC_Y = 5, + SEC_Z = 6 +} SecType; + +//----------------------------------------------------------------------------- +// The software UART that receives commands from the reader, and its state +// variables. +//----------------------------------------------------------------------------- +static struct { + enum { + STATE_UNSYNCD, + STATE_START_OF_COMMUNICATION, + STATE_MILLER_X, + STATE_MILLER_Y, + STATE_MILLER_Z, + STATE_ERROR_WAIT + } state; + WORD shiftReg; + int bitCnt; + int byteCnt; + int byteCntMax; + int posCnt; + int syncBit; + int parityBits; + int samples; + int highCnt; + int bitBuffer; + enum { + DROP_NONE, + DROP_FIRST_HALF, + DROP_SECOND_HALF + } drop; + BYTE *output; +} Uart; + +static BOOL MillerDecoding(int bit) +{ + int error = 0; + int bitright; + + if(!Uart.bitBuffer) { + Uart.bitBuffer = bit ^ 0xFF0; + return FALSE; + } + else { + Uart.bitBuffer <<= 4; + Uart.bitBuffer ^= bit; + } + + BOOL EOC = FALSE; + + if(Uart.state != STATE_UNSYNCD) { + Uart.posCnt++; + + if((Uart.bitBuffer & Uart.syncBit) ^ Uart.syncBit) { + bit = 0x00; + } + else { + bit = 0x01; + } + if(((Uart.bitBuffer << 1) & Uart.syncBit) ^ Uart.syncBit) { + bitright = 0x00; + } + else { + bitright = 0x01; + } + if(bit != bitright) { bit = bitright; } + + if(Uart.posCnt == 1) { + // measurement first half bitperiod + if(!bit) { + Uart.drop = DROP_FIRST_HALF; + } + } + else { + // measurement second half bitperiod + if(!bit & (Uart.drop == DROP_NONE)) { + Uart.drop = DROP_SECOND_HALF; + } + else if(!bit) { + // measured a drop in first and second half + // which should not be possible + Uart.state = STATE_ERROR_WAIT; + error = 0x01; + } + + Uart.posCnt = 0; + + switch(Uart.state) { + case STATE_START_OF_COMMUNICATION: + Uart.shiftReg = 0; + if(Uart.drop == DROP_SECOND_HALF) { + // error, should not happen in SOC + Uart.state = STATE_ERROR_WAIT; + error = 0x02; + } + else { + // correct SOC + Uart.state = STATE_MILLER_Z; + } + break; + + case STATE_MILLER_Z: + Uart.bitCnt++; + Uart.shiftReg >>= 1; + if(Uart.drop == DROP_NONE) { + // logic '0' followed by sequence Y + // end of communication + Uart.state = STATE_UNSYNCD; + EOC = TRUE; + } + // if(Uart.drop == DROP_FIRST_HALF) { + // Uart.state = STATE_MILLER_Z; stay the same + // we see a logic '0' } + if(Uart.drop == DROP_SECOND_HALF) { + // we see a logic '1' + Uart.shiftReg |= 0x100; + Uart.state = STATE_MILLER_X; + } + break; + + case STATE_MILLER_X: + Uart.shiftReg >>= 1; + if(Uart.drop == DROP_NONE) { + // sequence Y, we see a '0' + Uart.state = STATE_MILLER_Y; + Uart.bitCnt++; + } + if(Uart.drop == DROP_FIRST_HALF) { + // Would be STATE_MILLER_Z + // but Z does not follow X, so error + Uart.state = STATE_ERROR_WAIT; + error = 0x03; + } + if(Uart.drop == DROP_SECOND_HALF) { + // We see a '1' and stay in state X + Uart.shiftReg |= 0x100; + Uart.bitCnt++; + } + break; + + case STATE_MILLER_Y: + Uart.bitCnt++; + Uart.shiftReg >>= 1; + if(Uart.drop == DROP_NONE) { + // logic '0' followed by sequence Y + // end of communication + Uart.state = STATE_UNSYNCD; + EOC = TRUE; + } + if(Uart.drop == DROP_FIRST_HALF) { + // we see a '0' + Uart.state = STATE_MILLER_Z; + } + if(Uart.drop == DROP_SECOND_HALF) { + // We see a '1' and go to state X + Uart.shiftReg |= 0x100; + Uart.state = STATE_MILLER_X; + } + break; + + case STATE_ERROR_WAIT: + // That went wrong. Now wait for at least two bit periods + // and try to sync again + if(Uart.drop == DROP_NONE) { + Uart.highCnt = 6; + Uart.state = STATE_UNSYNCD; + } + break; + + default: + Uart.state = STATE_UNSYNCD; + Uart.highCnt = 0; + break; + } + + Uart.drop = DROP_NONE; + + // should have received at least one whole byte... + if((Uart.bitCnt == 2) && EOC && (Uart.byteCnt > 0)) { + return TRUE; + } + + if(Uart.bitCnt == 9) { + Uart.output[Uart.byteCnt] = (Uart.shiftReg & 0xff); + Uart.byteCnt++; + + Uart.parityBits <<= 1; + Uart.parityBits ^= ((Uart.shiftReg >> 8) & 0x01); + + if(EOC) { + // when End of Communication received and + // all data bits processed.. + return TRUE; + } + Uart.bitCnt = 0; + } + + /*if(error) { + Uart.output[Uart.byteCnt] = 0xAA; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = error & 0xFF; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = 0xAA; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = (Uart.bitBuffer >> 8) & 0xFF; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = Uart.bitBuffer & 0xFF; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = (Uart.syncBit >> 3) & 0xFF; + Uart.byteCnt++; + Uart.output[Uart.byteCnt] = 0xAA; + Uart.byteCnt++; + return TRUE; + }*/ + } + + } + else { + bit = Uart.bitBuffer & 0xf0; + bit >>= 4; + bit ^= 0x0F; + if(bit) { + // should have been high or at least (4 * 128) / fc + // according to ISO this should be at least (9 * 128 + 20) / fc + if(Uart.highCnt == 8) { + // we went low, so this could be start of communication + // it turns out to be safer to choose a less significant + // syncbit... so we check whether the neighbour also represents the drop + Uart.posCnt = 1; // apparently we are busy with our first half bit period + Uart.syncBit = bit & 8; + Uart.samples = 3; + if(!Uart.syncBit) { Uart.syncBit = bit & 4; Uart.samples = 2; } + else if(bit & 4) { Uart.syncBit = bit & 4; Uart.samples = 2; bit <<= 2; } + if(!Uart.syncBit) { Uart.syncBit = bit & 2; Uart.samples = 1; } + else if(bit & 2) { Uart.syncBit = bit & 2; Uart.samples = 1; bit <<= 1; } + if(!Uart.syncBit) { Uart.syncBit = bit & 1; Uart.samples = 0; + if(Uart.syncBit & (Uart.bitBuffer & 8)) { + Uart.syncBit = 8; + + // the first half bit period is expected in next sample + Uart.posCnt = 0; + Uart.samples = 3; + } + } + else if(bit & 1) { Uart.syncBit = bit & 1; Uart.samples = 0; } + + Uart.syncBit <<= 4; + Uart.state = STATE_START_OF_COMMUNICATION; + Uart.drop = DROP_FIRST_HALF; + Uart.bitCnt = 0; + Uart.byteCnt = 0; + Uart.parityBits = 0; + error = 0; + } + else { + Uart.highCnt = 0; + } + } + else { + if(Uart.highCnt < 8) { + Uart.highCnt++; + } + } + } + + return FALSE; +} + +//============================================================================= +// ISO 14443 Type A - Manchester +//============================================================================= + +static struct { + enum { + DEMOD_UNSYNCD, + DEMOD_START_OF_COMMUNICATION, + DEMOD_MANCHESTER_D, + DEMOD_MANCHESTER_E, + DEMOD_MANCHESTER_F, + DEMOD_ERROR_WAIT + } state; + int bitCount; + int posCount; + int syncBit; + int parityBits; + WORD shiftReg; + int buffer; + int buff; + int samples; + int len; + enum { + SUB_NONE, + SUB_FIRST_HALF, + SUB_SECOND_HALF + } sub; + BYTE *output; +} Demod; + +static BOOL ManchesterDecoding(int v) +{ + int bit; + int modulation; + int error = 0; + + if(!Demod.buff) { + Demod.buff = 1; + Demod.buffer = v; + return FALSE; + } + else { + bit = Demod.buffer; + Demod.buffer = v; + } + + if(Demod.state==DEMOD_UNSYNCD) { + Demod.output[Demod.len] = 0xfa; + Demod.syncBit = 0; + //Demod.samples = 0; + Demod.posCount = 1; // This is the first half bit period, so after syncing handle the second part + if(bit & 0x08) { Demod.syncBit = 0x08; } + if(!Demod.syncBit) { + if(bit & 0x04) { Demod.syncBit = 0x04; } + } + else if(bit & 0x04) { Demod.syncBit = 0x04; bit <<= 4; } + if(!Demod.syncBit) { + if(bit & 0x02) { Demod.syncBit = 0x02; } + } + else if(bit & 0x02) { Demod.syncBit = 0x02; bit <<= 4; } + if(!Demod.syncBit) { + if(bit & 0x01) { Demod.syncBit = 0x01; } + + if(Demod.syncBit & (Demod.buffer & 0x08)) { + Demod.syncBit = 0x08; + + // The first half bitperiod is expected in next sample + Demod.posCount = 0; + Demod.output[Demod.len] = 0xfb; + } + } + else if(bit & 0x01) { Demod.syncBit = 0x01; } + + if(Demod.syncBit) { + Demod.len = 0; + Demod.state = DEMOD_START_OF_COMMUNICATION; + Demod.sub = SUB_FIRST_HALF; + Demod.bitCount = 0; + Demod.shiftReg = 0; + Demod.parityBits = 0; + Demod.samples = 0; + if(Demod.posCount) { + switch(Demod.syncBit) { + case 0x08: Demod.samples = 3; break; + case 0x04: Demod.samples = 2; break; + case 0x02: Demod.samples = 1; break; + case 0x01: Demod.samples = 0; break; + } + } + error = 0; + } + } + else { + //modulation = bit & Demod.syncBit; + modulation = ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit; + + Demod.samples += 4; + + if(Demod.posCount==0) { + Demod.posCount = 1; + if(modulation) { + Demod.sub = SUB_FIRST_HALF; + } + else { + Demod.sub = SUB_NONE; + } + } + else { + Demod.posCount = 0; + if(modulation && (Demod.sub == SUB_FIRST_HALF)) { + if(Demod.state!=DEMOD_ERROR_WAIT) { + Demod.state = DEMOD_ERROR_WAIT; + Demod.output[Demod.len] = 0xaa; + error = 0x01; + } + } + else if(modulation) { + Demod.sub = SUB_SECOND_HALF; + } + + switch(Demod.state) { + case DEMOD_START_OF_COMMUNICATION: + if(Demod.sub == SUB_FIRST_HALF) { + Demod.state = DEMOD_MANCHESTER_D; + } + else { + Demod.output[Demod.len] = 0xab; + Demod.state = DEMOD_ERROR_WAIT; + error = 0x02; + } + break; + + case DEMOD_MANCHESTER_D: + case DEMOD_MANCHESTER_E: + if(Demod.sub == SUB_FIRST_HALF) { + Demod.bitCount++; + Demod.shiftReg = (Demod.shiftReg >> 1) ^ 0x100; + Demod.state = DEMOD_MANCHESTER_D; + } + else if(Demod.sub == SUB_SECOND_HALF) { + Demod.bitCount++; + Demod.shiftReg >>= 1; + Demod.state = DEMOD_MANCHESTER_E; + } + else { + Demod.state = DEMOD_MANCHESTER_F; + } + break; + + case DEMOD_MANCHESTER_F: + // Tag response does not need to be a complete byte! + if(Demod.len > 0 || Demod.bitCount > 0) { + if(Demod.bitCount > 0) { + Demod.shiftReg >>= (9 - Demod.bitCount); + Demod.output[Demod.len] = Demod.shiftReg & 0xff; + Demod.len++; + // No parity bit, so just shift a 0 + Demod.parityBits <<= 1; + } + + Demod.state = DEMOD_UNSYNCD; + return TRUE; + } + else { + Demod.output[Demod.len] = 0xad; + Demod.state = DEMOD_ERROR_WAIT; + error = 0x03; + } + break; + + case DEMOD_ERROR_WAIT: + Demod.state = DEMOD_UNSYNCD; + break; + + default: + Demod.output[Demod.len] = 0xdd; + Demod.state = DEMOD_UNSYNCD; + break; + } + + if(Demod.bitCount>=9) { + Demod.output[Demod.len] = Demod.shiftReg & 0xff; + Demod.len++; + + Demod.parityBits <<= 1; + Demod.parityBits ^= ((Demod.shiftReg >> 8) & 0x01); + + Demod.bitCount = 0; + Demod.shiftReg = 0; + } + + /*if(error) { + Demod.output[Demod.len] = 0xBB; + Demod.len++; + Demod.output[Demod.len] = error & 0xFF; + Demod.len++; + Demod.output[Demod.len] = 0xBB; + Demod.len++; + Demod.output[Demod.len] = bit & 0xFF; + Demod.len++; + Demod.output[Demod.len] = Demod.buffer & 0xFF; + Demod.len++; + Demod.output[Demod.len] = Demod.syncBit & 0xFF; + Demod.len++; + Demod.output[Demod.len] = 0xBB; + Demod.len++; + return TRUE; + }*/ + + } + + } // end (state != UNSYNCED) + + return FALSE; +} + +//============================================================================= +// Finally, a `sniffer' for ISO 14443 Type A +// Both sides of communication! +//============================================================================= + +//----------------------------------------------------------------------------- +// Record the sequence of commands sent by the reader to the tag, with +// triggering so that we start recording at the point that the tag is moved +// near the reader. +//----------------------------------------------------------------------------- +void SnoopIso14443a(void) +{ + + // BIG CHANGE - UNDERSTAND THIS BEFORE WE COMMIT + + #define RECV_CMD_OFFSET 3032 + #define RECV_RES_OFFSET 3096 + #define DMA_BUFFER_OFFSET 3160 + #define DMA_BUFFER_SIZE 4096 + #define TRACE_LENGTH 3000 + +// #define RECV_CMD_OFFSET 2032 // original (working as of 21/2/09) values +// #define RECV_RES_OFFSET 2096 // original (working as of 21/2/09) values +// #define DMA_BUFFER_OFFSET 2160 // original (working as of 21/2/09) values +// #define DMA_BUFFER_SIZE 4096 // original (working as of 21/2/09) values +// #define TRACE_LENGTH 2000 // original (working as of 21/2/09) values + + // We won't start recording the frames that we acquire until we trigger; + // a good trigger condition to get started is probably when we see a + // response from the tag. + BOOL triggered = TRUE; // FALSE to wait first for card + + // The command (reader -> tag) that we're receiving. + // The length of a received command will in most cases be no more than 18 bytes. + // So 32 should be enough! + BYTE *receivedCmd = (((BYTE *)BigBuf) + RECV_CMD_OFFSET); + // The response (tag -> reader) that we're receiving. + BYTE *receivedResponse = (((BYTE *)BigBuf) + RECV_RES_OFFSET); + + // As we receive stuff, we copy it from receivedCmd or receivedResponse + // into trace, along with its length and other annotations. + BYTE *trace = (BYTE *)BigBuf; + int traceLen = 0; + + // The DMA buffer, used to stream samples from the FPGA + SBYTE *dmaBuf = ((SBYTE *)BigBuf) + DMA_BUFFER_OFFSET; + int lastRxCounter; + SBYTE *upTo; + int smpl; + int maxBehindBy = 0; + + // Count of samples received so far, so that we can include timing + // information in the trace buffer. + int samples = 0; + int rsamples = 0; + + memset(trace, 0x44, RECV_CMD_OFFSET); + + // Set up the demodulator for tag -> reader responses. + Demod.output = receivedResponse; + Demod.len = 0; + Demod.state = DEMOD_UNSYNCD; + + // And the reader -> tag commands + memset(&Uart, 0, sizeof(Uart)); + Uart.output = receivedCmd; + Uart.byteCntMax = 32; // was 100 (greg)//////////////////////////////////////////////////////////////////////// + Uart.state = STATE_UNSYNCD; + + // And put the FPGA in the appropriate mode + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_SNIFFER); + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + // Setup for the DMA. + FpgaSetupSsc(); + upTo = dmaBuf; + lastRxCounter = DMA_BUFFER_SIZE; + FpgaSetupSscDma((BYTE *)dmaBuf, DMA_BUFFER_SIZE); + + LED_A_ON(); + + // And now we loop, receiving samples. + for(;;) { + WDT_HIT(); + int behindBy = (lastRxCounter - PDC_RX_COUNTER(SSC_BASE)) & + (DMA_BUFFER_SIZE-1); + if(behindBy > maxBehindBy) { + maxBehindBy = behindBy; + if(behindBy > 400) { + DbpString("blew circular buffer!"); + goto done; + } + } + if(behindBy < 1) continue; + + smpl = upTo[0]; + upTo++; + lastRxCounter -= 1; + if(upTo - dmaBuf > DMA_BUFFER_SIZE) { + upTo -= DMA_BUFFER_SIZE; + lastRxCounter += DMA_BUFFER_SIZE; + PDC_RX_NEXT_POINTER(SSC_BASE) = (DWORD)upTo; + PDC_RX_NEXT_COUNTER(SSC_BASE) = DMA_BUFFER_SIZE; + } + + samples += 4; +#define HANDLE_BIT_IF_BODY \ + LED_C_ON(); \ + if(triggered) { \ + trace[traceLen++] = ((rsamples >> 0) & 0xff); \ + trace[traceLen++] = ((rsamples >> 8) & 0xff); \ + trace[traceLen++] = ((rsamples >> 16) & 0xff); \ + trace[traceLen++] = ((rsamples >> 24) & 0xff); \ + trace[traceLen++] = ((Uart.parityBits >> 0) & 0xff); \ + trace[traceLen++] = ((Uart.parityBits >> 8) & 0xff); \ + trace[traceLen++] = ((Uart.parityBits >> 16) & 0xff); \ + trace[traceLen++] = ((Uart.parityBits >> 24) & 0xff); \ + trace[traceLen++] = Uart.byteCnt; \ + memcpy(trace+traceLen, receivedCmd, Uart.byteCnt); \ + traceLen += Uart.byteCnt; \ + if(traceLen > TRACE_LENGTH) break; \ + } \ + /* And ready to receive another command. */ \ + Uart.state = STATE_UNSYNCD; \ + /* And also reset the demod code, which might have been */ \ + /* false-triggered by the commands from the reader. */ \ + Demod.state = DEMOD_UNSYNCD; \ + LED_B_OFF(); \ + + if(MillerDecoding((smpl & 0xF0) >> 4)) { + rsamples = samples - Uart.samples; + HANDLE_BIT_IF_BODY + } + if(ManchesterDecoding(smpl & 0x0F)) { + rsamples = samples - Demod.samples; + LED_B_ON(); + + // timestamp, as a count of samples + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + // length + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedResponse, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) break; + + triggered = TRUE; + + // And ready to receive another response. + memset(&Demod, 0, sizeof(Demod)); + Demod.output = receivedResponse; + Demod.state = DEMOD_UNSYNCD; + LED_C_OFF(); + } + + if(BUTTON_PRESS()) { + DbpString("cancelled_a"); + goto done; + } + } + + DbpString("COMMAND FINISHED"); + + DbpIntegers(maxBehindBy, Uart.state, Uart.byteCnt); + DbpIntegers(Uart.byteCntMax, traceLen, (int)Uart.output[0]); + +done: + PDC_CONTROL(SSC_BASE) = PDC_RX_DISABLE; + DbpIntegers(maxBehindBy, Uart.state, Uart.byteCnt); + DbpIntegers(Uart.byteCntMax, traceLen, (int)Uart.output[0]); + LED_A_OFF(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); +} + +// Prepare communication bits to send to FPGA +void Sequence(SecType seq) +{ + ToSendMax++; + switch(seq) { + // CARD TO READER + case SEC_D: + // Sequence D: 11110000 + // modulation with subcarrier during first half + ToSend[ToSendMax] = 0xf0; + break; + case SEC_E: + // Sequence E: 00001111 + // modulation with subcarrier during second half + ToSend[ToSendMax] = 0x0f; + break; + case SEC_F: + // Sequence F: 00000000 + // no modulation with subcarrier + ToSend[ToSendMax] = 0x00; + break; + // READER TO CARD + case SEC_X: + // Sequence X: 00001100 + // drop after half a period + ToSend[ToSendMax] = 0x0c; + break; + case SEC_Y: + default: + // Sequence Y: 00000000 + // no drop + ToSend[ToSendMax] = 0x00; + break; + case SEC_Z: + // Sequence Z: 11000000 + // drop at start + ToSend[ToSendMax] = 0xc0; + break; + } +} + +//----------------------------------------------------------------------------- +// Prepare tag messages +//----------------------------------------------------------------------------- +static void CodeIso14443aAsTag(const BYTE *cmd, int len) +{ + int i; + int oddparity; + + ToSendReset(); + + // Correction bit, might be removed when not needed + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(1); // 1 + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + + // Send startbit + Sequence(SEC_D); + + for(i = 0; i < len; i++) { + int j; + BYTE b = cmd[i]; + + // Data bits + oddparity = 0x01; + for(j = 0; j < 8; j++) { + oddparity ^= (b & 1); + if(b & 1) { + Sequence(SEC_D); + } else { + Sequence(SEC_E); + } + b >>= 1; + } + + // Parity bit + if(oddparity) { + Sequence(SEC_D); + } else { + Sequence(SEC_E); + } + } + + // Send stopbit + Sequence(SEC_F); + + // Flush the buffer in FPGA!! + for(i = 0; i < 5; i++) { + Sequence(SEC_F); + } + + // Convert from last byte pos to length + ToSendMax++; + + // Add a few more for slop + ToSend[ToSendMax++] = 0x00; + ToSend[ToSendMax++] = 0x00; + //ToSendMax += 2; +} + +//----------------------------------------------------------------------------- +// This is to send a NACK kind of answer, its only 3 bits, I know it should be 4 +//----------------------------------------------------------------------------- +static void CodeStrangeAnswer() +{ + int i; + + ToSendReset(); + + // Correction bit, might be removed when not needed + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(1); // 1 + ToSendStuffBit(0); + ToSendStuffBit(0); + ToSendStuffBit(0); + + // Send startbit + Sequence(SEC_D); + + // 0 + Sequence(SEC_E); + + // 0 + Sequence(SEC_E); + + // 1 + Sequence(SEC_D); + + // Send stopbit + Sequence(SEC_F); + + // Flush the buffer in FPGA!! + for(i = 0; i < 5; i++) { + Sequence(SEC_F); + } + + // Convert from last byte pos to length + ToSendMax++; + + // Add a few more for slop + ToSend[ToSendMax++] = 0x00; + ToSend[ToSendMax++] = 0x00; + //ToSendMax += 2; +} + +//----------------------------------------------------------------------------- +// Wait for commands from reader +// Stop when button is pressed +// Or return TRUE when command is captured +//----------------------------------------------------------------------------- +static BOOL GetIso14443aCommandFromReader(BYTE *received, int *len, int maxLen) +{ + // Set FPGA mode to "simulated ISO 14443 tag", no modulation (listen + // only, since we are receiving, not transmitting). + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_LISTEN); + + // Now run a `software UART' on the stream of incoming samples. + Uart.output = received; + Uart.byteCntMax = maxLen; + Uart.state = STATE_UNSYNCD; + + for(;;) { + WDT_HIT(); + + if(BUTTON_PRESS()) return FALSE; + + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x00; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + BYTE b = (BYTE)SSC_RECEIVE_HOLDING; + if(MillerDecoding((b & 0xf0) >> 4)) { + *len = Uart.byteCnt; + return TRUE; + } + if(MillerDecoding(b & 0x0f)) { + *len = Uart.byteCnt; + return TRUE; + } + } + } +} + +//----------------------------------------------------------------------------- +// Main loop of simulated tag: receive commands from reader, decide what +// response to send, and send it. +//----------------------------------------------------------------------------- +void SimulateIso14443aTag(int tagType, int TagUid) +{ + // This function contains the tag emulation + + // Prepare protocol messages + // static const BYTE cmd1[] = { 0x26 }; +// static const BYTE response1[] = { 0x02, 0x00 }; // Says: I am Mifare 4k - original line - greg +// + static const BYTE response1[] = { 0x44, 0x03 }; // Says: I am a DESFire Tag, ph33r me +// static const BYTE response1[] = { 0x44, 0x00 }; // Says: I am a ULTRALITE Tag, 0wn me + + // UID response + // static const BYTE cmd2[] = { 0x93, 0x20 }; + //static const BYTE response2[] = { 0x9a, 0xe5, 0xe4, 0x43, 0xd8 }; // original value - greg + + + +// my desfire + static const BYTE response2[] = { 0x88, 0x04, 0x21, 0x3f, 0x4d }; // known uid - note cascade (0x88), 2nd byte (0x04) = NXP/Phillips + + +// When reader selects us during cascade1 it will send cmd3 +//BYTE response3[] = { 0x04, 0x00, 0x00 }; // SAK Select (cascade1) successful response (ULTRALITE) +BYTE response3[] = { 0x24, 0x00, 0x00 }; // SAK Select (cascade1) successful response (DESFire) +ComputeCrc14443(CRC_14443_A, response3, 1, &response3[1], &response3[2]); + +// send cascade2 2nd half of UID +static const BYTE response2a[] = { 0x51, 0x48, 0x1d, 0x80, 0x84 }; // uid - cascade2 - 2nd half (4 bytes) of UID+ BCCheck +// NOTE : THE CRC on the above may be wrong as I have obfuscated the actual UID + + +// When reader selects us during cascade2 it will send cmd3a +//BYTE response3a[] = { 0x00, 0x00, 0x00 }; // SAK Select (cascade2) successful response (ULTRALITE) +BYTE response3a[] = { 0x20, 0x00, 0x00 }; // SAK Select (cascade2) successful response (DESFire) +ComputeCrc14443(CRC_14443_A, response3a, 1, &response3a[1], &response3a[2]); + +// When reader tries to authenticate + // static const BYTE cmd5[] = { 0x60, 0x00, 0xf5, 0x7b }; + static const BYTE response5[] = { 0x00, 0x00, 0x00, 0x00 }; // Very random tag nonce + + BYTE *resp; + int respLen; + + // Longest possible response will be 16 bytes + 2 CRC = 18 bytes + // This will need + // 144 data bits (18 * 8) + // 18 parity bits + // 2 Start and stop + // 1 Correction bit (Answer in 1172 or 1236 periods, see FPGA) + // 1 just for the case + // ----------- + + // 166 + // + // 166 bytes, since every bit that needs to be send costs us a byte + // + + + // Respond with card type + BYTE *resp1 = (((BYTE *)BigBuf) + 800); + int resp1Len; + + // Anticollision cascade1 - respond with uid + BYTE *resp2 = (((BYTE *)BigBuf) + 970); + int resp2Len; + + // Anticollision cascade2 - respond with 2nd half of uid if asked + // we're only going to be asked if we set the 1st byte of the UID (during cascade1) to 0x88 + BYTE *resp2a = (((BYTE *)BigBuf) + 1140); + int resp2aLen; + + // Acknowledge select - cascade 1 + BYTE *resp3 = (((BYTE *)BigBuf) + 1310); + int resp3Len; + + // Acknowledge select - cascade 2 + BYTE *resp3a = (((BYTE *)BigBuf) + 1480); + int resp3aLen; + + // Response to a read request - not implemented atm + BYTE *resp4 = (((BYTE *)BigBuf) + 1550); + int resp4Len; + + // Authenticate response - nonce + BYTE *resp5 = (((BYTE *)BigBuf) + 1720); + int resp5Len; + + BYTE *receivedCmd = (BYTE *)BigBuf; + int len; + + int i; + int u; + BYTE b; + + // To control where we are in the protocol + int order = 0; + int lastorder; + + // Just to allow some checks + int happened = 0; + int happened2 = 0; + + int cmdsRecvd = 0; + + BOOL fdt_indicator; + + memset(receivedCmd, 0x44, 400); + + // Prepare the responses of the anticollision phase + // there will be not enough time to do this at the moment the reader sends it REQA + + // Answer to request + CodeIso14443aAsTag(response1, sizeof(response1)); + memcpy(resp1, ToSend, ToSendMax); resp1Len = ToSendMax; + + // Send our UID (cascade 1) + CodeIso14443aAsTag(response2, sizeof(response2)); + memcpy(resp2, ToSend, ToSendMax); resp2Len = ToSendMax; + + // Answer to select (cascade1) + CodeIso14443aAsTag(response3, sizeof(response3)); + memcpy(resp3, ToSend, ToSendMax); resp3Len = ToSendMax; + + // Send the cascade 2 2nd part of the uid + CodeIso14443aAsTag(response2a, sizeof(response2a)); + memcpy(resp2a, ToSend, ToSendMax); resp2aLen = ToSendMax; + + // Answer to select (cascade 2) + CodeIso14443aAsTag(response3a, sizeof(response3a)); + memcpy(resp3a, ToSend, ToSendMax); resp3aLen = ToSendMax; + + // Strange answer is an example of rare message size (3 bits) + CodeStrangeAnswer(); + memcpy(resp4, ToSend, ToSendMax); resp4Len = ToSendMax; + + // Authentication answer (random nonce) + CodeIso14443aAsTag(response5, sizeof(response5)); + memcpy(resp5, ToSend, ToSendMax); resp5Len = ToSendMax; + + // We need to listen to the high-frequency, peak-detected path. + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + cmdsRecvd = 0; + + LED_A_ON(); + for(;;) { + + if(!GetIso14443aCommandFromReader(receivedCmd, &len, 100)) { + DbpString("button press"); + break; + } + // doob - added loads of debug strings so we can see what the reader is saying to us during the sim as hi14alist is not populated + // Okay, look at the command now. + lastorder = order; + i = 1; // first byte transmitted + if(receivedCmd[0] == 0x26) { + // Received a REQUEST + resp = resp1; respLen = resp1Len; order = 1; + //DbpString("Hello request from reader:"); + } else if(receivedCmd[0] == 0x52) { + // Received a WAKEUP + resp = resp1; respLen = resp1Len; order = 6; +// //DbpString("Wakeup request from reader:"); + + } else if(receivedCmd[1] == 0x20 && receivedCmd[0] == 0x93) { // greg - cascade 1 anti-collision + // Received request for UID (cascade 1) + resp = resp2; respLen = resp2Len; order = 2; +// DbpString("UID (cascade 1) request from reader:"); +// DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + + } else if(receivedCmd[1] == 0x20 && receivedCmd[0] ==0x95) { // greg - cascade 2 anti-collision + // Received request for UID (cascade 2) + resp = resp2a; respLen = resp2aLen; order = 20; +// DbpString("UID (cascade 2) request from reader:"); +// DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + + } else if(receivedCmd[1] == 0x70 && receivedCmd[0] ==0x93) { // greg - cascade 1 select + // Received a SELECT + resp = resp3; respLen = resp3Len; order = 3; +// DbpString("Select (cascade 1) request from reader:"); +// DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + + } else if(receivedCmd[1] == 0x70 && receivedCmd[0] ==0x95) { // greg - cascade 2 select + // Received a SELECT + resp = resp3a; respLen = resp3aLen; order = 30; +// DbpString("Select (cascade 2) request from reader:"); +// DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + + } else if(receivedCmd[0] == 0x30) { + // Received a READ + resp = resp4; respLen = resp4Len; order = 4; // Do nothing + DbpString("Read request from reader:"); + DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + + } else if(receivedCmd[0] == 0x50) { + // Received a HALT + resp = resp1; respLen = 0; order = 5; // Do nothing + DbpString("Reader requested we HALT!:"); + + } else if(receivedCmd[0] == 0x60) { + // Received an authentication request + resp = resp5; respLen = resp5Len; order = 7; + DbpString("Authenticate request from reader:"); + DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + + } else if(receivedCmd[0] == 0xE0) { + // Received a RATS request + resp = resp1; respLen = 0;order = 70; + DbpString("RATS request from reader:"); + DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + } else { + // Never seen this command before + DbpString("Unknown command received from reader:"); + DbpIntegers(receivedCmd[0], receivedCmd[1], receivedCmd[2]); + DbpIntegers(receivedCmd[3], receivedCmd[4], receivedCmd[5]); + DbpIntegers(receivedCmd[6], receivedCmd[7], receivedCmd[8]); + + // Do not respond + resp = resp1; respLen = 0; order = 0; + } + + // Count number of wakeups received after a halt + if(order == 6 && lastorder == 5) { happened++; } + + // Count number of other messages after a halt + if(order != 6 && lastorder == 5) { happened2++; } + + // Look at last parity bit to determine timing of answer + if((Uart.parityBits & 0x01) || receivedCmd[0] == 0x52) { + // 1236, so correction bit needed + i = 0; + } + + memset(receivedCmd, 0x44, 32); + + if(cmdsRecvd > 999) { + DbpString("1000 commands later..."); + break; + } + else { + cmdsRecvd++; + } + + if(respLen <= 0) continue; + + // Modulate Manchester + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_MOD); + SSC_TRANSMIT_HOLDING = 0x00; + FpgaSetupSsc(); + + // ### Transmit the response ### + u = 0; + b = 0x00; + fdt_indicator = FALSE; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile BYTE b = (BYTE)SSC_RECEIVE_HOLDING; + (void)b; + } + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + if(i > respLen) { + b = 0x00; + u++; + } else { + b = resp[i]; + i++; + } + SSC_TRANSMIT_HOLDING = b; + + if(u > 4) { + break; + } + } + if(BUTTON_PRESS()) { + break; + } + } + + } + + DbpIntegers(happened, happened2, cmdsRecvd); + LED_A_OFF(); +} + +//----------------------------------------------------------------------------- +// Transmit the command (to the tag) that was placed in ToSend[]. +//----------------------------------------------------------------------------- +static void TransmitFor14443a(const BYTE *cmd, int len, int *samples, int *wait) +{ + int c; + + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + + if(*wait < 10) { *wait = 10; } + + for(c = 0; c < *wait;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x00; // For exact timing! + c++; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = cmd[c]; + c++; + if(c >= len) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + *samples = (c + *wait) << 3; +} + +//----------------------------------------------------------------------------- +// To generate an arbitrary stream from reader +// +//----------------------------------------------------------------------------- +void ArbitraryFromReader(const BYTE *cmd, int parity, int len) +{ + int i; + int j; + int last; + BYTE b; + + ToSendReset(); + + // Start of Communication (Seq. Z) + Sequence(SEC_Z); + last = 0; + + for(i = 0; i < len; i++) { + // Data bits + b = cmd[i]; + for(j = 0; j < 8; j++) { + if(b & 1) { + // Sequence X + Sequence(SEC_X); + last = 1; + } else { + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + } + b >>= 1; + + } + + // Predefined parity bit, the flipper flips when needed, because of flips in byte sent + if(((parity >> (len - i - 1)) & 1)) { + // Sequence X + Sequence(SEC_X); + last = 1; + } else { + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + } + } + + // End of Communication + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + // Sequence Y + Sequence(SEC_Y); + + // Just to be sure! + Sequence(SEC_Y); + Sequence(SEC_Y); + Sequence(SEC_Y); + + // Convert from last character reference to length + ToSendMax++; +} + +//----------------------------------------------------------------------------- +// Code a 7-bit command without parity bit +// This is especially for 0x26 and 0x52 (REQA and WUPA) +//----------------------------------------------------------------------------- +void ShortFrameFromReader(const BYTE *cmd) +{ + int j; + int last; + BYTE b; + + ToSendReset(); + + // Start of Communication (Seq. Z) + Sequence(SEC_Z); + last = 0; + + b = cmd[0]; + for(j = 0; j < 7; j++) { + if(b & 1) { + // Sequence X + Sequence(SEC_X); + last = 1; + } else { + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + } + b >>= 1; + } + + // End of Communication + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + // Sequence Y + Sequence(SEC_Y); + + // Just to be sure! + Sequence(SEC_Y); + Sequence(SEC_Y); + Sequence(SEC_Y); + + // Convert from last character reference to length + ToSendMax++; +} + +//----------------------------------------------------------------------------- +// Prepare reader command to send to FPGA +// +//----------------------------------------------------------------------------- +void CodeIso14443aAsReader(const BYTE *cmd, int len) +{ + int i, j; + int last; + int oddparity; + BYTE b; + + ToSendReset(); + + // Start of Communication (Seq. Z) + Sequence(SEC_Z); + last = 0; + + for(i = 0; i < len; i++) { + // Data bits + b = cmd[i]; + oddparity = 0x01; + for(j = 0; j < 8; j++) { + oddparity ^= (b & 1); + if(b & 1) { + // Sequence X + Sequence(SEC_X); + last = 1; + } else { + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + } + b >>= 1; + } + + // Parity bit + if(oddparity) { + // Sequence X + Sequence(SEC_X); + last = 1; + } else { + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + } + } + + // End of Communication + if(last == 0) { + // Sequence Z + Sequence(SEC_Z); + } + else { + // Sequence Y + Sequence(SEC_Y); + last = 0; + } + // Sequence Y + Sequence(SEC_Y); + + // Just to be sure! + Sequence(SEC_Y); + Sequence(SEC_Y); + Sequence(SEC_Y); + + // Convert from last character reference to length + ToSendMax++; +} + + +//----------------------------------------------------------------------------- +// Wait a certain time for tag response +// If a response is captured return TRUE +// If it takes to long return FALSE +//----------------------------------------------------------------------------- +static BOOL GetIso14443aAnswerFromTag(BYTE *receivedResponse, int maxLen, int *samples, int *elapsed) //BYTE *buffer +{ + // buffer needs to be 512 bytes + int c; + + // Set FPGA mode to "simulated ISO 14443 tag", no modulation (listen + // only, since we are receiving, not transmitting). + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_LISTEN); + + // Now get the answer from the card + Demod.output = receivedResponse; + Demod.len = 0; + Demod.state = DEMOD_UNSYNCD; + + BYTE b; + *elapsed = 0; + + c = 0; + for(;;) { + WDT_HIT(); + + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x00; // To make use of exact timing of next command from reader!! + (*elapsed)++; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + if(c < 512) { c++; } else { return FALSE; } + b = (BYTE)SSC_RECEIVE_HOLDING; + if(ManchesterDecoding((b & 0xf0) >> 4)) { + *samples = ((c - 1) << 3) + 4; + return TRUE; + } + if(ManchesterDecoding(b & 0x0f)) { + *samples = c << 3; + return TRUE; + } + } + } +} + +//----------------------------------------------------------------------------- +// Read an ISO 14443a tag. Send out commands and store answers. +// +//----------------------------------------------------------------------------- +void ReaderIso14443a(DWORD parameter) +{ + // Anticollision + static const BYTE cmd1[] = { 0x52 }; // or 0x26 + static const BYTE cmd2[] = { 0x93,0x20 }; + // UID = 0x2a,0x69,0x8d,0x43,0x8d, last two bytes are CRC bytes + BYTE cmd3[] = { 0x93,0x70,0x2a,0x69,0x8d,0x43,0x8d,0x52,0x55 }; + + // For Ultralight add an extra anticollission layer -> 95 20 and then 95 70 + + // greg - here we will add our cascade level 2 anticolission and select functions to deal with ultralight // and 7-byte UIDs in generall... + BYTE cmd4[] = {0x95,0x20}; // ask for cascade 2 select + // 95 20 + //BYTE cmd3a[] = { 0x95,0x70,0x2a,0x69,0x8d,0x43,0x8d,0x52,0x55 }; + // 95 70 + + // cascade 2 select + BYTE cmd5[] = { 0x95,0x70,0x2a,0x69,0x8d,0x43,0x8d,0x52,0x55 }; + + + // RATS (request for answer to select) + //BYTE cmd6[] = { 0xe0,0x50,0xbc,0xa5 }; // original RATS + BYTE cmd6[] = { 0xe0,0x21,0xb2,0xc7 }; // Desfire RATS + + int reqaddr = 2024; // was 2024 - tied to other size changes + int reqsize = 60; + + BYTE *req1 = (((BYTE *)BigBuf) + reqaddr); + int req1Len; + + BYTE *req2 = (((BYTE *)BigBuf) + reqaddr + reqsize); + int req2Len; + + BYTE *req3 = (((BYTE *)BigBuf) + reqaddr + (reqsize * 2)); + int req3Len; + +// greg added req 4 & 5 to deal with cascade 2 section + BYTE *req4 = (((BYTE *)BigBuf) + reqaddr + (reqsize * 3)); + int req4Len; + + BYTE *req5 = (((BYTE *)BigBuf) + reqaddr + (reqsize * 4)); + int req5Len; + + BYTE *req6 = (((BYTE *)BigBuf) + reqaddr + (reqsize * 5)); + int req6Len; + + //BYTE *req7 = (((BYTE *)BigBuf) + reqaddr + (reqsize * 6)); + //int req7Len; + + BYTE *receivedAnswer = (((BYTE *)BigBuf) + 3560); // was 3560 - tied to other size changes + + BYTE *trace = (BYTE *)BigBuf; + int traceLen = 0; + int rsamples = 0; + + memset(trace, 0x44, 2000); // was 2000 - tied to oter size chnages + // setting it to 3000 causes no tag responses to be detected (2900 is ok) + // setting it to 1000 causes no tag responses to be detected + + // Prepare some commands! + ShortFrameFromReader(cmd1); + memcpy(req1, ToSend, ToSendMax); req1Len = ToSendMax; + + CodeIso14443aAsReader(cmd2, sizeof(cmd2)); + memcpy(req2, ToSend, ToSendMax); req2Len = ToSendMax; + + CodeIso14443aAsReader(cmd3, sizeof(cmd3)); + memcpy(req3, ToSend, ToSendMax); req3Len = ToSendMax; + + + CodeIso14443aAsReader(cmd4, sizeof(cmd4)); // 4 is cascade 2 request + memcpy(req4, ToSend, ToSendMax); req4Len = ToSendMax; + + + CodeIso14443aAsReader(cmd5, sizeof(cmd5)); // 5 is cascade 2 select + memcpy(req5, ToSend, ToSendMax); req5Len = ToSendMax; + + + CodeIso14443aAsReader(cmd6, sizeof(cmd6)); + memcpy(req6, ToSend, ToSendMax); req6Len = ToSendMax; + + // Setup SSC + FpgaSetupSsc(); + + // Start from off (no field generated) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + // Now give it time to spin up. + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + SpinDelay(200); + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); + + int samples = 0; + int tsamples = 0; + int wait = 0; + int elapsed = 0; + + for(;;) { + // Send WUPA (or REQA) + TransmitFor14443a(req1, req1Len, &tsamples, &wait); + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 1; + memcpy(trace+traceLen, cmd1, 1); + traceLen += 1; + if(traceLen > TRACE_LENGTH) goto done; + + while(!GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + if(BUTTON_PRESS()) goto done; + + // No answer, just continue polling + TransmitFor14443a(req1, req1Len, &tsamples, &wait); + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 1; + memcpy(trace+traceLen, cmd1, 1); + traceLen += 1; + if(traceLen > TRACE_LENGTH) goto done; + } + + // Store answer in buffer + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + + // Ask for card UID + TransmitFor14443a(req2, req2Len, &tsamples, &wait); + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 2; + memcpy(trace+traceLen, cmd2, 2); + traceLen += 2; + if(traceLen > TRACE_LENGTH) goto done; + + if(!GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + continue; + } + + // Store answer in buffer + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + + // Construct SELECT UID command + // First copy the 5 bytes (Mifare Classic) after the 93 70 + memcpy(cmd3+2,receivedAnswer,5); + // Secondly compute the two CRC bytes at the end + ComputeCrc14443(CRC_14443_A, cmd3, 7, &cmd3[7], &cmd3[8]); + // Prepare the bit sequence to modulate the subcarrier + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 9; + memcpy(trace+traceLen, cmd3, 9); + traceLen += 9; + if(traceLen > TRACE_LENGTH) goto done; + CodeIso14443aAsReader(cmd3, sizeof(cmd3)); + memcpy(req3, ToSend, ToSendMax); req3Len = ToSendMax; + + // Select the card + TransmitFor14443a(req3, req3Len, &samples, &wait); + if(!GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + continue; + } + + // Store answer in buffer + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + +// OK we have selected at least at cascade 1, lets see if first byte of UID was 0x88 in +// which case we need to make a cascade 2 request and select - this is a long UID + if (receivedAnswer[0] = 0x88) + { + // Do cascade level 2 stuff + /////////////////////////////////////////////////////////////////// + // First issue a '95 20' identify request + // Ask for card UID (part 2) + TransmitFor14443a(req4, req4Len, &tsamples, &wait); + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 2; + memcpy(trace+traceLen, cmd4, 2); + traceLen += 2; + if(traceLen > TRACE_LENGTH) { + DbpString("Bugging out, just popped tracelength"); + goto done;} + + if(!GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + continue; + } + // Store answer in buffer + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + ////////////////////////////////////////////////////////////////// + // Then Construct SELECT UID (cascasde 2) command + DbpString("Just about to copy the UID out of the cascade 2 id req"); + // First copy the 5 bytes (Mifare Classic) after the 95 70 + memcpy(cmd5+2,receivedAnswer,5); + // Secondly compute the two CRC bytes at the end + ComputeCrc14443(CRC_14443_A, cmd4, 7, &cmd5[7], &cmd5[8]); + // Prepare the bit sequence to modulate the subcarrier + // Store answer in buffer + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 9; + memcpy(trace+traceLen, cmd5, 9); + traceLen += 9; + if(traceLen > TRACE_LENGTH) goto done; + CodeIso14443aAsReader(cmd5, sizeof(cmd5)); + memcpy(req5, ToSend, ToSendMax); req5Len = ToSendMax; + + // Select the card + TransmitFor14443a(req4, req4Len, &samples, &wait); + if(!GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + continue; + } + + // Store answer in buffer + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + + + + + + + } + + + + // Secondly compute the two CRC bytes at the end + ComputeCrc14443(CRC_14443_A, cmd5, 2, &cmd5[2], &cmd5[3]); + // Send authentication request (Mifare Classic) + TransmitFor14443a(req5, req5Len, &samples, &wait); + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; trace[traceLen++] = 0; + trace[traceLen++] = 4; + memcpy(trace+traceLen, cmd5, 4); + traceLen += 4; + if(traceLen > TRACE_LENGTH) goto done; + if(GetIso14443aAnswerFromTag(receivedAnswer, 100, &samples, &elapsed)) { + rsamples++; + // We received probably a random, continue and trace! + } + else { + // Received nothing + continue; + } + + // Trace the random, i'm curious + rsamples = rsamples + (samples - Demod.samples); + trace[traceLen++] = ((rsamples >> 0) & 0xff); + trace[traceLen++] = ((rsamples >> 8) & 0xff); + trace[traceLen++] = ((rsamples >> 16) & 0xff); + trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); + trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); + trace[traceLen++] = Demod.len; + memcpy(trace+traceLen, receivedAnswer, Demod.len); + traceLen += Demod.len; + if(traceLen > TRACE_LENGTH) goto done; + + // Thats it... + } + +done: + LED_A_OFF(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); + DbpIntegers(rsamples, 0xCC, 0xCC); + DbpString("ready.."); +} diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c new file mode 100644 index 00000000..2592cbfe --- /dev/null +++ b/armsrc/iso15693.c @@ -0,0 +1,1226 @@ +//----------------------------------------------------------------------------- +// Routines to support ISO 15693. This includes both the reader software and +// the `fake tag' modes, but at the moment I've implemented only the reader +// stuff, and that barely. +// Jonathan Westhues, split Nov 2006 + +// Modified by Greg Jones, Jan 2009 to perform modulation onboard in arm rather than on PC +// Also added additional reader commands (SELECT, READ etc.) + +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" +#include <stdio.h> +#include <stdlib.h> + +// FROM winsrc\prox.h ////////////////////////////////// +#define arraylen(x) (sizeof(x)/sizeof((x)[0])) + +//----------------------------------------------------------------------------- +// Map a sequence of octets (~layer 2 command) into the set of bits to feed +// to the FPGA, to transmit that command to the tag. +//----------------------------------------------------------------------------- + + + + + // The sampling rate is 106.353 ksps/s, for T = 18.8 us + + // SOF defined as + // 1) Unmodulated time of 56.64us + // 2) 24 pulses of 423.75khz + // 3) logic '1' (unmodulated for 18.88us followed by 8 pulses of 423.75khz) + + static const int FrameSOF[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, + 1, 1, 1, 1 + }; + static const int Logic0[] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1 + }; + static const int Logic1[] = { + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, + 1, 1, 1, 1 + }; + + // EOF defined as + // 1) logic '0' (8 pulses of 423.75khz followed by unmodulated for 18.88us) + // 2) 24 pulses of 423.75khz + // 3) Unmodulated time of 56.64us + + static const int FrameEOF[] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + }; + + + + +static void CodeIso15693AsReader(BYTE *cmd, int n) +{ + int i, j; + + ToSendReset(); + + // Give it a bit of slack at the beginning + for(i = 0; i < 24; i++) { + ToSendStuffBit(1); + } + + ToSendStuffBit(0); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(0); + ToSendStuffBit(1); + ToSendStuffBit(1); + for(i = 0; i < n; i++) { + for(j = 0; j < 8; j += 2) { + int these = (cmd[i] >> j) & 3; + switch(these) { + case 0: + ToSendStuffBit(1); + ToSendStuffBit(0); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + break; + case 1: + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(0); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + break; + case 2: + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(0); + ToSendStuffBit(1); + ToSendStuffBit(1); + break; + case 3: + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(0); + break; + } + } + } + ToSendStuffBit(1); + ToSendStuffBit(1); + ToSendStuffBit(0); + ToSendStuffBit(1); + + // And slack at the end, too. + for(i = 0; i < 24; i++) { + ToSendStuffBit(1); + } +} + +//----------------------------------------------------------------------------- +// The CRC used by ISO 15693. +//----------------------------------------------------------------------------- +static WORD Crc(BYTE *v, int n) +{ + DWORD reg; + int i, j; + + reg = 0xffff; + for(i = 0; i < n; i++) { + reg = reg ^ ((DWORD)v[i]); + for (j = 0; j < 8; j++) { + if (reg & 0x0001) { + reg = (reg >> 1) ^ 0x8408; + } else { + reg = (reg >> 1); + } + } + } + + return ~reg; +} + +////////////////////////////////////////// code to do 'itoa' + + + +/* reverse: reverse string s in place */ +void reverse(char s[]) +{ + int c, i, j; + + for (i = 0, j = strlen(s)-1; i<j; i++, j--) { + c = s[i]; + s[i] = s[j]; + s[j] = c; + } +} + +/* itoa: convert n to characters in s */ +void itoa(int n, char s[]) +{ + int i, sign; + + if ((sign = n) < 0) /* record sign */ + n = -n; /* make n positive */ + i = 0; + do { /* generate digits in reverse order */ + s[i++] = n % 10 + '0'; /* get next digit */ + } while ((n /= 10) > 0); /* delete it */ + if (sign < 0) + s[i++] = '-'; + s[i] = '\0'; + reverse(s); +} + +//////////////////////////////////////// END 'itoa' CODE + + +//----------------------------------------------------------------------------- +// Encode (into the ToSend buffers) an identify request, which is the first +// thing that you must send to a tag to get a response. +//----------------------------------------------------------------------------- +static void BuildIdentifyRequest(void) +{ + BYTE cmd[5]; + + WORD crc; + // one sub-carrier, inventory, 1 slot, fast rate + // AFI is at bit 5 (1<<4) when doing an INVENTORY + cmd[0] = (1 << 2) | (1 << 5) | (1 << 1); + // inventory command code + cmd[1] = 0x01; + // no mask + cmd[2] = 0x00; + //Now the CRC + crc = Crc(cmd, 3); + cmd[3] = crc & 0xff; + cmd[4] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +static void BuildSysInfoRequest(BYTE *uid) +{ + BYTE cmd[12]; + + WORD crc; + // If we set the Option_Flag in this request, the VICC will respond with the secuirty status of the block + // followed by teh block data + // one sub-carrier, inventory, 1 slot, fast rate + cmd[0] = (1 << 5) | (1 << 1); // no SELECT bit + // System Information command code + cmd[1] = 0x2B; + // UID may be optionally specified here + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; // always e0 (not exactly unique) + //Now the CRC + crc = Crc(cmd, 10); // the crc needs to be calculated over 2 bytes + cmd[10] = crc & 0xff; + cmd[11] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +static void BuildSelectRequest( BYTE uid[]) +{ + +// uid[6]=0x31; // this is getting ignored - the uid array is not happening... + BYTE cmd[12]; + + WORD crc; + // one sub-carrier, inventory, 1 slot, fast rate + //cmd[0] = (1 << 2) | (1 << 5) | (1 << 1); // INVENTROY FLAGS + cmd[0] = (1 << 4) | (1 << 5) | (1 << 1); // Select and addressed FLAGS + // SELECT command code + cmd[1] = 0x25; + // 64-bit UID +// cmd[2] = uid[0];//0x32; +// cmd[3]= uid[1];//0x4b; +// cmd[4] = uid[2];//0x03; +// cmd[5] = uid[3];//0x01; +// cmd[6] = uid[4];//0x00; +// cmd[7] = uid[5];//0x10; +// cmd[8] = uid[6];//0x05; + cmd[2] = 0x32;// + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; // infineon? + + cmd[9]= 0xe0; // always e0 (not exactly unique) + +// DbpIntegers(cmd[8],cmd[7],cmd[6]); + // Now the CRC + crc = Crc(cmd, 10); // the crc needs to be calculated over 10 bytes + cmd[10] = crc & 0xff; + cmd[11] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +static void BuildReadBlockRequest(BYTE *uid, BYTE blockNumber ) +{ + BYTE cmd[13]; + + WORD crc; + // If we set the Option_Flag in this request, the VICC will respond with the secuirty status of the block + // followed by teh block data + // one sub-carrier, inventory, 1 slot, fast rate + cmd[0] = (1 << 6)| (1 << 5) | (1 << 1); // no SELECT bit + // READ BLOCK command code + cmd[1] = 0x20; + // UID may be optionally specified here + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; // always e0 (not exactly unique) + // Block number to read + cmd[10] = blockNumber;//0x00; + //Now the CRC + crc = Crc(cmd, 11); // the crc needs to be calculated over 2 bytes + cmd[11] = crc & 0xff; + cmd[12] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + + +static void BuildReadMultiBlockRequest(BYTE *uid) +{ + BYTE cmd[14]; + + WORD crc; + // If we set the Option_Flag in this request, the VICC will respond with the secuirty status of the block + // followed by teh block data + // one sub-carrier, inventory, 1 slot, fast rate + cmd[0] = (1 << 5) | (1 << 1); // no SELECT bit + // READ Multi BLOCK command code + cmd[1] = 0x23; + // UID may be optionally specified here + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; // always e0 (not exactly unique) + // First Block number to read + cmd[10] = 0x00; + // Number of Blocks to read + cmd[11] = 0x2f; // read quite a few + //Now the CRC + crc = Crc(cmd, 12); // the crc needs to be calculated over 2 bytes + cmd[12] = crc & 0xff; + cmd[13] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +static void BuildArbitraryRequest(BYTE *uid,BYTE CmdCode) +{ + BYTE cmd[14]; + + WORD crc; + // If we set the Option_Flag in this request, the VICC will respond with the secuirty status of the block + // followed by teh block data + // one sub-carrier, inventory, 1 slot, fast rate + cmd[0] = (1 << 5) | (1 << 1); // no SELECT bit + // READ BLOCK command code + cmd[1] = CmdCode; + // UID may be optionally specified here + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; // always e0 (not exactly unique) + // Parameter + cmd[10] = 0x00; + cmd[11] = 0x0a; + +// cmd[12] = 0x00; +// cmd[13] = 0x00; //Now the CRC + crc = Crc(cmd, 12); // the crc needs to be calculated over 2 bytes + cmd[12] = crc & 0xff; + cmd[13] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +static void BuildArbitraryCustomRequest(BYTE *uid,BYTE CmdCode) +{ + BYTE cmd[14]; + + WORD crc; + // If we set the Option_Flag in this request, the VICC will respond with the secuirty status of the block + // followed by teh block data + // one sub-carrier, inventory, 1 slot, fast rate + cmd[0] = (1 << 5) | (1 << 1); // no SELECT bit + // READ BLOCK command code + cmd[1] = CmdCode; + // UID may be optionally specified here + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; // always e0 (not exactly unique) + // Parameter + cmd[10] = 0x05; // for custom codes this must be manufcturer code + cmd[11] = 0x00; + +// cmd[12] = 0x00; +// cmd[13] = 0x00; //Now the CRC + crc = Crc(cmd, 12); // the crc needs to be calculated over 2 bytes + cmd[12] = crc & 0xff; + cmd[13] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + +///////////////////////////////////////////////////////////////////////// +// Now the VICC>VCD responses when we are simulating a tag +//////////////////////////////////////////////////////////////////// + + static void BuildInventoryResponse(void) +{ + BYTE cmd[12]; + + WORD crc; + // one sub-carrier, inventory, 1 slot, fast rate + // AFI is at bit 5 (1<<4) when doing an INVENTORY + cmd[0] = 0; //(1 << 2) | (1 << 5) | (1 << 1); + cmd[1] = 0; + // 64-bit UID + cmd[2] = 0x32; + cmd[3]= 0x4b; + cmd[4] = 0x03; + cmd[5] = 0x01; + cmd[6] = 0x00; + cmd[7] = 0x10; + cmd[8] = 0x05; + cmd[9]= 0xe0; + //Now the CRC + crc = Crc(cmd, 10); + cmd[10] = crc & 0xff; + cmd[11] = crc >> 8; + + CodeIso15693AsReader(cmd, sizeof(cmd)); +} + + +//----------------------------------------------------------------------------- +// Transmit the command (to the tag) that was placed in ToSend[]. +//----------------------------------------------------------------------------- +static void TransmitTo15693Tag(const BYTE *cmd, int len, int *samples, int *wait) +{ + int c; + +// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); + if(*wait < 10) { *wait = 10; } + +// for(c = 0; c < *wait;) { +// if(SSC_STATUS & (SSC_STATUS_TX_READY)) { +// SSC_TRANSMIT_HOLDING = 0x00; // For exact timing! +// c++; +// } +// if(SSC_STATUS & (SSC_STATUS_RX_READY)) { +// volatile DWORD r = SSC_RECEIVE_HOLDING; +// (void)r; +// } +// WDT_HIT(); +// } + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = cmd[c]; + c++; + if(c >= len) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + *samples = (c + *wait) << 3; +} + + +//----------------------------------------------------------------------------- +// Transmit the command (to the reader) that was placed in ToSend[]. +//----------------------------------------------------------------------------- +static void TransmitTo15693Reader(const BYTE *cmd, int len, int *samples, int *wait) +{ + int c; + +// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR); // No requirement to energise my coils + if(*wait < 10) { *wait = 10; } + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = cmd[c]; + c++; + if(c >= len) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + *samples = (c + *wait) << 3; +} + + + + + + +static int GetIso15693AnswerFromTag(BYTE *receivedResponse, int maxLen, int *samples, int *elapsed) +{ + int c = 0; + BYTE *dest = (BYTE *)BigBuf; + int getNext = 0; + + + SBYTE prev = 0; + +// NOW READ RESPONSE + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + //spindelay(60); // greg - experiment to get rid of some of the 0 byte/failed reads + c = 0; + getNext = FALSE; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + SBYTE b; + b = (SBYTE)SSC_RECEIVE_HOLDING; + + // The samples are correlations against I and Q versions of the + // tone that the tag AM-modulates, so every other sample is I, + // every other is Q. We just want power, so abs(I) + abs(Q) is + // close to what we want. + if(getNext) { + SBYTE r; + + if(b < 0) { + r = -b; + } else { + r = b; + } + if(prev < 0) { + r -= prev; + } else { + r += prev; + } + + dest[c++] = (BYTE)r; + + if(c >= 2000) { + break; + } + } else { + prev = b; + } + + getNext = !getNext; + } + } + +////////////////////////////////////////// +/////////// DEMODULATE /////////////////// +////////////////////////////////////////// + + int i, j; + int max = 0, maxPos; + + int skip = 4; + + +// if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL + + // First, correlate for SOF + for(i = 0; i < 100; i++) { + int corr = 0; + for(j = 0; j < arraylen(FrameSOF); j += skip) { + corr += FrameSOF[j]*dest[i+(j/skip)]; + } + if(corr > max) { + max = corr; + maxPos = i; + } + } +// DbpString("SOF at %d, correlation %d", maxPos,max/(arraylen(FrameSOF)/skip)); + + int k = 0; // this will be our return value + + // greg - If correlation is less than 1 then there's little point in continuing + if ((max/(arraylen(FrameSOF)/skip)) >= 1) + { + + i = maxPos + arraylen(FrameSOF)/skip; + + BYTE outBuf[20]; + memset(outBuf, 0, sizeof(outBuf)); + BYTE mask = 0x01; + for(;;) { + int corr0 = 0, corr1 = 0, corrEOF = 0; + for(j = 0; j < arraylen(Logic0); j += skip) { + corr0 += Logic0[j]*dest[i+(j/skip)]; + } + for(j = 0; j < arraylen(Logic1); j += skip) { + corr1 += Logic1[j]*dest[i+(j/skip)]; + } + for(j = 0; j < arraylen(FrameEOF); j += skip) { + corrEOF += FrameEOF[j]*dest[i+(j/skip)]; + } + // Even things out by the length of the target waveform. + corr0 *= 4; + corr1 *= 4; + + if(corrEOF > corr1 && corrEOF > corr0) { +// DbpString("EOF at %d", i); + break; + } else if(corr1 > corr0) { + i += arraylen(Logic1)/skip; + outBuf[k] |= mask; + } else { + i += arraylen(Logic0)/skip; + } + mask <<= 1; + if(mask == 0) { + k++; + mask = 0x01; + } + if((i+(int)arraylen(FrameEOF)) >= 2000) { + DbpString("ran off end!"); + break; + } + } + if(mask != 0x01) { + DbpString("error, uneven octet! (discard extra bits!)"); +/// DbpString(" mask=%02x", mask); + } +// BYTE str1 [8]; +// itoa(k,str1); +// strcat(str1," octets read"); + +// DbpString( str1); // DbpString("%d octets", k); + +// for(i = 0; i < k; i+=3) { +// //DbpString("# %2d: %02x ", i, outBuf[i]); +// DbpIntegers(outBuf[i],outBuf[i+1],outBuf[i+2]); +// } + + for(i = 0; i < k; i++) { + receivedResponse[i] = outBuf[i]; + } + } // "end if correlation > 0" (max/(arraylen(FrameSOF)/skip)) + return k; // return the number of bytes demodulated + +/// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2)); + + +} + +// Now the GetISO15693 message from sniffing command +static int GetIso15693AnswerFromSniff(BYTE *receivedResponse, int maxLen, int *samples, int *elapsed) +{ + int c = 0; + BYTE *dest = (BYTE *)BigBuf; + int getNext = 0; + + + SBYTE prev = 0; + +// NOW READ RESPONSE + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + //spindelay(60); // greg - experiment to get rid of some of the 0 byte/failed reads + c = 0; + getNext = FALSE; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + SBYTE b; + b = (SBYTE)SSC_RECEIVE_HOLDING; + + // The samples are correlations against I and Q versions of the + // tone that the tag AM-modulates, so every other sample is I, + // every other is Q. We just want power, so abs(I) + abs(Q) is + // close to what we want. + if(getNext) { + SBYTE r; + + if(b < 0) { + r = -b; + } else { + r = b; + } + if(prev < 0) { + r -= prev; + } else { + r += prev; + } + + dest[c++] = (BYTE)r; + + if(c >= 20000) { + break; + } + } else { + prev = b; + } + + getNext = !getNext; + } + } + +////////////////////////////////////////// +/////////// DEMODULATE /////////////////// +////////////////////////////////////////// + + int i, j; + int max = 0, maxPos; + + int skip = 4; + + +// if(GraphTraceLen < 1000) return; // THIS CHECKS FOR A BUFFER TO SMALL + + // First, correlate for SOF + for(i = 0; i < 19000; i++) { + int corr = 0; + for(j = 0; j < arraylen(FrameSOF); j += skip) { + corr += FrameSOF[j]*dest[i+(j/skip)]; + } + if(corr > max) { + max = corr; + maxPos = i; + } + } +// DbpString("SOF at %d, correlation %d", maxPos,max/(arraylen(FrameSOF)/skip)); + + int k = 0; // this will be our return value + + // greg - If correlation is less than 1 then there's little point in continuing + if ((max/(arraylen(FrameSOF)/skip)) >= 1) // THIS SHOULD BE 1 + { + + i = maxPos + arraylen(FrameSOF)/skip; + + BYTE outBuf[20]; + memset(outBuf, 0, sizeof(outBuf)); + BYTE mask = 0x01; + for(;;) { + int corr0 = 0, corr1 = 0, corrEOF = 0; + for(j = 0; j < arraylen(Logic0); j += skip) { + corr0 += Logic0[j]*dest[i+(j/skip)]; + } + for(j = 0; j < arraylen(Logic1); j += skip) { + corr1 += Logic1[j]*dest[i+(j/skip)]; + } + for(j = 0; j < arraylen(FrameEOF); j += skip) { + corrEOF += FrameEOF[j]*dest[i+(j/skip)]; + } + // Even things out by the length of the target waveform. + corr0 *= 4; + corr1 *= 4; + + if(corrEOF > corr1 && corrEOF > corr0) { +// DbpString("EOF at %d", i); + break; + } else if(corr1 > corr0) { + i += arraylen(Logic1)/skip; + outBuf[k] |= mask; + } else { + i += arraylen(Logic0)/skip; + } + mask <<= 1; + if(mask == 0) { + k++; + mask = 0x01; + } + if((i+(int)arraylen(FrameEOF)) >= 2000) { + DbpString("ran off end!"); + break; + } + } + if(mask != 0x01) { + DbpString("error, uneven octet! (discard extra bits!)"); +/// DbpString(" mask=%02x", mask); + } +// BYTE str1 [8]; +// itoa(k,str1); +// strcat(str1," octets read"); + +// DbpString( str1); // DbpString("%d octets", k); + +// for(i = 0; i < k; i+=3) { +// //DbpString("# %2d: %02x ", i, outBuf[i]); +// DbpIntegers(outBuf[i],outBuf[i+1],outBuf[i+2]); +// } + + for(i = 0; i < k; i++) { + receivedResponse[i] = outBuf[i]; + } + } // "end if correlation > 0" (max/(arraylen(FrameSOF)/skip)) + return k; // return the number of bytes demodulated + +/// DbpString("CRC=%04x", Iso15693Crc(outBuf, k-2)); + + +} + + + +//----------------------------------------------------------------------------- +// Start to read an ISO 15693 tag. We send an identify request, then wait +// for the response. The response is not demodulated, just left in the buffer +// so that it can be downloaded to a PC and processed there. +//----------------------------------------------------------------------------- +void AcquireRawAdcSamplesIso15693(void) +{ + int c = 0; + BYTE *dest = (BYTE *)BigBuf; + int getNext = 0; + + SBYTE prev = 0; + + BuildIdentifyRequest(); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + // Give the tags time to energize + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + SpinDelay(100); + + // Now send the command + FpgaSetupSsc(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); + + c = 0; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = ToSend[c]; + c++; + if(c == ToSendMax+3) { + break; + } + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + volatile DWORD r = SSC_RECEIVE_HOLDING; + (void)r; + } + WDT_HIT(); + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + + c = 0; + getNext = FALSE; + for(;;) { + if(SSC_STATUS & (SSC_STATUS_TX_READY)) { + SSC_TRANSMIT_HOLDING = 0x43; + } + if(SSC_STATUS & (SSC_STATUS_RX_READY)) { + SBYTE b; + b = (SBYTE)SSC_RECEIVE_HOLDING; + + // The samples are correlations against I and Q versions of the + // tone that the tag AM-modulates, so every other sample is I, + // every other is Q. We just want power, so abs(I) + abs(Q) is + // close to what we want. + if(getNext) { + SBYTE r; + + if(b < 0) { + r = -b; + } else { + r = b; + } + if(prev < 0) { + r -= prev; + } else { + r += prev; + } + + dest[c++] = (BYTE)r; + + if(c >= 2000) { + break; + } + } else { + prev = b; + } + + getNext = !getNext; + } + } +} + + + +//----------------------------------------------------------------------------- +// Simulate an ISO15693 reader, perform anti-collision and then attempt to read a sector +// all demodulation performed in arm rather than host. - greg +//----------------------------------------------------------------------------- +void ReaderIso15693(DWORD parameter) +{ + LED_A_ON(); + LED_B_ON(); + LED_C_OFF(); + LED_D_OFF(); + + +//DbpString(parameter); + + BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much) + BYTE *receivedAnswer1 = (((BYTE *)BigBuf) + 3660); // + BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760); + BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860); + //BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader + int responseLen0 = 0; + int responseLen1 = 0; + int responseLen2 = 0; + int responseLen3 = 0; + + // Blank arrays + int j; + for(j = 0; j < 100; j++) { + receivedAnswer3[j] = 0; + receivedAnswer2[j] =0; + receivedAnswer1[j] = 0; + receivedAnswer0[j] = 0; + } + + // Setup SSC + FpgaSetupSsc(); + + // Start from off (no field generated) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + // Give the tags time to energize + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); + SpinDelay(200); + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); + + int samples = 0; + int tsamples = 0; + int wait = 0; + int elapsed = 0; + + // FIRST WE RUN AN INVENTORY TO GET THE TAG UID + // THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME + BYTE TagUID[7]; // where we hold the uid for hi15reader + + +// BuildIdentifyRequest(); +// //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); +// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 +// // Now wait for a response +// responseLen0 = GetIso15693AnswerFromTag(receivedAnswer0, 100, &samples, &elapsed) ; +// if (responseLen0 >=12) // we should do a better check than this +// { +// // really we should check it is a valid mesg +// // but for now just grab what we think is the uid +// TagUID[0] = receivedAnswer0[2]; +// TagUID[1] = receivedAnswer0[3]; +// TagUID[2] = receivedAnswer0[4]; +// TagUID[3] = receivedAnswer0[5]; +// TagUID[4] = receivedAnswer0[6]; +// TagUID[5] = receivedAnswer0[7]; +// TagUID[6] = receivedAnswer0[8]; // IC Manufacturer code +// DbpIntegers(TagUID[6],TagUID[5],TagUID[4]); +//} + + // Now send the IDENTIFY command + BuildIdentifyRequest(); + //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); + TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 + // Now wait for a response + responseLen1 = GetIso15693AnswerFromTag(receivedAnswer1, 100, &samples, &elapsed) ; + + if (responseLen1 >=12) // we should do a better check than this + { + + TagUID[0] = receivedAnswer1[2]; + TagUID[1] = receivedAnswer1[3]; + TagUID[2] = receivedAnswer1[4]; + TagUID[3] = receivedAnswer1[5]; + TagUID[4] = receivedAnswer1[6]; + TagUID[5] = receivedAnswer1[7]; + TagUID[6] = receivedAnswer1[8]; // IC Manufacturer code + + // Now send the SELECT command + BuildSelectRequest(*TagUID); + TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 + // Now wait for a response + responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed); + + // Now send the MULTI READ command +// BuildArbitraryRequest(*TagUID,parameter); + BuildArbitraryCustomRequest(*TagUID,parameter); +// BuildReadBlockRequest(*TagUID,parameter); +// BuildSysInfoRequest(*TagUID); + //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); + TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 + // Now wait for a response + responseLen3 = GetIso15693AnswerFromTag(receivedAnswer3, 100, &samples, &elapsed) ; + + } + + + + BYTE str1 [4]; + //char str2 [200]; + int i; + + itoa(responseLen1,str1); + strcat(str1," octets read from IDENTIFY request"); + DbpString(str1); + for(i = 0; i < responseLen1; i+=3) { + DbpIntegers(receivedAnswer1[i],receivedAnswer1[i+1],receivedAnswer1[i+2]); + } + + itoa(responseLen2,str1); + strcat(str1," octets read from SELECT request"); + DbpString(str1); + for(i = 0; i < responseLen2; i+=3) { + DbpIntegers(receivedAnswer2[i],receivedAnswer2[i+1],receivedAnswer2[i+2]); + } + + itoa(responseLen3,str1); + strcat(str1," octets read from XXX request"); + DbpString(str1); + for(i = 0; i < responseLen3; i+=3) { + DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]); + } + + +// str2[0]=0; +// for(i = 0; i < responseLen3; i++) { +// itoa(str1,receivedAnswer3[i]); +// strcat(str2,str1); +// } +// DbpString(str2); + + LED_A_OFF(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); + + +} + + + +//----------------------------------------------------------------------------- +// Simulate an ISO15693 TAG, perform anti-collision and then print any reader commands +// all demodulation performed in arm rather than host. - greg +//----------------------------------------------------------------------------- +void SimTagIso15693(DWORD parameter) +{ + LED_A_ON(); + LED_B_ON(); + LED_C_OFF(); + LED_D_OFF(); + + +//DbpString(parameter); + + BYTE *receivedAnswer0 = (((BYTE *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much) + BYTE *receivedAnswer1 = (((BYTE *)BigBuf) + 3660); // + BYTE *receivedAnswer2 = (((BYTE *)BigBuf) + 3760); + BYTE *receivedAnswer3 = (((BYTE *)BigBuf) + 3860); + //BYTE *TagUID= (((BYTE *)BigBuf) + 3960); // where we hold the uid for hi15reader + int responseLen0 = 0; + int responseLen1 = 0; + int responseLen2 = 0; + int responseLen3 = 0; + + // Blank arrays + int j; + for(j = 0; j < 100; j++) { + receivedAnswer3[j] = 0; + receivedAnswer2[j] =0; + receivedAnswer1[j] = 0; + receivedAnswer0[j] = 0; + } + + // Setup SSC + FpgaSetupSsc(); + + // Start from off (no field generated) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); + + // Give the tags time to energize +// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); // NO GOOD FOR SIM TAG!!!! + SpinDelay(200); + + LED_A_OFF(); + LED_B_OFF(); + LED_C_ON(); + LED_D_OFF(); + + int samples = 0; + int tsamples = 0; + int wait = 0; + int elapsed = 0; + + // FIRST WE RUN AN INVENTORY TO GET THE TAG UID + // THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME + BYTE TagUID[7]; // where we hold the uid for hi15reader + + + + // Now send the IDENTIFY command +// BuildIdentifyRequest(); +// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 + + + // Now wait for a command from the reader + responseLen1=0; +// while(responseLen1=0) { +// if(BUTTON_PRESS()) break; + responseLen1 = GetIso15693AnswerFromSniff(receivedAnswer1, 100, &samples, &elapsed) ; +// } + + + if (responseLen1 >=1) // we should do a better check than this + { + // Build a suitable reponse to the reader INVENTORY cocmmand + BuildInventoryResponse; + TransmitTo15693Reader(ToSend,ToSendMax,&tsamples, &wait); + + // Now wait for a command from the reader +// responseLen2 = GetIso15693AnswerFromTag(receivedAnswer2, 100, &samples, &elapsed); + + + // Now wait for a command from the reader +// responseLen3 = GetIso15693AnswerFromTag(receivedAnswer3, 100, &samples, &elapsed) ; + + } + + + + BYTE str1 [4]; + //char str2 [200]; + int i; + + itoa(responseLen1,str1); + strcat(str1," octets read from reader command"); + DbpString(str1); + for(i = 0; i < responseLen1; i+=3) { + DbpIntegers(receivedAnswer1[i],receivedAnswer1[i+1],receivedAnswer1[i+2]); + } + +// itoa(responseLen2,str1); +// strcat(str1," octets read from SELECT request"); +// DbpString(str1); +// for(i = 0; i < responseLen2; i+=3) { +// DbpIntegers(receivedAnswer2[i],receivedAnswer2[i+1],receivedAnswer2[i+2]); +// } +// +// itoa(responseLen3,str1); +// strcat(str1," octets read from XXX request"); +// DbpString(str1); +// for(i = 0; i < responseLen3; i+=3) { +// DbpIntegers(receivedAnswer3[i],receivedAnswer3[i+1],receivedAnswer3[i+2]); +// } + + +// str2[0]=0; +// for(i = 0; i < responseLen3; i++) { +// itoa(str1,receivedAnswer3[i]); +// strcat(str2,str1); +// } +// DbpString(str2); + + LED_A_OFF(); + LED_B_OFF(); + LED_C_OFF(); + LED_D_OFF(); + + +} \ No newline at end of file diff --git a/armsrc/ldscript b/armsrc/ldscript new file mode 100644 index 00000000..ac0fe2bd --- /dev/null +++ b/armsrc/ldscript @@ -0,0 +1,11 @@ +SECTIONS +{ + . = 0x00010000; + .text : { obj/start.o(.text) *(.text) } + .rodata : { *(.rodata) } + . = 0x00200000; + .data : { *(.data) } + __bss_start__ = .; + .bss : { *(.bss) } + __bss_end__ = .; +} diff --git a/armsrc/ldscript-fpga b/armsrc/ldscript-fpga new file mode 100644 index 00000000..da8b1a21 --- /dev/null +++ b/armsrc/ldscript-fpga @@ -0,0 +1,11 @@ +SECTIONS +{ + . = 0x00002000; + .text : { obj/fpgaimg.o(.text) *(.text) } + .rodata : { *(.rodata) } + . = 0x00200000; + .data : { *(.data) } + __bss_start__ = .; + .bss : { *(.bss) } + __bss_end__ = .; +} diff --git a/armsrc/start.c b/armsrc/start.c new file mode 100644 index 00000000..52296fc2 --- /dev/null +++ b/armsrc/start.c @@ -0,0 +1,12 @@ +//----------------------------------------------------------------------------- +// Just vector to AppMain(). This is in its own file so that I can place it +// with the linker script. +// Jonathan Westhues, Mar 2006 +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" + +void Vector(void) +{ + AppMain(); +} diff --git a/armsrc/util.c b/armsrc/util.c new file mode 100644 index 00000000..b3f0e76e --- /dev/null +++ b/armsrc/util.c @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------------- +// Utility functions used in many places, not specific to any piece of code. +// Jonathan Westhues, Sept 2005 +//----------------------------------------------------------------------------- +#include <proxmark3.h> +#include "apps.h" + +void *memcpy(void *dest, const void *src, int len) +{ + BYTE *d = dest; + const BYTE *s = src; + while((len--) > 0) { + *d = *s; + d++; + s++; + } + return dest; +} + +void *memset(void *dest, int c, int len) +{ + BYTE *d = dest; + while((len--) > 0) { + *d = c; + d++; + } + return dest; +} + +int memcmp(const void *av, const void *bv, int len) +{ + const BYTE *a = av; + const BYTE *b = bv; + + while((len--) > 0) { + if(*a != *b) { + return *a - *b; + } + a++; + b++; + } + return 0; +} + +int strlen(char *str) +{ + int l = 0; + while(*str) { + l++; + str++; + } + return l; +} diff --git a/bootrom/Makefile b/bootrom/Makefile new file mode 100644 index 00000000..e18737c3 --- /dev/null +++ b/bootrom/Makefile @@ -0,0 +1,58 @@ +CC = arm-elf-gcc +AS = arm-elf-as +LD = arm-elf-ld +OBJCOPY = arm-elf-objcopy + +OBJDIR = obj + +INCLUDE = -I../include + +INCLUDES = ../include/proxmark3.h ../include/at91sam7s128.h ../include/config_gpio.h ../include/usb_cmd.h + +CFLAGS = -g -c $(INCLUDE) -Wall + +OBJJTAG = $(OBJDIR)/bootrom.o $(OBJDIR)/ram-reset.o $(OBJDIR)/usb.o + +OBJFLASH = $(OBJDIR)/flash-reset.o $(OBJDIR)/fromflash.o + +all: bootrom.s19 + +bootrom.s19: $(OBJDIR)/bootrom.s19 $(OBJDIR)/bootrom-forjtag.s19 + @echo bootrom.s19 + @perl ..\tools\merge-srec.pl $(OBJDIR)\bootrom.s19 $(OBJDIR)\bootrom-forjtag.s19 > $(OBJDIR)\bootrom-merged.s19 + @perl ..\tools\srecswap.pl $(OBJDIR)\bootrom-forjtag.s19 > $(OBJDIR)\bootrom-forjtag-swapped.s19 + +$(OBJDIR)/bootrom.s19: $(OBJFLASH) + @echo obj/bootrom.s19 + @$(LD) -g -Tldscript-flash --oformat elf32-littlearm -o $(OBJDIR)/bootrom.elf $(OBJFLASH) + @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)/bootrom.elf $(OBJDIR)/bootrom.s19 + +$(OBJDIR)/bootrom-forjtag.s19: $(OBJJTAG) + @echo obj/bootrom-forjtag.s19 + @$(LD) -g -Tldscript-ram-jtag --oformat elf32-littlearm -o $(OBJDIR)/bootrom-forjtag.elf $(OBJJTAG) + @$(OBJCOPY) -Osrec --srec-forceS3 $(OBJDIR)/bootrom-forjtag.elf $(OBJDIR)/bootrom-forjtag.s19 + +$(OBJDIR)/bootrom.o: bootrom.c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork bootrom.c -o $(OBJDIR)/bootrom.o + +$(OBJDIR)/fromflash.o: fromflash.c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork fromflash.c -o $(OBJDIR)/fromflash.o + +$(OBJDIR)/usb.o: ../common/usb.c $(INCLUDES) + @echo $(@B).c + @$(CC) $(CFLAGS) -mthumb -mthumb-interwork ../common/usb.c -o $(OBJDIR)/usb.o + +$(OBJDIR)/ram-reset.o: ram-reset.s + @echo $(@B).s + @$(CC) $(CFLAGS) -mthumb-interwork -o $(OBJDIR)/ram-reset.o ram-reset.s + +$(OBJDIR)/flash-reset.o: flash-reset.s + @echo $(@B).s + @$(CC) $(CFLAGS) -mthumb-interwork -o $(OBJDIR)/flash-reset.o flash-reset.s + +clean: + del /q obj\*.o + del /q obj\*.elf + del /q obj\*.s19 diff --git a/bootrom/bootrom.c b/bootrom/bootrom.c new file mode 100644 index 00000000..c654db29 --- /dev/null +++ b/bootrom/bootrom.c @@ -0,0 +1,190 @@ +#include <proxmark3.h> + +static void ConfigClocks(void) +{ + // we are using a 16 MHz crystal as the basis for everything + // slow clock runs at 32Khz typical regardless of crystal + + // enable system clock and USB clock + PMC_SYS_CLK_ENABLE = PMC_SYS_CLK_PROCESSOR_CLK | PMC_SYS_CLK_UDP_CLK; + + // enable the clock to the following peripherals + PMC_PERIPHERAL_CLK_ENABLE = + (1<<PERIPH_PIOA) | + (1<<PERIPH_ADC) | + (1<<PERIPH_SPI) | + (1<<PERIPH_SSC) | + (1<<PERIPH_PWMC) | + (1<<PERIPH_UDP); + + // worst case scenario, with 16Mhz xtal startup delay is 14.5ms + // with a slow clock running at it worst case (max) frequency of 42khz + // max startup delay = (14.5ms*42k)/8 = 76 = 0x4C round up to 0x50 + + // enable main oscillator and set startup delay + PMC_MAIN_OSCILLATOR = PMC_MAIN_OSCILLATOR_ENABLE | + PMC_MAIN_OSCILLATOR_STARTUP_DELAY(0x50); + + // wait for main oscillator to stabilize + while ( !(PMC_INTERRUPT_STATUS & PMC_MAIN_OSCILLATOR_STABILIZED) ) + ; + + // minimum PLL clock frequency is 80 MHz in range 00 (96 here so okay) + // frequency is crystal * multiplier / divisor = 16Mhz * 12 / 2 = 96Mhz + PMC_PLL = PMC_PLL_DIVISOR(2) | PMC_PLL_COUNT_BEFORE_LOCK(0x50) | + PMC_PLL_FREQUENCY_RANGE(0) | PMC_PLL_MULTIPLIER(12) | + PMC_PLL_USB_DIVISOR(1); + + // wait for PLL to lock + while ( !(PMC_INTERRUPT_STATUS & PMC_MAIN_OSCILLATOR_PLL_LOCK) ) + ; + + // we want a master clock (MCK) to be PLL clock / 2 = 96Mhz / 2 = 48Mhz + // as per datasheet, this register must be programmed in two operations + // when changing to PLL, program the prescaler first then the source + PMC_MASTER_CLK = PMC_CLK_PRESCALE_DIV_2; + + // wait for main clock ready signal + while ( !(PMC_INTERRUPT_STATUS & PMC_MAIN_OSCILLATOR_MCK_READY) ) + ; + + // set the source to PLL + PMC_MASTER_CLK = PMC_CLK_SELECTION_PLL_CLOCK | PMC_CLK_PRESCALE_DIV_2; + + // wait for main clock ready signal + while ( !(PMC_INTERRUPT_STATUS & PMC_MAIN_OSCILLATOR_MCK_READY) ) + ; +} + +static void Fatal(void) +{ + for(;;); +} + +void UsbPacketReceived(BYTE *packet, int len) +{ + int i; + UsbCommand *c = (UsbCommand *)packet; + volatile DWORD *p; + + if(len != sizeof(*c)) { + Fatal(); + } + + switch(c->cmd) { + case CMD_DEVICE_INFO: + break; + + case CMD_SETUP_WRITE: + p = (volatile DWORD *)0; + for(i = 0; i < 12; i++) { + p[i+c->ext1] = c->d.asDwords[i]; + } + break; + + case CMD_FINISH_WRITE: + p = (volatile DWORD *)0; + for(i = 0; i < 4; i++) { + p[i+60] = c->d.asDwords[i]; + } + + MC_FLASH_COMMAND = MC_FLASH_COMMAND_KEY | + MC_FLASH_COMMAND_PAGEN(c->ext1/FLASH_PAGE_SIZE_BYTES) | + FCMD_WRITE_PAGE; + while(!(MC_FLASH_STATUS & MC_FLASH_STATUS_READY)) + ; + break; + + case CMD_HARDWARE_RESET: + break; + + default: + Fatal(); + break; + } + + c->cmd = CMD_ACK; + UsbSendPacket(packet, len); +} + +void BootROM(void) +{ + //------------ + // First set up all the I/O pins; GPIOs configured directly, other ones + // just need to be assigned to the appropriate peripheral. + + // Kill all the pullups, especially the one on USB D+; leave them for + // the unused pins, though. + PIO_NO_PULL_UP_ENABLE = (1 << GPIO_USB_PU) | + (1 << GPIO_LED_A) | + (1 << GPIO_LED_B) | + (1 << GPIO_LED_C) | + (1 << GPIO_LED_D) | + (1 << GPIO_FPGA_DIN) | + (1 << GPIO_FPGA_DOUT) | + (1 << GPIO_FPGA_CCLK) | + (1 << GPIO_FPGA_NINIT) | + (1 << GPIO_FPGA_NPROGRAM) | + (1 << GPIO_FPGA_DONE) | + (1 << GPIO_MUXSEL_HIPKD) | + (1 << GPIO_MUXSEL_HIRAW) | + (1 << GPIO_MUXSEL_LOPKD) | + (1 << GPIO_MUXSEL_LORAW) | + (1 << GPIO_RELAY) | + (1 << GPIO_NVDD_ON); + // (and add GPIO_FPGA_ON) + // These pins are outputs + PIO_OUTPUT_ENABLE = (1 << GPIO_LED_A) | + (1 << GPIO_LED_B) | + (1 << GPIO_LED_C) | + (1 << GPIO_LED_D) | + (1 << GPIO_RELAY) | + (1 << GPIO_NVDD_ON); + // PIO controls the following pins + PIO_ENABLE = (1 << GPIO_USB_PU) | + (1 << GPIO_LED_A) | + (1 << GPIO_LED_B) | + (1 << GPIO_LED_C) | + (1 << GPIO_LED_D); + + USB_D_PLUS_PULLUP_OFF(); + LED_D_OFF(); + LED_C_ON(); + LED_B_OFF(); + LED_A_OFF(); + + // if 512K FLASH part - TODO make some defines :) + if ((DBGU_CIDR | 0xf00) == 0xa00) { + MC_FLASH_MODE0 = MC_FLASH_MODE_FLASH_WAIT_STATES(1) | + MC_FLASH_MODE_MASTER_CLK_IN_MHZ(0x48); + MC_FLASH_MODE1 = MC_FLASH_MODE_FLASH_WAIT_STATES(1) | + MC_FLASH_MODE_MASTER_CLK_IN_MHZ(0x48); + } else { + MC_FLASH_MODE0 = MC_FLASH_MODE_FLASH_WAIT_STATES(0) | + MC_FLASH_MODE_MASTER_CLK_IN_MHZ(48); + } + + // Initialize all system clocks + ConfigClocks(); + + LED_A_ON(); + + if(BUTTON_PRESS()) { + UsbStart(); + } + + for(;;) { + WDT_HIT(); + + UsbPoll(TRUE); + + if(!BUTTON_PRESS()) { + USB_D_PLUS_PULLUP_OFF(); + LED_B_ON(); + + // jump to RAM address 0x10000 (LSBit set for thumb mode) + asm("ldr r3, = 0x10001\n"); + asm("bx r3\n"); + } + } +} diff --git a/bootrom/flash-reset.s b/bootrom/flash-reset.s new file mode 100644 index 00000000..afb658a4 --- /dev/null +++ b/bootrom/flash-reset.s @@ -0,0 +1,38 @@ +.extern CopyBootToRAM + +.text +.code 32 +.align 0 + +.global start +start: + b Reset + b UndefinedInstruction + b SoftwareInterrupt + b PrefetchAbort + b DataAbort + b Reserved + b Irq + b Fiq + +Reset: + ldr sp, = 0x0020FFF8 @ initialize stack pointer to top of RAM + bl CopyBootToRAM @ copy bootloader to RAM (in case the + @ user re-flashes the bootloader) + ldr r3, = 0x00200000 @ start address of RAM bootloader + bx r3 @ jump to it + +Fiq: + b Fiq +UndefinedInstruction: + b UndefinedInstruction +SoftwareInterrupt: + b SoftwareInterrupt +PrefetchAbort: + b PrefetchAbort +DataAbort: + b DataAbort +Reserved: + b Reserved +Irq: + b Irq diff --git a/bootrom/fromflash.c b/bootrom/fromflash.c new file mode 100644 index 00000000..e6868092 --- /dev/null +++ b/bootrom/fromflash.c @@ -0,0 +1,11 @@ +#include <proxmark3.h> + +void CopyBootToRAM(void) +{ + int i; + + volatile DWORD *s = (volatile DWORD *)0x200; + volatile DWORD *d = (volatile DWORD *)0x200000; + + for(i = 0; i < 1024; i++) *d++ = *s++; +} diff --git a/bootrom/ldscript-flash b/bootrom/ldscript-flash new file mode 100644 index 00000000..0d5d7325 --- /dev/null +++ b/bootrom/ldscript-flash @@ -0,0 +1,11 @@ +SECTIONS +{ + . = 0x00000000; + .text : { obj/flash-reset.o(.text) *(.text) } + .rodata : { *(.rodata) } + . = 0x00200000; + .data : { *(.data) } + __bss_start__ = .; + .bss : { *(.bss) } + __bss_end__ = .; +} diff --git a/bootrom/ldscript-ram-jtag b/bootrom/ldscript-ram-jtag new file mode 100644 index 00000000..5dd57061 --- /dev/null +++ b/bootrom/ldscript-ram-jtag @@ -0,0 +1,10 @@ +SECTIONS +{ + . = 0x00200000; + .text : { obj/ram-reset.o(.text) *(.text) } + .rodata : { *(.rodata) } + .data : { *(.data) } + __bss_start__ = .; + .bss : { *(.bss) } + __bss_end__ = .; +} diff --git a/bootrom/ram-reset.s b/bootrom/ram-reset.s new file mode 100644 index 00000000..56bf36e3 --- /dev/null +++ b/bootrom/ram-reset.s @@ -0,0 +1,10 @@ +.extern BootROM + +.text +.code 32 +.align 0 + +.global start +start: + ldr sp, = 0x0020FFF8 + bl BootROM diff --git a/cockpit/0setpath.bat b/cockpit/0setpath.bat new file mode 100644 index 00000000..5010957b --- /dev/null +++ b/cockpit/0setpath.bat @@ -0,0 +1,5 @@ +@echo off +set PATH=..\..\devkitARM\bin;..\..\devkitWIN\bin;%PATH% +set INCLUDE=..\..\devkitWIN\include +set LIB=..\..\devkitWIN\lib +cmd.exe \ No newline at end of file diff --git a/cockpit/1makearm.bat b/cockpit/1makearm.bat new file mode 100644 index 00000000..a8ecb6e4 --- /dev/null +++ b/cockpit/1makearm.bat @@ -0,0 +1,5 @@ +@echo off +cd ..\armsrc +rem nmake clean +nmake +cd ..\cockpit diff --git a/cockpit/2makeboot.bat b/cockpit/2makeboot.bat new file mode 100644 index 00000000..a56fcfe0 --- /dev/null +++ b/cockpit/2makeboot.bat @@ -0,0 +1,5 @@ +@echo off +cd ..\bootrom +rem nmake clean +nmake +cd ..\cockpit diff --git a/cockpit/3makewin.bat b/cockpit/3makewin.bat new file mode 100644 index 00000000..82228e32 --- /dev/null +++ b/cockpit/3makewin.bat @@ -0,0 +1,5 @@ +@echo off +cd ..\winsrc +rem nmake clean +nmake +cd ..\cockpit diff --git a/cockpit/4flashos.bat b/cockpit/4flashos.bat new file mode 100644 index 00000000..6f226184 --- /dev/null +++ b/cockpit/4flashos.bat @@ -0,0 +1,3 @@ +@echo off +..\winsrc\prox.exe load ..\armsrc\obj\osimage.s19 +..\winsrc\prox.exe load ..\armsrc\obj\osimage.s19 diff --git a/cockpit/5makeall.bat b/cockpit/5makeall.bat new file mode 100644 index 00000000..072393d9 --- /dev/null +++ b/cockpit/5makeall.bat @@ -0,0 +1,3 @@ +call 1makearm.bat +call 2makeboot.bat +call 3makewin.bat diff --git a/cockpit/prox.bat b/cockpit/prox.bat new file mode 100644 index 00000000..06b24edc --- /dev/null +++ b/cockpit/prox.bat @@ -0,0 +1,3 @@ +@echo off +cd ..\winsrc +call prox gui \ No newline at end of file diff --git a/common/iso14443_crc.c b/common/iso14443_crc.c new file mode 100644 index 00000000..cf29d0e0 --- /dev/null +++ b/common/iso14443_crc.c @@ -0,0 +1,35 @@ +//----------------------------------------------------------------------------- +// Routines to compute the CRCs (two different flavours, just for confusion) +// required for ISO 14443, swiped directly from the spec. +//----------------------------------------------------------------------------- + +#define CRC_14443_A 0x6363 /* ITU-V.41 */ +#define CRC_14443_B 0xFFFF /* ISO/IEC 13239 (formerly ISO/IEC 3309) */ + +static unsigned short UpdateCrc14443(unsigned char ch, unsigned short *lpwCrc) +{ + ch = (ch ^ (unsigned char) ((*lpwCrc) & 0x00FF)); + ch = (ch ^ (ch << 4)); + *lpwCrc = (*lpwCrc >> 8) ^ ((unsigned short) ch << 8) ^ + ((unsigned short) ch << 3) ^ ((unsigned short) ch >> 4); + return (*lpwCrc); +} + +static void ComputeCrc14443(int CrcType, BYTE *Data, int Length, + BYTE *TransmitFirst, BYTE *TransmitSecond) +{ + unsigned char chBlock; + unsigned short wCrc=CrcType; + + do { + chBlock = *Data++; + UpdateCrc14443(chBlock, &wCrc); + } while (--Length); + + if (CrcType == CRC_14443_B) + wCrc = ~wCrc; /* ISO/IEC 13239 (formerly ISO/IEC 3309) */ + + *TransmitFirst = (BYTE) (wCrc & 0xFF); + *TransmitSecond = (BYTE) ((wCrc >> 8) & 0xFF); + return; +} diff --git a/common/usb.c b/common/usb.c new file mode 100644 index 00000000..f0b95291 --- /dev/null +++ b/common/usb.c @@ -0,0 +1,472 @@ +//----------------------------------------------------------------------------- +// My USB driver. This has to be common, because it exists in both the +// bootrom and the application. +// Jonathan Westhues, split Aug 14 2005 +//----------------------------------------------------------------------------- +#include <proxmark3.h> + +#define min(a, b) (((a) > (b)) ? (b) : (a)) + +#define USB_REPORT_PACKET_SIZE 64 + +typedef struct PACKED { + BYTE bmRequestType; + BYTE bRequest; + WORD wValue; + WORD wIndex; + WORD wLength; +} UsbSetupData; + +#define USB_REQUEST_GET_STATUS 0 +#define USB_REQUEST_CLEAR_FEATURE 1 +#define USB_REQUEST_SET_FEATURE 3 +#define USB_REQUEST_SET_ADDRESS 5 +#define USB_REQUEST_GET_DESCRIPTOR 6 +#define USB_REQUEST_SET_DESCRIPTOR 7 +#define USB_REQUEST_GET_CONFIGURATION 8 +#define USB_REQUEST_SET_CONFIGURATION 9 +#define USB_REQUEST_GET_INTERFACE 10 +#define USB_REQUEST_SET_INTERFACE 11 +#define USB_REQUEST_SYNC_FRAME 12 + +#define USB_DESCRIPTOR_TYPE_DEVICE 1 +#define USB_DESCRIPTOR_TYPE_CONFIGURATION 2 +#define USB_DESCRIPTOR_TYPE_STRING 3 +#define USB_DESCRIPTOR_TYPE_INTERFACE 4 +#define USB_DESCRIPTOR_TYPE_ENDPOINT 5 +#define USB_DESCRIPTOR_TYPE_DEVICE_QUALIFIER 6 +#define USB_DESCRIPTOR_TYPE_OTHER_SPEED_CONF 7 +#define USB_DESCRIPTOR_TYPE_INTERFACE_POWER 8 +#define USB_DESCRIPTOR_TYPE_HID 0x21 +#define USB_DESCRIPTOR_TYPE_HID_REPORT 0x22 + +#define USB_DEVICE_CLASS_HID 0x03 + +static const BYTE HidReportDescriptor[] = { + 0x06,0xA0,0xFF, // Usage Page (vendor defined) FFA0 + 0x09,0x01, // Usage (vendor defined) + 0xA1,0x01, // Collection (Application) + 0x09,0x02, // Usage (vendor defined) + 0xA1,0x00, // Collection (Physical) + 0x06,0xA1,0xFF, // Usage Page (vendor defined) + + //The,input report + 0x09,0x03, // usage - vendor defined + 0x09,0x04, // usage - vendor defined + 0x15,0x80, // Logical Minimum (-128) + 0x25,0x7F, // Logical Maximum (127) + 0x35,0x00, // Physical Minimum (0) + 0x45,0xFF, // Physical Maximum (255) + 0x75,0x08, // Report Size (8) (bits) + 0x95,0x40, // Report Count (64) (fields) + 0x81,0x02, // Input (Data,Variable,Absolute) + + //The,output report + 0x09,0x05, // usage - vendor defined + 0x09,0x06, // usage - vendor defined + 0x15,0x80, // Logical Minimum (-128) + 0x25,0x7F, // Logical Maximum (127) + 0x35,0x00, // Physical Minimum (0) + 0x45,0xFF, // Physical Maximum (255) + 0x75,0x08, // Report Size (8) (bits) + 0x95,0x40, // Report Count (64) (fields) + 0x91,0x02, // Output (Data,Variable,Absolute) + + 0xC0, // End Collection + + 0xC0, // End Collection +}; + +static const BYTE DeviceDescriptor[] = { + 0x12, // Descriptor length (18 bytes) + 0x01, // Descriptor type (Device) + 0x10,0x01, // Complies with USB Spec. Release (0110h = release 1.10) + 0x00, // Class code (0) + 0x00, // Subclass code (0) + 0x00, // Protocol (No specific protocol) + 0x08, // Maximum packet size for Endpoint 0 (8 bytes) + 0xc4,0x9a, // Vendor ID (random numbers) + 0x8f,0x4b, // Product ID (random numbers) + 0x01,0x00, // Device release number (0001) + 0x01, // Manufacturer string descriptor index + 0x02, // Product string descriptor index + 0x00, // Serial Number string descriptor index (None) + 0x01, // Number of possible configurations (1) +}; + +static const BYTE ConfigurationDescriptor[] = { + 0x09, // Descriptor length (9 bytes) + 0x02, // Descriptor type (Configuration) + 0x29,0x00, // Total data length (41 bytes) + 0x01, // Interface supported (1) + 0x01, // Configuration value (1) + 0x00, // Index of string descriptor (None) + 0x80, // Configuration (Bus powered) + 250, // Maximum power consumption (500mA) + + //interface + 0x09, // Descriptor length (9 bytes) + 0x04, // Descriptor type (Interface) + 0x00, // Number of interface (0) + 0x00, // Alternate setting (0) + 0x02, // Number of interface endpoint (2) + 0x03, // Class code (HID) + 0x00, // Subclass code () + 0x00, // Protocol code () + 0x00, // Index of string() + + // class + 0x09, // Descriptor length (9 bytes) + 0x21, // Descriptor type (HID) + 0x00,0x01, // HID class release number (1.00) + 0x00, // Localized country code (None) + 0x01, // # of HID class dscrptr to follow (1) + 0x22, // Report descriptor type (HID) + // Total length of report descriptor + sizeof(HidReportDescriptor),0x00, + + // endpoint 1 + 0x07, // Descriptor length (7 bytes) + 0x05, // Descriptor type (Endpoint) + 0x01, // Encoded address (Respond to OUT) + 0x03, // Endpoint attribute (Interrupt transfer) + 0x08,0x00, // Maximum packet size (8 bytes) + 0x01, // Polling interval (1 ms) + + // endpoint 2 + 0x07, // Descriptor length (7 bytes) + 0x05, // Descriptor type (Endpoint) + 0x82, // Encoded address (Respond to IN) + 0x03, // Endpoint attribute (Interrupt transfer) + 0x08,0x00, // Maximum packet size (8 bytes) + 0x01, // Polling interval (1 ms) +}; + +static const BYTE StringDescriptor0[] = { + 0x04, // Length + 0x03, // Type is string + 0x09, // English + 0x04, // US +}; + +static const BYTE StringDescriptor1[] = { + 24, // Length + 0x03, // Type is string + 'J', 0x00, + '.', 0x00, + ' ', 0x00, + 'W', 0x00, + 'e', 0x00, + 's', 0x00, + 't', 0x00, + 'h', 0x00, + 'u', 0x00, + 'e', 0x00, + 's', 0x00, +}; + +static const BYTE StringDescriptor2[] = { + 54, // Length + 0x03, // Type is string + 'P', 0x00, + 'r', 0x00, + 'o', 0x00, + 'x', 0x00, + 'M', 0x00, + 'a', 0x00, + 'r', 0x00, + 'k', 0x00, + '-', 0x00, + '3', 0x00, + ' ', 0x00, + 'R', 0x00, + 'F', 0x00, + 'I', 0x00, + 'D', 0x00, + ' ', 0x00, + 'I', 0x00, + 'n', 0x00, + 's', 0x00, + 't', 0x00, + 'r', 0x00, + 'u', 0x00, + 'm', 0x00, + 'e', 0x00, + 'n', 0x00, + 't', 0x00, +}; + +static const BYTE * const StringDescriptors[] = { + StringDescriptor0, + StringDescriptor1, + StringDescriptor2, +}; + + +static BYTE UsbBuffer[64]; +static int UsbSoFarCount; + +static BYTE CurrentConfiguration; + +static void UsbSendEp0(const BYTE *data, int len) +{ + int thisTime, i; + + do { + thisTime = min(len, 8); + len -= thisTime; + + for(i = 0; i < thisTime; i++) { + UDP_ENDPOINT_FIFO(0) = *data; + data++; + } + + if(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED) { + UDP_ENDPOINT_CSR(0) &= ~UDP_CSR_TX_PACKET_ACKED; + while(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED) + ; + } + + UDP_ENDPOINT_CSR(0) |= UDP_CSR_TX_PACKET; + + do { + if(UDP_ENDPOINT_CSR(0) & UDP_CSR_RX_PACKET_RECEIVED_BANK_0) { + // This means that the host is trying to write to us, so + // abandon our write to them. + UDP_ENDPOINT_CSR(0) &= ~UDP_CSR_RX_PACKET_RECEIVED_BANK_0; + return; + } + } while(!(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED)); + } while(len > 0); + + if(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED) { + UDP_ENDPOINT_CSR(0) &= ~UDP_CSR_TX_PACKET_ACKED; + while(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED) + ; + } +} + +static void UsbSendZeroLength(void) +{ + UDP_ENDPOINT_CSR(0) |= UDP_CSR_TX_PACKET; + + while(!(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED)) + ; + + UDP_ENDPOINT_CSR(0) &= ~UDP_CSR_TX_PACKET_ACKED; + + while(UDP_ENDPOINT_CSR(0) & UDP_CSR_TX_PACKET_ACKED) + ; +} + +static void HandleRxdSetupData(void) +{ + int i; + UsbSetupData usd; + + for(i = 0; i < sizeof(usd); i++) { + ((BYTE *)&usd)[i] = UDP_ENDPOINT_FIFO(0); + } + + if(usd.bmRequestType & 0x80) { + UDP_ENDPOINT_CSR(0) |= UDP_CSR_CONTROL_DATA_DIR; + while(!(UDP_ENDPOINT_CSR(0) & UDP_CSR_CONTROL_DATA_DIR)) + ; + } + + UDP_ENDPOINT_CSR(0) &= ~UDP_CSR_RX_HAVE_READ_SETUP_DATA; + while(UDP_ENDPOINT_CSR(0) & UDP_CSR_RX_HAVE_READ_SETUP_DATA) + ; + + switch(usd.bRequest) { + case USB_REQUEST_GET_DESCRIPTOR: + if((usd.wValue >> 8) == USB_DESCRIPTOR_TYPE_DEVICE) { + UsbSendEp0((BYTE *)&DeviceDescriptor, + min(sizeof(DeviceDescriptor), usd.wLength)); + } else if((usd.wValue >> 8) == USB_DESCRIPTOR_TYPE_CONFIGURATION) { + UsbSendEp0((BYTE *)&ConfigurationDescriptor, + min(sizeof(ConfigurationDescriptor), usd.wLength)); + } else if((usd.wValue >> 8) == USB_DESCRIPTOR_TYPE_STRING) { + const BYTE *s = StringDescriptors[usd.wValue & 0xff]; + UsbSendEp0(s, min(s[0], usd.wLength)); + } else if((usd.wValue >> 8) == USB_DESCRIPTOR_TYPE_HID_REPORT) { + UsbSendEp0((BYTE *)&HidReportDescriptor, + min(sizeof(HidReportDescriptor), usd.wLength)); + } else { + *((DWORD *)0x00200000) = usd.wValue; + } + break; + + case USB_REQUEST_SET_ADDRESS: + UsbSendZeroLength(); + UDP_FUNCTION_ADDR = UDP_FUNCTION_ADDR_ENABLED | usd.wValue ; + if(usd.wValue != 0) { + UDP_GLOBAL_STATE = UDP_GLOBAL_STATE_ADDRESSED; + } else { + UDP_GLOBAL_STATE = 0; + } + break; + + case USB_REQUEST_GET_CONFIGURATION: + UsbSendEp0(&CurrentConfiguration, sizeof(CurrentConfiguration)); + break; + + case USB_REQUEST_GET_STATUS: { + if(usd.bmRequestType & 0x80) { + WORD w = 0; + UsbSendEp0((BYTE *)&w, sizeof(w)); + } + break; + } + case USB_REQUEST_SET_CONFIGURATION: + CurrentConfiguration = usd.wValue; + if(CurrentConfiguration) { + UDP_GLOBAL_STATE = UDP_GLOBAL_STATE_CONFIGURED; + UDP_ENDPOINT_CSR(1) = UDP_CSR_ENABLE_EP | + UDP_CSR_EPTYPE_INTERRUPT_OUT; + UDP_ENDPOINT_CSR(2) = UDP_CSR_ENABLE_EP | + UDP_CSR_EPTYPE_INTERRUPT_IN; + } else { + UDP_GLOBAL_STATE = UDP_GLOBAL_STATE_ADDRESSED; + UDP_ENDPOINT_CSR(1) = 0; + UDP_ENDPOINT_CSR(2) = 0; + } + UsbSendZeroLength(); + break; + + case USB_REQUEST_GET_INTERFACE: { + BYTE b = 0; + UsbSendEp0(&b, sizeof(b)); + break; + } + + case USB_REQUEST_SET_INTERFACE: + UsbSendZeroLength(); + break; + + case USB_REQUEST_CLEAR_FEATURE: + case USB_REQUEST_SET_FEATURE: + case USB_REQUEST_SET_DESCRIPTOR: + case USB_REQUEST_SYNC_FRAME: + default: + break; + } +} + +void UsbSendPacket(BYTE *packet, int len) +{ + int i, thisTime; + + while(len > 0) { + thisTime = min(len, 8); + + for(i = 0; i < thisTime; i++) { + UDP_ENDPOINT_FIFO(2) = packet[i]; + } + UDP_ENDPOINT_CSR(2) |= UDP_CSR_TX_PACKET; + + while(!(UDP_ENDPOINT_CSR(2) & UDP_CSR_TX_PACKET_ACKED)) + ; + UDP_ENDPOINT_CSR(2) &= ~UDP_CSR_TX_PACKET_ACKED; + + while(UDP_ENDPOINT_CSR(2) & UDP_CSR_TX_PACKET_ACKED) + ; + + len -= thisTime; + packet += thisTime; + } +} + +static void HandleRxdData(void) +{ + int i, len; + + if(UDP_ENDPOINT_CSR(1) & UDP_CSR_RX_PACKET_RECEIVED_BANK_0) { + len = UDP_CSR_BYTES_RECEIVED(UDP_ENDPOINT_CSR(1)); + + for(i = 0; i < len; i++) { + UsbBuffer[UsbSoFarCount] = UDP_ENDPOINT_FIFO(1); + UsbSoFarCount++; + } + + UDP_ENDPOINT_CSR(1) &= ~UDP_CSR_RX_PACKET_RECEIVED_BANK_0; + while(UDP_ENDPOINT_CSR(1) & UDP_CSR_RX_PACKET_RECEIVED_BANK_0) + ; + + if(UsbSoFarCount >= 64) { + UsbPacketReceived(UsbBuffer, UsbSoFarCount); + UsbSoFarCount = 0; + } + } + + if(UDP_ENDPOINT_CSR(1) & UDP_CSR_RX_PACKET_RECEIVED_BANK_1) { + len = UDP_CSR_BYTES_RECEIVED(UDP_ENDPOINT_CSR(1)); + + for(i = 0; i < len; i++) { + UsbBuffer[UsbSoFarCount] = UDP_ENDPOINT_FIFO(1); + UsbSoFarCount++; + } + + UDP_ENDPOINT_CSR(1) &= ~UDP_CSR_RX_PACKET_RECEIVED_BANK_1; + while(UDP_ENDPOINT_CSR(1) & UDP_CSR_RX_PACKET_RECEIVED_BANK_1) + ; + + if(UsbSoFarCount >= 64) { + UsbPacketReceived(UsbBuffer, UsbSoFarCount); + UsbSoFarCount = 0; + } + } +} + +void UsbStart(void) +{ + volatile int i; + + UsbSoFarCount = 0; + + USB_D_PLUS_PULLUP_OFF(); + + for(i = 0; i < 1000000; i++) + ; + + USB_D_PLUS_PULLUP_ON(); + + if(UDP_INTERRUPT_STATUS & UDP_INTERRUPT_END_OF_BUS_RESET) { + UDP_INTERRUPT_CLEAR = UDP_INTERRUPT_END_OF_BUS_RESET; + } +} + +BOOL UsbPoll(BOOL blinkLeds) +{ + BOOL ret = FALSE; + + if(UDP_INTERRUPT_STATUS & UDP_INTERRUPT_END_OF_BUS_RESET) { + UDP_INTERRUPT_CLEAR = UDP_INTERRUPT_END_OF_BUS_RESET; + + // following a reset we should be ready to receive a setup packet + UDP_RESET_ENDPOINT = 0xf; + UDP_RESET_ENDPOINT = 0; + + UDP_FUNCTION_ADDR = UDP_FUNCTION_ADDR_ENABLED; + + UDP_ENDPOINT_CSR(0) = UDP_CSR_EPTYPE_CONTROL | UDP_CSR_ENABLE_EP; + + CurrentConfiguration = 0; + + ret = TRUE; + } + + if(UDP_INTERRUPT_STATUS & UDP_INTERRUPT_ENDPOINT(0)) { + if(UDP_ENDPOINT_CSR(0) & UDP_CSR_RX_HAVE_READ_SETUP_DATA) { + HandleRxdSetupData(); + ret = TRUE; + } + } + + if(UDP_INTERRUPT_STATUS & UDP_INTERRUPT_ENDPOINT(1)) { + HandleRxdData(); + ret = TRUE; + } + + return ret; +} diff --git a/doc/CHANGES.TXT b/doc/CHANGES.TXT new file mode 100644 index 00000000..b209cc03 --- /dev/null +++ b/doc/CHANGES.TXT @@ -0,0 +1,155 @@ +################ +## 2009/03/28 ## +################ +winsrc/command.cpp + Added two new LF commands for tag exploration : + + - askdemod: takes 2 arguments, one is the clock rate, one is the modulation + convention (high mod is 1 or high mod is zero) + + This command demodulates the stream into a binary stream into + the trace buffer (0's and 1's) + + - mandemod: manchester decoding of a bitstream: takes a binary stream from + the trace buffer (see askdemod) and attempts to do manchester decoding + to it. One argument: clock rate. Outputs the bitstream to the scrollback buffer. + + Those two helped me to validate that the unknown tag I had was indeed an EM4100 type of tag + + +################ +## 2008/12/11 ## +################ +bootrom/bootrom.c + Significant changes to bootloader. Use of Chip ID register to detect if running on a SAM7S512 then configure FLASH + waitstates as per SummoningDark's suggestion for a SAM7S512 or SAM7S256. + Deleted idle loops waiting blindly for clocks to settle and now using status registers to detect when clocks are stable. + + ************************* + * IMPORTANT INFORMATION * + ************************************************************************************************************************** + * With this boot code, the device can now only be flashed if button is held down after power on or a software reset. + * The flash procedure is this: + * Hold down button. Either plug in USB or software reset it. _While_holding_down_button_ (red and yellow LEDs are lit) you can + * issue one or more of the "prox bootrom <file>" "prox fpga <file>" "prox load <file>", be sure to hold button down for the + * entire duration of the flash process. Only release the button when flashing is complete and you want to let the board boot. + * This process may be less convenient but it's safer and avoids "unintentional" flashing of the board. + ************************************************************************************************************************** + LED boot sequence now changed, C (red) lights up when boot code jumps from flash to RAM boot code, A (yellow) lights up after + clocks have been initialized, B (green) lights up when jumping from boot code to main code, then D (red led away from the others) + lights up while code is being downloaded to FPGA, then all leds turn off and board is ready for action. + + With these changes the board now boots and is ready to use in about 3 seconds. Also since the USB bus is not initialized + twice (once during boot, then again when the main code runs) unless the button is held down at boot, this seems to avoid + the double USB connect and "USB device not recognized" when device is connected to the USB bus or software reset. + +################ +## 2008/12/06 ## +################ +armsrc/fpga.c + Implemented function SetupSpi() to initialize the Serial Peripheral Interface (SPI) in preparation to adding an LCD to the board. + Changed FpgaWriteConfWord() to use the SPI communication now instead of bit banging the serial data to the FPGA. + +fpga/fpga.v + The FPGA config word serializer required non standard SPI communication (ie for shifting in a 8 bit word, it required a 9th clock + cycle with NCS high to load the word from the shift register to the conf register). This was OK for manually bitbanging it but not + suitable for using SPI comms. The serializer was fixed to load the conf word from the shift register on a NCS lo-hi transition and + not require additional clocking. + +armsrc/fpgaimg.c + Recompiled FPGA code after changes above. + +armsrc/LCD.c + LCD driver for PCF8833 based LCDs like those found on Nokia models 2600,2650,3100,3120,5140,6030,6100,6610,7210,7250 maybe + others. These color LCDs have a resolution of 132x132 and a serial interface. They are very cheap like even down to $2/pc + This LCD driver is a straight rip of that found at http://www.sparkfun.com/datasheets/LCD/Jimbo-Nokia-SAM7-Example.zip with + very small changes, mainly to integrate it and make it compile with our codebase. Also comented out the circle subroutines + to keep the code to integer math only. + +armsrc/fonts.c + Font definition for LCD driver + +armsrc/appmain.c + Fixed a small bug in CmdHIDdemodFSK (added case 4) which prevented reading some tags. When a logic 0 is immediately followed + by the start of the next transmisson (special pattern) a pattern of 4 bit duration lengths is created. + +################ +## 2008/11/27 ## +################ +armsrc/appmain.c + Implemented an HID tag FSK demodulator (CmdHIDdemodFSK) to obtain the tag ID code from the raw sampled waveform. + Implemented CmdHIDsimTAG which takes a 44bit HID tag ID as a hex number then creates the waveform and simulates the tag + +winsrc/command.cpp + Added command "hidfskdemod" that calls CmdHIDdemodFSK, the ARM FSK demodulator for HID tags. + +include/usb-cmd.h + New defines CMD_HID_DEMOD_FSK and CMD_HID_SIM_TAG + +2008/11/25 +common/iso14443_crc.c + Moved CRC calculation code into this file as it's common to both ARM and Windows side. This file is now included as needed. + +################ +## 2008/11/21 ## +################ +armsrc/Makefile + Changes to split up the compilation of the ARM and produce separate S files for the FPGA code and the ARM code. + +armsrc/appmain.c + Replaced some of the hex value params in FpgaWriteConfWord with more explanatory defines. + Changes to the Tune command as it assumes wrong HF capacitor value (130pF) and produces wrong voltage readings. + Combined some of the integer arithmetic statements to improve accuracy slightly, since the voltage divider ratio is not an integer. + Voltage divider resistor network is 10M/240k = ratio of 41.6666 + + Originally the calculation was rounding the ratio down to 41 + 3300 (mV) * 41 * sample_value / 1024 + New calculation without rounding error is + 3300 (mV) * 41.66666 * sample_value / 1024 => 137500 * sample_value / 1024 + + New define BUTTON_PRESS() returns status of button + +armsrc/fpga.c + The current board can only take a X2S30 as there is no larger FPGA in PQFP100 package and + the smaller X2S15 FPGA can't fit the current code. The X2S30 FPGA config is fixed at 336,768 bits + The FPGA code base address and length is hard coded to occupy FLASH region 0x2000 - 0xC470. + +armsrc/ldscript-fpga + New file to place the FPGA code at FLASH address 0x2000 + +bootrom/Makefile + Slight changes, commented out the generation of byteswapped S file, the other S files are generated in the same section of the makefile now. + +bootrom/bootrom.c + Changed some thumb code with a one line ARM code which is clearer and more explicit. Processor runs in ARM mode at reset anyway. + Changed jump to RAM address, used to jump to 0x2000 (now FPGA area), now jumps to 0x10000. + +bootrom/flash-reset.s + Changed name of CMain to CopyBootToRAM. Streamlined reset code, fixed up stack pointer initialization. + +bootrom/fromflash.c + Removed the whole section of initializing clocks, this is redundant as it's being done once we jump to boot code in RAM + All fromflash.c does now is copy the boot code to ram and jumps to it. + +bootrom/ram-reset.s + Fixed up stack pointer initialization that caused crash when using "loread" + +include/at91sam7s128.h + New defines for debug register, lets you identify what processor flavour the code runs on, RAM and FLASH sizes, etc. + +include/proxmark3.h + New useful defines for relay and button + +winsrc/Makefile + Added new define /D_CRT_SECURE_NO_WARNINGS to elliminate a _whole bunch_ of bogus compilation warnings + +winsrc/command.cpp + Changed CmdLosamples to take a numeric argument (number of samples x4 to retrieve from buffer) + New command Quit to exit the program from the GUI command prompt. + +winsrc/gui.cpp + Fixup compilation warnings. + +winsrc/prox.cpp + Tidy up printing to stdout, flashing progress now updates on the same line instead of scrolling up. + New command line parameter to load FPGA image to FLASH. diff --git a/doc/README.TXT b/doc/README.TXT new file mode 100644 index 00000000..f3b49c77 --- /dev/null +++ b/doc/README.TXT @@ -0,0 +1,39 @@ +This is a bare minimum compile environment for the proxmark3 sources. + +CONTENTS + +This bundle contains the ARM cross compiler in devkitARM and a _tiny_ subset +of the Visual C++ 2008 Express Edition in devkitWIN which is the bare minimum +required for compilation of this current source. + +If you plan on further source code development you are strongly encouraged +to download the full Visual C++ 2008 available for free download from +http://www.microsoft.com/express/download/ + +CAVEATS + +There is no provision in this environment for compiling the FPGA source. To +do that you need to download the free (registration required) ISE WebPack +from Xilinx at http://www.xilinx.com/ise/logic_design_prod/webpack.htm +Be warned, the pack is huge, 2Gb download and >4Gb installed. + +USAGE + +First of all run the .msi file in devkitWIN\vcredist_x86 to install the VC++ +redistributables, without these, nmake, cl and link won't run. + +Get a command prompts in the cockpit directory and pretty much run the batch +files in the order they appear: + +0setpath.bat - sets the environment vars for the compile environment +1makearm.bat - compiles the files in armsrc, output files in armsrc\obj +2makeboot.bat - compiles the files in bootrom, output files in bootrom\obj +3makewin.bat - compiles the files in winsrc, output files in winsrc\obj +4flashos.bat - attempts to upload the OS image to the proxmark3 board + +ACKNOWLEDGMENTS + +Thanks to J Westhues for the original proxmark, Roel and the proxmark.org +community. This pack may contain F/OSS or free but copyrighted software +from Xilinx, Microsoft and others. All trademarks are the property of +their respective owners. All rights reserved. diff --git a/doc/component-placement.bmp b/doc/component-placement.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d385431021e8b609fa63282d6d7cbab78eeebac2 GIT binary patch literal 66066 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�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 literal 0 HcmV?d00001 diff --git a/doc/proxmark3.pdf b/doc/proxmark3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..32f34770a783eeb45fb20698ae9d38a296f88dd4 GIT binary patch literal 76335 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�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 literal 0 HcmV?d00001 diff --git a/doc/proxmark3.xls b/doc/proxmark3.xls new file mode 100644 index 0000000000000000000000000000000000000000..c13169cb91cf86f6e0a454fa8100424260c2688c GIT binary patch literal 30208 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 literal 0 HcmV?d00001 diff --git a/doc/schematics.pdf b/doc/schematics.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8ed8470b6c81955604b0854158a752168c4bb9d5 GIT binary patch literal 834286 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%0DSYD?SY!@b6AN5+u(08t)v6+K`fUPllDyFll@&V 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	$(^aIP@9sbc;0@Z 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	q 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 literal 0 HcmV?d00001 diff --git a/doc/system.txt b/doc/system.txt new file mode 100644 index 00000000..a3ae8605 --- /dev/null +++ b/doc/system.txt @@ -0,0 +1,276 @@ + +This is outdated. + +--- + +INTRODUCTION TO THE proxmark3 +============================= + +The proxmark3 device is designed to manipulate RFID tags in a number of +different ways. For example, a proxmark3 can: + + * read a low-frequency (~100 kHz) or high-frequency (13.56 MHz) tag, + including the ISO-standard tags; standards that require + bidirectional communication between the reader and the tag are + not a problem + + * emulate a low- or high-frequency tag, in a way very similar to the + way that a real tag behaves (e.g., it derives its timing from the + incident carrier) + + * eavesdrop on the signals exchanged between another reader and tag + + * measure the resonant frequency of an antenna, to a certain extent + (this is a convenience when building a test setup for the previous + three functions) + +The proxmark3 may be thought of as a direct-sampling software radio. +There is some complication, though, because of the usual dynamic range +issue in dealing with signals in RFID systems (large signal due to +the reader, small signal due to the tag). Some analog processing is +therefore used to fix this before the signal is digitized. (Although, +it is possible to digitize the signal from the antenna directly, with +appropriate population options. It is just not usually a good idea.) + +SYSTEM ARCHITECTURE +=================== + +The ANTENNA sends and receives signals over the air. It is external to +the board; it connects through SV2. Separate pins on the connector are +used for the low- and high-frequency antennas, and the analog receive +paths are separate. The antennas are inductive loops, which are resonated +by on-board capacitors. + +On the transmit side, the antennas are excited by large numbers of +paralleled bus driver buffers. By tri-stating some of the buffers, it +is possible to vary the transmit strength. This may be used to generate +a modulated carrier. The buffers are driven by signals from the FPGA, +as are the output enables. The antennas are excited as series circuits, +which permits a large input power for a relatively small input voltage. + +By driving all of the buffers low, it is possible to make the antenna +look to the receive path like a parallel LC circuit; this provides a +high-voltage output signal. This is typically what will be done when we +are not actively transmitting a carrier (i.e., behaving as a reader). + +On the receive side, there are two possibilities, which are selected by +RLY1. A mechanical relay is used, because the signal from the antenna is +likely to be more positive or negative than the highest or lowest supply +voltages on-board. In the usual case (PEAK-DETECTED mode), the received +signal is peak-detected by an analog circuit, then filtered slightly, +and then digitized by the ADC. This is the case for both the low- and +high-frequency paths, although the details of the circuits for the +two cases are somewhat different. This receive path would typically +be selected when the device is behaving as a reader, or when it is +eavesdropping at close range. + +It is also possible to digitize the signal from the antenna directly (RAW +mode), after passing it through a gain stage. This is more likely to be +useful in reading signals at long range, but the available dynamic range +will be poor, since it is limited by the 8-bit A/D. These modes would be +very appropriate, for example, for the heavily-discussed attacks in which +a tag's ID is learned from the data broadcast by a reader performing an +anticollision loop, because there is no dynamic range problem there. It +would also be possible to program the proxmark3 to receive broadcast AM +radio, with certain changes in component values. + +In either case, an analog signal is digitized by the ADC (IC8), and +from there goes in to the FPGA (IC1). The FPGA is big enough that it +can perform DSP operations itself. For some high-frequency standards, +the subcarriers are fast enough that it would be inconvenient to do all +the math on a general-purpose CPU. The FPGA can therefore correlate for +the desired signal itself, and simply report the total to the ARM. For +low-frequency tags, it probably makes sense just to pass data straight +through to the ARM. + +The FPGA communicates with the ARM through either its SPI port (the ARM +is the master) or its generic synchronous serial port (again, the ARM +is the master). The ARM connects to the outside world over USB. + +DETAILS: POWER DISTRIBUTION +=========================== + +I make a half-hearted attempt to meet the USB power specs; this adds a +bit of complexity. I have not made measurements to determine how close +I come to succeeding, but I think that the suspend current might turn +out to be a pain. + +The +3V3 rail is always powered, whenever we are plugged in to USB. This +is generated by an LDO, which burns a quiescent current of 150 uA +(typical) already. The only thing powered from the +3V3 rail is the ARM, +which can presumably do smart power control when we are in suspend. + +The ARM generates two signals to switch power to the rest of the board: +FPGA_ON, and NVDD_ON. When NVDD_ON goes low, the Vdd rail comes up to +about five volts (the filtered-but-unregulated USB voltage). This powers +most of the analog circuitry, including the ADC and all of the opamps +and comparators in the receive path, and the coil drivers as well. Vdd +also feeds the +3V3-FPGA and +2v5 regulators, which power only the +FPGA. These regulators are enabled by FPGA_ON, so the FPGA is powered +only when NVDD_ON is asserted low, and FPGA_ON is asserted high. + +DETAILS: FPGA +============= + +The FPGA is a Spartan-II. This is a little bit old, but it is widely +available, inexpensive, and five-volt tolerant. For development, the FPGA +is configured over JTAG (SV5). In operation, the FPGA is configured in +slave serial mode by the ARM, from a bitstream stored in the ARM's flash. + +Power to the FPGA is managed by regulators IC13 and IC12, both of which +have shutdown. These generate the FPGA's VCCO (+3v3) and VCCINT (+2v5) +supplies. I am a little bit worried about the power-on surge, since we +run off USB. At the very minimum, the FPGA should not get power until +we have enumerated and requested the full 500 mA available from USB. The +large electrolytic capacitors C37 and C38 will presumably help with this. + +The logic is written in Verilog, of course for webpack. I have structured +the FPGA in terms of `major modes:' the FPGA's `major mode' determines +which of several modules is connected to the FPGA's I/O pins. A separate +module is used for each of the FPGA's function; for example, there is +now a module to read a 125 kHz tag, simulate a 125 kHz tag, transmit to +an ISO 15693 tag, and receive from an ISO 15693 tag. + +DETAILS: ANALOG RECEIVE PATH +============================ + +For `slow' signals, I use an MCP6294 opamp. This has a GBW of 10 MHz, +which is more than enough for the low-frequency stuff, and enough for +all of the subcarrier frequencies that I know of at high frequency. In +practice, the `slow' signals are all the signals following the peak +detector. These signals are usually centred around the generated +voltage Vmid. + +For `fast' signals, I use an AD8052. This is a very fast voltage-feedback +amplifier (~100 MHz GBW). I use it immediately after the antenna for +both the low- and high-frequency cases, as a sort of an ugly LNA. It is +not optimal, but it certainly made the design easy. + +An ordinary CD4066 is used to multiplex the four possible signals +(low/high frequency paths, RAW/PEAK-DETECTED). There is a potential +problem at startup, when the ARM is in reset; there are pull-ups on the +lines that control the mux, so all of the switches turn on. This shorts +the four opamp outputs together through the on-resistance of the switch. +All four outputs float to the same DC voltage with no signal, however, +and the on-resistance of the switches is fairly large, so I don't think +that will be a problem in practice. + +Comparators are used to generate clock signals when the device is +emulating a tag. These clock signals are generated from the signal on the +antenna, and therefore from the signal transmitted by the reader. This +allows us to clock ourselves off the reader, just like a real tag would. +These signals go in to the FPGA. There is a potential problem when the +FPGA is powered down; these outputs might go high and try to power the +FPGA through the protection diodes. My present solution to this is a +couple of resistors, which is not very elegeant. + +The high-frequency peak-detected receive path contains population options +for many features that I do not currently use. A lot of these are just +me guessing that if I provide options for different series and shunt +passives, perhaps it will come in handy in some way. The Zener diodes D10 +and D11 are optional, but may protect the front end from an overvoltage +(which will fry the peak detector diodes) when the `simulated tag' +is read by a powerful reader. + +DETAILS: ANALOG TRANSMIT PATH +============================= + +The coil drivers are just ACT244 bus buffers. I parallel eight of them +for each antenna (eight for the high-frequency antenna, eight for the +low-frequency antenna). This should easily provide a hundred milliamps +coil drive or so, which is more than enough for anything that I imagine +doing with the device. The drivers hit the coil with a square wave +voltage, however, which means that it is only the bandpass filter effect +of a resonant antenna that suppresses the odd harmonics. In practice it +would probably take heroic efforts (high antenna Q) to meet the FCC/CE +harmonic specs; and in practice no one cares. + +The tx strength, given good antenna tuning, is determined by the series +resistors. Choose the ratios to stay within the rated current of the +buffers, and to achieve the desired power ratios by enabling or disabling +nOEs for the desired modulation index. It is useful to populate one of the +resistors as a high value (~10k) for the simulated tag modes; this allows +us to look at the incident carrier without loading the reader very much. + +DETAILS: ARM +============ + +Atmel makes a number of pin-compatible ARMs, with slightly different +peripherals, and different amounts of flash and RAM. It is necessary +to choose a device with enough flash not just for the ARM's program, +but also for the FPGA image (which is loaded by the ARM). + +The ARM is responsible for programming the FPGA. It also supplies a +clock to the FPGA (although the FPGA clock can also run off the 13.56 +MHz clock not used for anything else, which is obviously asynchronous +to anything in the ARM). + +It is necessary to use JTAG to bring the ARM for the first time; at +that point you can load a bootrom, and subsequently load new software +over USB. It might be possible to use the ARM's pre-loaded bootloader +(see datasheet) instead of JTAG, but I wanted the JTAG anyways for +debugging, so I did not bother. I used a Wiggler clone, with Macraigor's +OCD Commander. More expensive tools would work as well. + +USB SOFTWARE +============ + +At present I enumerate as an HID device. This saves me writing a driver, +but it forces me to do interrupt transfers for everything. This limits +speed and is not very elegant. A real USB driver would be nice, maybe +even one that could do stuff like going isochronous to stream samples +from the A/D for processing on the PC. + +PRETENDING TO BE A TAG +====================== + +It is not possible, with the given topology, to open-circuit the antenna +entirely and still look at the signal received on it. The simulated tag +modes must therefore switch between slight loading and heavy loading, +not open- and short-circuts across the antenna, evening though they do +not depend upon the incident carrier for power (just timing information). + +RECEIVING SIGNAL STRAIGHT FROM THE ANTENNAS +=========================================== + +There is a path straight from the antenna to the A/D, bypassing the peak +detector assembly. This goes through a gain stage (just a fast voltage +feedback opamp), and from there straight in to the mux. + +It is necessary to energize the relay to connect these paths. If the +coil is driven (as if to excite and read a tag) while these paths are +connected, then damage will probably result. Most likely the opamp +will fry. + +READING A TAG +============= + +The tag is excited by a carrier transmitted by the reader. This is +generated by IC9 and IC10, using some combination of buffers. The transmit +power is determined by selecting the right combination of PWR_OEx pins; +drive more of them low for more power. This can be used to modulate the +transmitted signal, and thus send information to the tag. + +The received signal from the antenna is first peak-detected, and then +high-pass filtered to reject the unmodulated carrier. The signal is +amplified a bit, and goes in to the A/D mux from there. The A/D is +controlled by the FPGA. For 13.56 MHz tags, it is easiest to do everything +synchronous to the 13.56 MHz carrier. + +INTERFACE FROM THE ARM TO THE FPGA +================================== + +The FPGA and the ARM can communicate in two main ways: using the ARM's +general-purpose synchronous serial port (the SSP), or using the ARM's +SPI port. The SPI port is used to configure the FPGA. The ARM writes a +configuration word to the FPGA, which determines what operation will +be performed (e.g. read 13.56 MHz vs. read 125 kHz vs. read 134 kHz +vs...). The SPI is used exclusively for configuration. + +The SSP is used for actual data sent over the air. The ARM's SSP can +work in slave mode, which means that we can send the data using clocks +generated by the FPGA (either from the PCK0 clock, which the ARM itself +supplies, or from the 13.56 MHz clock, which is certainly not going to +be synchronous to anything in the ARM), which saves synchronizing logic +in the FPGA. The SSP is bi-directional and full-duplex. + diff --git a/fpga/fpga.mpf b/fpga/fpga.mpf new file mode 100644 index 00000000..4a281bca --- /dev/null +++ b/fpga/fpga.mpf @@ -0,0 +1,239 @@ +; +; Copyright Model Technology, a Mentor Graphics +; Corporation company 2003, - All rights reserved. +; +[Library] +std = $MODEL_TECH/../std +ieee = $MODEL_TECH/../ieee +verilog = $MODEL_TECH/../verilog +vital2000 = $MODEL_TECH/../vital2000 +std_developerskit = $MODEL_TECH/../std_developerskit +synopsys = $MODEL_TECH/../synopsys +modelsim_lib = $MODEL_TECH/../modelsim_lib + + +; VHDL Section +unisim = $MODEL_TECH/../xilinx/vhdl/unisim +simprim = $MODEL_TECH/../xilinx/vhdl/simprim +xilinxcorelib = $MODEL_TECH/../xilinx/vhdl/xilinxcorelib +aim = $MODEL_TECH/../xilinx/vhdl/aim +pls = $MODEL_TECH/../xilinx/vhdl/pls +cpld = $MODEL_TECH/../xilinx/vhdl/cpld + +; Verilog Section +unisims_ver = $MODEL_TECH/../xilinx/verilog/unisims_ver +uni9000_ver = $MODEL_TECH/../xilinx/verilog/uni9000_ver +simprims_ver = $MODEL_TECH/../xilinx/verilog/simprims_ver +xilinxcorelib_ver = $MODEL_TECH/../xilinx/verilog/xilinxcorelib_ver +aim_ver = $MODEL_TECH/../xilinx/verilog/aim_ver +cpld_ver = $MODEL_TECH/../xilinx/verilog/cpld_ver + +work = work +[vcom] +; Turn on VHDL-1993 as the default. Normally is off. +VHDL93 = 1 + +; Show source line containing error. Default is off. +; Show_source = 1 + +; Turn off unbound-component warnings. Default is on. +; Show_Warning1 = 0 + +; Turn off process-without-a-wait-statement warnings. Default is on. +; Show_Warning2 = 0 + +; Turn off null-range warnings. Default is on. +; Show_Warning3 = 0 + +; Turn off no-space-in-time-literal warnings. Default is on. +; Show_Warning4 = 0 + +; Turn off multiple-drivers-on-unresolved-signal warnings. Default is on. +; Show_Warning5 = 0 + +; Turn off optimization for IEEE std_logic_1164 package. Default is on. +; Optimize_1164 = 0 + +; Turn on resolving of ambiguous function overloading in favor of the +; "explicit" function declaration (not the one automatically created by +; the compiler for each type declaration). Default is off. + Explicit = 1 + +; Turn off VITAL compliance checking. Default is checking on. +; NoVitalCheck = 1 + +; Ignore VITAL compliance checking errors. Default is to not ignore. +; IgnoreVitalErrors = 1 + +; Turn off VITAL compliance checking warnings. Default is to show warnings. +; Show_VitalChecksWarnings = false + +; Turn off "loading..." messages. Default is messages on. +; Quiet = 1 + +; Turn on some limited synthesis rule compliance checking. Checks only: +; -- signals used (read) by a process must be in the sensitivity list +; CheckSynthesis = 1 + +[vlog] + +; Turn off "loading..." messages. Default is messages on. +; Quiet = 1 + +; Turn on Verilog hazard checking (order-dependent accessing of global vars). +; Default is off. +; Hazard = 1 + +; Turn on converting regular Verilog identifiers to uppercase. Allows case +; insensitivity for module names. Default is no conversion. +; UpCase = 1 + +; Turns on incremental compilation of modules +; Incremental = 1 + +[vsim] +; Simulator resolution +; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100. +Resolution = ps + +; User time unit for run commands +; Set to default, fs, ps, ns, us, ms, or sec. The default is to use the +; unit specified for Resolution. For example, if Resolution is 100ps, +; then UserTimeUnit defaults to ps. +UserTimeUnit = default + +; Default run length +RunLength = 100 + +; Maximum iterations that can be run without advancing simulation time +IterationLimit = 5000 + +; Directive to license manager: +; vhdl Immediately reserve a VHDL license +; vlog Immediately reserve a Verilog license +; plus Immediately reserve a VHDL and Verilog license +; nomgc Do not look for Mentor Graphics Licenses +; nomti Do not look for Model Technology Licenses +; noqueue Do not wait in the license queue when a license isn't available +; License = plus + +; Stop the simulator after an assertion message +; 0 = Note 1 = Warning 2 = Error 3 = Failure 4 = Fatal +BreakOnAssertion = 3 + +; Assertion Message Format +; %S - Severity Level +; %R - Report Message +; %T - Time of assertion +; %D - Delta +; %I - Instance or Region pathname (if available) +; %% - print '%' character +; AssertionFormat = "** %S: %R\n Timf: %T Iteration: %D%I\n" + +; Assertion File - alternate file for storing assertion messages +; AssertFile = assert.log + +; Default radix for all windows and commands... +; Set to symbolic, ascii, binary, octal, decimal, hex, unsigned +DefaultRadix = symbolic + +; VSIM Startup command +; Startup = do startup.do + +; File for saving command transcript +TranscriptFile = transcript + +; File for saving command history +;CommandHistory = cmdhist.log + +; Specify whether paths in simulator commands should be described +; in VHDL or Verilog format. For VHDL, PathSeparator = / +; for Verilog, PathSeparator = . +PathSeparator = / + +; Specify the dataset separator for fully rooted contexts. +; The default is ':'. For example, sim:/top +; Must not be the same character as PathSeparator. +DatasetSeparator = : + +; Disable assertion messages +; IgnoreNote = 1 +; IgnoreWarning = 1 +; IgnoreError = 1 +; IgnoreFailure = 1 + +; Default force kind. May be freeze, drive, or deposit +; or in other terms, fixed, wired or charged. +; DefaultForceKind = freeze + +; If zero, open files when elaborated +; else open files on first read or write +; DelayFileOpen = 0 + +; Control VHDL files opened for write +; 0 = Buffered, 1 = Unbuffered +UnbufferedOutput = 0 + +; Control number of VHDL files open concurrently +; This number should always be less then the +; current ulimit setting for max file descriptors +; 0 = unlimited +ConcurrentFileLimit = 40 + +; This controls the number of hierarchical regions displayed as +; part of a signal name shown in the waveform window. The default +; value or a value of zero tells VSIM to display the full name. +; WaveSignalNameWidth = 0 + +; Turn off warnings from the std_logic_arith, std_logic_unsigned +; and std_logic_signed packages. +; StdArithNoWarnings = 1 + +; Turn off warnings from the IEEE numeric_std and numeric_bit +; packages. +; NumericStdNoWarnings = 1 + +; Control the format of a generate statement label. Don't quote it. +; GenerateFormat = %s__%d + +; Specify whether checkpoint files should be compressed. +; The default is to be compressed. +; CheckpointCompressMode = 0 + +; List of dynamically loaded objects for Verilog PLI applications +; Veriuser = veriuser.sl + +[lmc] +[Project] +Project_Version = 5 +Project_DefaultLib = work +Project_SortMethod = unused +Project_Files_Count = 13 +Project_File_0 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/fpga_tb.v +Project_File_P_0 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1179836462 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 2 dont_compile 0 +Project_File_1 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/hi_simulate.v +Project_File_P_1 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225963633 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 compile_to work vlog_upper 0 vlog_options {} compile_order 6 dont_compile 0 +Project_File_2 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/testbed_hi_simulate.v +Project_File_P_2 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225964050 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 compile_to work vlog_upper 0 vlog_options {} compile_order 12 dont_compile 0 +Project_File_3 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/fpga.v +Project_File_P_3 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1207888760 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 1 dont_compile 0 +Project_File_4 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/hi_read_tx.v +Project_File_P_4 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225960972 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 5 dont_compile 0 +Project_File_5 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/testbed_hi_read_tx.v +Project_File_P_5 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225962515 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 11 dont_compile 0 +Project_File_6 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/hi_iso14443a.v +Project_File_P_6 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1207889732 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 3 dont_compile 0 +Project_File_7 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/lo_simulate.v +Project_File_P_7 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1179836462 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 8 dont_compile 0 +Project_File_8 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/lo_read.v +Project_File_P_8 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225797126 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 7 dont_compile 0 +Project_File_9 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/util.v +Project_File_P_9 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1179836462 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 0 dont_compile 0 +Project_File_10 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/testbed_lo_read.v +Project_File_P_10 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225960239 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 9 dont_compile 0 +Project_File_11 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/testbed_lo_simulate.v +Project_File_P_11 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1225960231 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 10 dont_compile 0 +Project_File_12 = G:/RFID/Hardware/Proxmark3/Sources/prox_work/fpga/hi_read_rx_xcorr.v +Project_File_P_12 = vlog_protect 0 file_type Verilog group_id 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} vlog_noload 0 last_compile 1179836462 vlog_disableopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 vlog_options {} vlog_upper 0 compile_to work compile_order 4 dont_compile 0 +Project_Sim_Count = 0 +Project_Folder_Count = 0 diff --git a/fpga/fpga.ucf b/fpga/fpga.ucf new file mode 100644 index 00000000..bf0d40bc --- /dev/null +++ b/fpga/fpga.ucf @@ -0,0 +1,41 @@ +# See the schematic for the pin assignment. + +NET "adc_d<0>" LOC = "P62" ; +NET "adc_d<1>" LOC = "P60" ; +NET "adc_d<2>" LOC = "P58" ; +NET "adc_d<3>" LOC = "P57" ; +NET "adc_d<4>" LOC = "P56" ; +NET "adc_d<5>" LOC = "P55" ; +NET "adc_d<6>" LOC = "P54" ; +NET "adc_d<7>" LOC = "P53" ; +#NET "cross_hi" LOC = "P88" ; +#NET "miso" LOC = "P40" ; +#PACE: Start of Constraints generated by PACE + +#PACE: Start of PACE I/O Pin Assignments +NET "adc_clk" LOC = "P46" ; +NET "adc_noe" LOC = "P47" ; +NET "ck_1356meg" LOC = "P91" ; +NET "ck_1356megb" LOC = "P93" ; +NET "cross_lo" LOC = "P87" ; +NET "dbg" LOC = "P22" ; +NET "mosi" LOC = "P43" ; +NET "ncs" LOC = "P44" ; +NET "pck0" LOC = "P36" ; +NET "pwr_hi" LOC = "P80" ; +NET "pwr_lo" LOC = "P81" ; +NET "pwr_oe1" LOC = "P82" ; +NET "pwr_oe2" LOC = "P83" ; +NET "pwr_oe3" LOC = "P84" ; +NET "pwr_oe4" LOC = "P86" ; +NET "spck" LOC = "P39" ; +NET "ssp_clk" LOC = "P71" ; +NET "ssp_din" LOC = "P32" ; +NET "ssp_dout" LOC = "P34" ; +NET "ssp_frame" LOC = "P31" ; + +#PACE: Start of PACE Area Constraints + +#PACE: Start of PACE Prohibit Constraints + +#PACE: End of Constraints generated by PACE diff --git a/fpga/fpga.v b/fpga/fpga.v new file mode 100644 index 00000000..cbebc395 --- /dev/null +++ b/fpga/fpga.v @@ -0,0 +1,190 @@ +//----------------------------------------------------------------------------- +// The FPGA is responsible for interfacing between the A/D, the coil drivers, +// and the ARM. In the low-frequency modes it passes the data straight +// through, so that the ARM gets raw A/D samples over the SSP. In the high- +// frequency modes, the FPGA might perform some demodulation first, to +// reduce the amount of data that we must send to the ARM. +// +// I am not really an FPGA/ASIC designer, so I am sure that a lot of this +// could be improved. +// +// Jonathan Westhues, March 2006 +// Added ISO14443-A support by Gerhard de Koning Gans, April 2008 +//----------------------------------------------------------------------------- + +`include "lo_read.v" +`include "lo_simulate.v" +`include "hi_read_tx.v" +`include "hi_read_rx_xcorr.v" +`include "hi_simulate.v" +`include "hi_iso14443a.v" +`include "util.v" + +module fpga( + spck, miso, mosi, ncs, + pck0i, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, adc_noe, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg +); + input spck, mosi, ncs; + output miso; + input pck0i, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk, adc_noe; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + + IBUFG #(.IOSTANDARD("DEFAULT") ) pck0b( + .O(pck0), + .I(pck0i) + ); +//assign pck0 = pck0i; +//----------------------------------------------------------------------------- +// The SPI receiver. This sets up the configuration word, which the rest of +// the logic looks at to determine how to connect the A/D and the coil +// drivers (i.e., which section gets it). Also assign some symbolic names +// to the configuration bits, for use below. +//----------------------------------------------------------------------------- + +reg [7:0] conf_word_shift; +reg [7:0] conf_word; + +// We switch modes between transmitting to the 13.56 MHz tag and receiving +// from it, which means that we must make sure that we can do so without +// glitching, or else we will glitch the transmitted carrier. +always @(posedge ncs) +begin + conf_word <= conf_word_shift; +end + +always @(posedge spck) +begin + if(~ncs) + begin + conf_word_shift[7:1] <= conf_word_shift[6:0]; + conf_word_shift[0] <= mosi; + end +end + +wire [2:0] major_mode; +assign major_mode = conf_word[7:5]; + +// For the low-frequency configuration: +wire lo_is_125khz; +assign lo_is_125khz = conf_word[3]; + +// For the high-frequency transmit configuration: modulation depth, either +// 100% (just quite driving antenna, steady LOW), or shallower (tri-state +// some fraction of the buffers) +wire hi_read_tx_shallow_modulation; +assign hi_read_tx_shallow_modulation = conf_word[0]; + +// For the high-frequency receive correlator: frequency against which to +// correlate. +wire hi_read_rx_xcorr_848; +assign hi_read_rx_xcorr_848 = conf_word[0]; +// and whether to drive the coil (reader) or just short it (snooper) +wire hi_read_rx_xcorr_snoop; +assign hi_read_rx_xcorr_snoop = conf_word[1]; + +// For the high-frequency simulated tag: what kind of modulation to use. +wire [2:0] hi_simulate_mod_type; +assign hi_simulate_mod_type = conf_word[2:0]; + +//----------------------------------------------------------------------------- +// And then we instantiate the modules corresponding to each of the FPGA's +// major modes, and use muxes to connect the outputs of the active mode to +// the output pins. +//----------------------------------------------------------------------------- + +lo_read lr( + pck0, ck_1356meg, ck_1356megb, + lr_pwr_lo, lr_pwr_hi, lr_pwr_oe1, lr_pwr_oe2, lr_pwr_oe3, lr_pwr_oe4, + adc_d, lr_adc_clk, + lr_ssp_frame, lr_ssp_din, ssp_dout, lr_ssp_clk, + cross_hi, cross_lo, + lr_dbg, + lo_is_125khz +); + +lo_simulate ls( + pck0, ck_1356meg, ck_1356megb, + ls_pwr_lo, ls_pwr_hi, ls_pwr_oe1, ls_pwr_oe2, ls_pwr_oe3, ls_pwr_oe4, + adc_d, ls_adc_clk, + ls_ssp_frame, ls_ssp_din, ssp_dout, ls_ssp_clk, + cross_hi, cross_lo, + ls_dbg +); + +hi_read_tx ht( + pck0, ck_1356meg, ck_1356megb, + ht_pwr_lo, ht_pwr_hi, ht_pwr_oe1, ht_pwr_oe2, ht_pwr_oe3, ht_pwr_oe4, + adc_d, ht_adc_clk, + ht_ssp_frame, ht_ssp_din, ssp_dout, ht_ssp_clk, + cross_hi, cross_lo, + ht_dbg, + hi_read_tx_shallow_modulation +); + +hi_read_rx_xcorr hrxc( + pck0, ck_1356meg, ck_1356megb, + hrxc_pwr_lo, hrxc_pwr_hi, hrxc_pwr_oe1, hrxc_pwr_oe2, hrxc_pwr_oe3, hrxc_pwr_oe4, + adc_d, hrxc_adc_clk, + hrxc_ssp_frame, hrxc_ssp_din, ssp_dout, hrxc_ssp_clk, + cross_hi, cross_lo, + hrxc_dbg, + hi_read_rx_xcorr_848, hi_read_rx_xcorr_snoop +); + +hi_simulate hs( + pck0, ck_1356meg, ck_1356megb, + hs_pwr_lo, hs_pwr_hi, hs_pwr_oe1, hs_pwr_oe2, hs_pwr_oe3, hs_pwr_oe4, + adc_d, hs_adc_clk, + hs_ssp_frame, hs_ssp_din, ssp_dout, hs_ssp_clk, + cross_hi, cross_lo, + hs_dbg, + hi_simulate_mod_type +); + +hi_iso14443a hisn( + pck0, ck_1356meg, ck_1356megb, + hisn_pwr_lo, hisn_pwr_hi, hisn_pwr_oe1, hisn_pwr_oe2, hisn_pwr_oe3, hisn_pwr_oe4, + adc_d, hisn_adc_clk, + hisn_ssp_frame, hisn_ssp_din, ssp_dout, hisn_ssp_clk, + cross_hi, cross_lo, + hisn_dbg, + hi_simulate_mod_type +); + +// Major modes: +// 000 -- LF reader (generic) +// 001 -- LF simulated tag (generic) +// 010 -- HF reader, transmitting to tag; modulation depth selectable +// 011 -- HF reader, receiving from tag, correlating as it goes; frequency selectable +// 100 -- HF simulated tag +// 101 -- HF ISO14443-A +// 110 -- unused +// 111 -- everything off + +mux8 mux_ssp_clk (major_mode, ssp_clk, lr_ssp_clk, ls_ssp_clk, ht_ssp_clk, hrxc_ssp_clk, hs_ssp_clk, hisn_ssp_clk, 1'b0, 1'b0); +mux8 mux_ssp_din (major_mode, ssp_din, lr_ssp_din, ls_ssp_din, ht_ssp_din, hrxc_ssp_din, hs_ssp_din, hisn_ssp_din, 1'b0, 1'b0); +mux8 mux_ssp_frame (major_mode, ssp_frame, lr_ssp_frame, ls_ssp_frame, ht_ssp_frame, hrxc_ssp_frame, hs_ssp_frame, hisn_ssp_frame, 1'b0, 1'b0); +mux8 mux_pwr_oe1 (major_mode, pwr_oe1, lr_pwr_oe1, ls_pwr_oe1, ht_pwr_oe1, hrxc_pwr_oe1, hs_pwr_oe1, hisn_pwr_oe1, 1'b0, 1'b0); +mux8 mux_pwr_oe2 (major_mode, pwr_oe2, lr_pwr_oe2, ls_pwr_oe2, ht_pwr_oe2, hrxc_pwr_oe2, hs_pwr_oe2, hisn_pwr_oe2, 1'b0, 1'b0); +mux8 mux_pwr_oe3 (major_mode, pwr_oe3, lr_pwr_oe3, ls_pwr_oe3, ht_pwr_oe3, hrxc_pwr_oe3, hs_pwr_oe3, hisn_pwr_oe3, 1'b0, 1'b0); +mux8 mux_pwr_oe4 (major_mode, pwr_oe4, lr_pwr_oe4, ls_pwr_oe4, ht_pwr_oe4, hrxc_pwr_oe4, hs_pwr_oe4, hisn_pwr_oe4, 1'b0, 1'b0); +mux8 mux_pwr_lo (major_mode, pwr_lo, lr_pwr_lo, ls_pwr_lo, ht_pwr_lo, hrxc_pwr_lo, hs_pwr_lo, hisn_pwr_lo, 1'b0, 1'b0); +mux8 mux_pwr_hi (major_mode, pwr_hi, lr_pwr_hi, ls_pwr_hi, ht_pwr_hi, hrxc_pwr_hi, hs_pwr_hi, hisn_pwr_hi, 1'b0, 1'b0); +mux8 mux_adc_clk (major_mode, adc_clk, lr_adc_clk, ls_adc_clk, ht_adc_clk, hrxc_adc_clk, hs_adc_clk, hisn_adc_clk, 1'b0, 1'b0); +mux8 mux_dbg (major_mode, dbg, lr_dbg, ls_dbg, ht_dbg, hrxc_dbg, hs_dbg, hisn_dbg, 1'b0, 1'b0); + +// In all modes, let the ADC's outputs be enabled. +assign adc_noe = 1'b0; + +endmodule diff --git a/fpga/go.bat b/fpga/go.bat new file mode 100644 index 00000000..8600d3cd --- /dev/null +++ b/fpga/go.bat @@ -0,0 +1,38 @@ +@echo off + +rmdir/s/q xst + +del fpga.ngc +xst -ifn xst.scr +if errorlevel 0 goto ok1 +goto done +:ok1 + +del fpga.ngd +ngdbuild -aul -p xc2s30-6vq100 -nt timestamp -uc fpga.ucf fpga.ngc fpga.ngd +if errorlevel 0 goto ok2 +goto done +:ok2 + +del fpga.ncd +map -p xc2s30-6vq100 fpga.ngd +if errorlevel 0 goto ok3 +goto done +:ok3 + +del fpga-placed.ncd +par fpga.ncd fpga-placed.ncd +if errorlevel 0 goto ok4 +goto done +:ok4 + +del fpga.bit fpga.drc fpga.rbt +bitgen -b fpga-placed.ncd fpga.bit +if errorlevel 0 goto ok5 +goto done +:ok5 + +echo okay +perl ..\tools\rbt2c.pl fpga.rbt > ..\armsrc\fpgaimg.c + +:done diff --git a/fpga/hi_iso14443a.v b/fpga/hi_iso14443a.v new file mode 100644 index 00000000..eb03fa23 --- /dev/null +++ b/fpga/hi_iso14443a.v @@ -0,0 +1,360 @@ +//----------------------------------------------------------------------------- +// ISO14443-A support for the Proxmark III +// Gerhard de Koning Gans, April 2008 +//----------------------------------------------------------------------------- + +module hi_iso14443a( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg, + mod_type +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + input [2:0] mod_type; + +reg ssp_clk; +reg ssp_frame; + +reg fc_div_2; +always @(posedge ck_1356meg) + fc_div_2 = ~fc_div_2; + +wire adc_clk; +assign adc_clk = ck_1356meg; + +reg after_hysteresis, after_hysteresis_prev1, after_hysteresis_prev2, after_hysteresis_prev3; +reg [11:0] has_been_low_for; +reg [8:0] saw_deep_modulation; +reg [2:0] deep_counter; +reg deep_modulation; +always @(negedge adc_clk) +begin + if(& adc_d[7:6]) after_hysteresis <= 1'b1; + else if(~(| adc_d[7:4])) after_hysteresis <= 1'b0; + + if(~(| adc_d[7:0])) + begin + if(deep_counter == 3'd7) + begin + deep_modulation <= 1'b1; + saw_deep_modulation <= 8'd0; + end + else + deep_counter <= deep_counter + 1; + end + else + begin + deep_counter <= 3'd0; + if(saw_deep_modulation == 8'd255) + deep_modulation <= 1'b0; + else + saw_deep_modulation <= saw_deep_modulation + 1; + end + + if(after_hysteresis) + begin + has_been_low_for <= 7'b0; + end + else + begin + if(has_been_low_for == 12'd4095) + begin + has_been_low_for <= 12'd0; + after_hysteresis <= 1'b1; + end + else + has_been_low_for <= has_been_low_for + 1; + end +end + +// Report every 4 subcarrier cycles +// 64 periods of carrier frequency => 6-bit counter [negedge_cnt] +reg [5:0] negedge_cnt; +reg bit1, bit2, bit3; +reg [3:0] count_ones; +reg [3:0] count_zeros; +wire [7:0] avg; +reg [7:0] lavg; +reg signed [12:0] step1; +reg signed [12:0] step2; +reg [7:0] stepsize; +reg curbit; +reg [12:0] average; +wire signed [9:0] dif; + +// A register to send the results to the arm +reg signed [7:0] to_arm; + +assign avg[7:0] = average[11:4]; +assign dif = lavg - avg; + +reg bit_to_arm; +reg fdt_indicator, fdt_elapsed; +reg [10:0] fdt_counter; +reg [47:0] mod_sig_buf; +wire mod_sig_buf_empty; +reg [5:0] mod_sig_ptr; +reg [3:0] mod_sig_flip; +reg mod_sig, mod_sig_coil; +reg temp_buffer_reset; +reg sendbit; + +assign mod_sig_buf_empty = ~(|mod_sig_buf[47:0]); +reg [2:0] ssp_frame_counter; + +// ADC data appears on the rising edge, so sample it on the falling edge +always @(negedge adc_clk) +begin + + // last bit = 0 then fdt = 1172, in case of 0x26 (7-bit command, LSB first!) + // last bit = 1 then fdt = 1236, in case of 0x52 (7-bit command, LSB first!) + if(fdt_counter == 11'd740) fdt_indicator = 1'b1; + + if(fdt_counter == 11'd1148) + begin + if(fdt_elapsed) + begin + if(negedge_cnt[3:0] == mod_sig_flip[3:0]) mod_sig_coil <= mod_sig; + end + else + begin + mod_sig_flip[3:0] <= negedge_cnt[3:0]; + mod_sig_coil <= mod_sig; + fdt_elapsed = 1'b1; + fdt_indicator = 1'b0; + + if(~(| mod_sig_ptr[5:0])) mod_sig_ptr <= 6'b001001; + else temp_buffer_reset = 1'b1; // fix position of the buffer pointer + end + end + else + begin + fdt_counter <= fdt_counter + 1; + end + + if(& negedge_cnt[3:0]) + begin + // When there is a dip in the signal and not in reader mode + if(~after_hysteresis && mod_sig_buf_empty && ~((mod_type == 3'b100) || (mod_type == 3'b011) || (mod_type == 3'b010))) // last condition to prevent reset + begin + fdt_counter <= 11'd0; + fdt_elapsed = 1'b0; + fdt_indicator = 1'b0; + temp_buffer_reset = 1'b0; + mod_sig_ptr <= 6'b000000; + end + + lavg <= avg; + + if(stepsize<16) stepsize = 8'd16; + + if(dif>0) + begin + step1 = dif*3; + step2 = stepsize*2; // 3:2 + if(step1>step2) + begin + curbit = 1'b0; + stepsize = dif; + end + end + else + begin + step1 = dif*3; + step1 = -step1; + step2 = stepsize*2; + if(step1>step2) + begin + curbit = 1'b1; + stepsize = -dif; + end + end + + if(curbit) + begin + count_zeros <= 4'd0; + if(& count_ones[3:2]) + begin + curbit = 1'b0; // suppressed signal + stepsize = 8'd24; // just a fine number + end + else + begin + count_ones <= count_ones + 1; + end + end + else + begin + count_ones <= 4'd0; + if(& count_zeros[3:0]) + begin + stepsize = 8'd24; + end + else + begin + count_zeros <= count_zeros + 1; + end + end + + // What do we communicate to the ARM + if(mod_type == 3'b001) sendbit = after_hysteresis; + else if(mod_type == 3'b010) + begin + if(fdt_counter > 11'd772) sendbit = mod_sig_coil; + else sendbit = fdt_indicator; + end + else if(mod_type == 3'b011) sendbit = curbit; + else sendbit = 1'b0; + + end + + if(~(| negedge_cnt[3:0])) average <= adc_d; + else average <= average + adc_d; + + if(negedge_cnt == 7'd63) + begin + if(deep_modulation) + begin + to_arm <= {after_hysteresis_prev1,after_hysteresis_prev2,after_hysteresis_prev3,after_hysteresis,1'b0,1'b0,1'b0,1'b0}; + end + else + begin + to_arm <= {after_hysteresis_prev1,after_hysteresis_prev2,after_hysteresis_prev3,after_hysteresis,bit1,bit2,bit3,curbit}; + end + + negedge_cnt <= 0; + + end + else + begin + negedge_cnt <= negedge_cnt + 1; + end + + if(negedge_cnt == 6'd15) + begin + after_hysteresis_prev1 <= after_hysteresis; + bit1 <= curbit; + end + if(negedge_cnt == 6'd31) + begin + after_hysteresis_prev2 <= after_hysteresis; + bit2 <= curbit; + end + if(negedge_cnt == 6'd47) + begin + after_hysteresis_prev3 <= after_hysteresis; + bit3 <= curbit; + end + + + if(mod_type != 3'b000) + begin + if(negedge_cnt[3:0] == 4'b1000) + begin + // The modulation signal of the tag + mod_sig_buf[47:0] <= {mod_sig_buf[46:1], ssp_dout, 1'b0}; + if((ssp_dout || (| mod_sig_ptr[5:0])) && ~fdt_elapsed) + if(mod_sig_ptr == 6'b101110) + begin + mod_sig_ptr <= 6'b000000; + end + else mod_sig_ptr <= mod_sig_ptr + 1; + else if(fdt_elapsed && ~temp_buffer_reset) + begin + if(ssp_dout) temp_buffer_reset = 1'b1; + if(mod_sig_ptr == 6'b000010) mod_sig_ptr <= 6'b001001; + else mod_sig_ptr <= mod_sig_ptr - 1; + end + else + begin + // side effect: when ptr = 1 it will cancel the first 1 of every block of ones + if(~mod_sig_buf[mod_sig_ptr-1] && ~mod_sig_buf[mod_sig_ptr+1]) mod_sig = 1'b0; + else mod_sig = mod_sig_buf[mod_sig_ptr] & fdt_elapsed; // & fdt_elapsed was for direct relay to oe4 + end + end + end + + // SSP Clock and data + if(mod_type == 3'b000) + begin + if(negedge_cnt[2:0] == 3'b100) + ssp_clk <= 1'b0; + + if(negedge_cnt[2:0] == 3'b000) + begin + ssp_clk <= 1'b1; + // Don't shift if we just loaded new data, obviously. + if(negedge_cnt != 7'd0) + begin + to_arm[7:1] <= to_arm[6:0]; + end + end + + if(negedge_cnt[5:4] == 2'b00) + ssp_frame = 1'b1; + else + ssp_frame = 1'b0; + + bit_to_arm = to_arm[7]; + end + else + begin + if(negedge_cnt[3:0] == 4'b1000) ssp_clk <= 1'b0; + + if(negedge_cnt[3:0] == 4'b0111) + begin + if(ssp_frame_counter == 3'd7) ssp_frame_counter <= 3'd0; + else ssp_frame_counter <= ssp_frame_counter + 1; + end + + if(negedge_cnt[3:0] == 4'b0000) + begin + ssp_clk <= 1'b1; + end + + ssp_frame = (ssp_frame_counter == 3'd7); + + bit_to_arm = sendbit; + end + +end + +assign ssp_din = bit_to_arm; + +// Modulating carrier frequency is fc/16 +wire modulating_carrier; +assign modulating_carrier = (mod_sig_coil & negedge_cnt[3] & (mod_type == 3'b010)); +assign pwr_hi = (ck_1356megb & (((mod_type == 3'b100) & ~mod_sig_coil) || (mod_type == 3'b011))); + +// This one is all LF, so doesn't matter +//assign pwr_oe2 = modulating_carrier; +assign pwr_oe2 = 1'b0; + +// Toggle only one of these, since we are already producing much deeper +// modulation than a real tag would. +//assign pwr_oe1 = modulating_carrier; +assign pwr_oe1 = 1'b0; +assign pwr_oe4 = modulating_carrier; +//assign pwr_oe4 = 1'b0; + +// This one is always on, so that we can watch the carrier. +//assign pwr_oe3 = modulating_carrier; +assign pwr_oe3 = 1'b0; + + +assign dbg = negedge_cnt[3]; + +// Unused. +assign pwr_lo = 1'b0; + +endmodule diff --git a/fpga/hi_read_rx_xcorr.v b/fpga/hi_read_rx_xcorr.v new file mode 100644 index 00000000..253f5080 --- /dev/null +++ b/fpga/hi_read_rx_xcorr.v @@ -0,0 +1,165 @@ +//----------------------------------------------------------------------------- +// +// Jonathan Westhues, April 2006 +//----------------------------------------------------------------------------- + +module hi_read_rx_xcorr( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg, + xcorr_is_848, snoop +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + input xcorr_is_848, snoop; + +// Carrier is steady on through this, unless we're snooping. +assign pwr_hi = ck_1356megb & (~snoop); +assign pwr_oe1 = 1'b0; +assign pwr_oe2 = 1'b0; +assign pwr_oe3 = 1'b0; +assign pwr_oe4 = 1'b0; + +reg ssp_clk; +reg ssp_frame; + +reg fc_div_2; +always @(posedge ck_1356meg) + fc_div_2 = ~fc_div_2; + +reg adc_clk; + +always @(xcorr_is_848 or fc_div_2 or ck_1356meg) + if(xcorr_is_848) + // The subcarrier frequency is fc/16; we will sample at fc, so that + // means the subcarrier is 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 ... + adc_clk <= ck_1356meg; + else + // The subcarrier frequency is fc/32; we will sample at fc/2, and + // the subcarrier will look identical. + adc_clk <= fc_div_2; + +// When we're a reader, we just need to do the BPSK demod; but when we're an +// eavesdropper, we also need to pick out the commands sent by the reader, +// using AM. Do this the same way that we do it for the simulated tag. +reg after_hysteresis, after_hysteresis_prev; +reg [11:0] has_been_low_for; +always @(negedge adc_clk) +begin + if(& adc_d[7:0]) after_hysteresis <= 1'b1; + else if(~(| adc_d[7:0])) after_hysteresis <= 1'b0; + + if(after_hysteresis) + begin + has_been_low_for <= 7'b0; + end + else + begin + if(has_been_low_for == 12'd4095) + begin + has_been_low_for <= 12'd0; + after_hysteresis <= 1'b1; + end + else + has_been_low_for <= has_been_low_for + 1; + end +end + +// Let us report a correlation every 4 subcarrier cycles, or 4*16 samples, +// so we need a 6-bit counter. +reg [5:0] corr_i_cnt; +reg [5:0] corr_q_cnt; +// And a couple of registers in which to accumulate the correlations. +reg signed [15:0] corr_i_accum; +reg signed [15:0] corr_q_accum; +reg signed [7:0] corr_i_out; +reg signed [7:0] corr_q_out; + +// ADC data appears on the rising edge, so sample it on the falling edge +always @(negedge adc_clk) +begin + // These are the correlators: we correlate against in-phase and quadrature + // versions of our reference signal, and keep the (signed) result to + // send out later over the SSP. + if(corr_i_cnt == 7'd63) + begin + if(snoop) + begin + corr_i_out <= {corr_i_accum[12:6], after_hysteresis_prev}; + corr_q_out <= {corr_q_accum[12:6], after_hysteresis}; + end + else + begin + // Only correlations need to be delivered. + corr_i_out <= corr_i_accum[13:6]; + corr_q_out <= corr_q_accum[13:6]; + end + + corr_i_accum <= adc_d; + corr_q_accum <= adc_d; + corr_q_cnt <= 4; + corr_i_cnt <= 0; + end + else + begin + if(corr_i_cnt[3]) + corr_i_accum <= corr_i_accum - adc_d; + else + corr_i_accum <= corr_i_accum + adc_d; + + if(corr_q_cnt[3]) + corr_q_accum <= corr_q_accum - adc_d; + else + corr_q_accum <= corr_q_accum + adc_d; + + corr_i_cnt <= corr_i_cnt + 1; + corr_q_cnt <= corr_q_cnt + 1; + end + + // The logic in hi_simulate.v reports 4 samples per bit. We report two + // (I, Q) pairs per bit, so we should do 2 samples per pair. + if(corr_i_cnt == 6'd31) + after_hysteresis_prev <= after_hysteresis; + + // Then the result from last time is serialized and send out to the ARM. + // We get one report each cycle, and each report is 16 bits, so the + // ssp_clk should be the adc_clk divided by 64/16 = 4. + + if(corr_i_cnt[1:0] == 2'b10) + ssp_clk <= 1'b0; + + if(corr_i_cnt[1:0] == 2'b00) + begin + ssp_clk <= 1'b1; + // Don't shift if we just loaded new data, obviously. + if(corr_i_cnt != 7'd0) + begin + corr_i_out[7:0] <= {corr_i_out[6:0], corr_q_out[7]}; + corr_q_out[7:1] <= corr_q_out[6:0]; + end + end + + if(corr_i_cnt[5:2] == 4'b000 || corr_i_cnt[5:2] == 4'b1000) + ssp_frame = 1'b1; + else + ssp_frame = 1'b0; + +end + +assign ssp_din = corr_i_out[7]; + +assign dbg = corr_i_cnt[3]; + +// Unused. +assign pwr_lo = 1'b0; + +endmodule diff --git a/fpga/hi_read_tx.v b/fpga/hi_read_tx.v new file mode 100644 index 00000000..c2cec3ab --- /dev/null +++ b/fpga/hi_read_tx.v @@ -0,0 +1,76 @@ +//----------------------------------------------------------------------------- +// The way that we connect things when transmitting a command to an ISO +// 15693 tag, using 100% modulation only for now. +// +// Jonathan Westhues, April 2006 +//----------------------------------------------------------------------------- + +module hi_read_tx( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg, + shallow_modulation +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + input shallow_modulation; + +// The high-frequency stuff. For now, for testing, just bring out the carrier, +// and allow the ARM to modulate it over the SSP. +reg pwr_hi; +reg pwr_oe1; +reg pwr_oe2; +reg pwr_oe3; +reg pwr_oe4; +always @(ck_1356megb or ssp_dout or shallow_modulation) +begin + if(shallow_modulation) + begin + pwr_hi <= ck_1356megb; + pwr_oe1 <= ~ssp_dout; + pwr_oe2 <= ~ssp_dout; + pwr_oe3 <= ~ssp_dout; + pwr_oe4 <= 1'b0; + end + else + begin + pwr_hi <= ck_1356megb & ssp_dout; + pwr_oe1 <= 1'b0; + pwr_oe2 <= 1'b0; + pwr_oe3 <= 1'b0; + pwr_oe4 <= 1'b0; + end +end + +// Then just divide the 13.56 MHz clock down to produce appropriate clocks +// for the synchronous serial port. + +reg [6:0] hi_div_by_128; + +always @(posedge ck_1356meg) + hi_div_by_128 <= hi_div_by_128 + 1; + +assign ssp_clk = hi_div_by_128[6]; + +reg [2:0] hi_byte_div; + +always @(negedge ssp_clk) + hi_byte_div <= hi_byte_div + 1; + +assign ssp_frame = (hi_byte_div == 3'b000); + +assign ssp_din = 1'b0; + +assign pwr_lo = 1'b0; +assign dbg = ssp_frame; + +endmodule diff --git a/fpga/hi_simulate.v b/fpga/hi_simulate.v new file mode 100644 index 00000000..d0a71176 --- /dev/null +++ b/fpga/hi_simulate.v @@ -0,0 +1,106 @@ +//----------------------------------------------------------------------------- +// Pretend to be an ISO 14443 tag. We will do this by alternately short- +// circuiting and open-circuiting the antenna coil, with the tri-state +// pins. +// +// We communicate over the SSP, as a bitstream (i.e., might as well be +// unframed, though we still generate the word sync signal). The output +// (ARM -> FPGA) tells us whether to modulate or not. The input (FPGA +// -> ARM) is us using the A/D as a fancy comparator; this is with +// (software-added) hysteresis, to undo the high-pass filter. +// +// At this point only Type A is implemented. This means that we are using a +// bit rate of 106 kbit/s, or fc/128. Oversample by 4, which ought to make +// things practical for the ARM (fc/32, 423.8 kbits/s, ~50 kbytes/s) +// +// Jonathan Westhues, October 2006 +//----------------------------------------------------------------------------- + +module hi_simulate( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg, + mod_type +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + input [2:0] mod_type; + +// Power amp goes between LOW and tri-state, so pwr_hi (and pwr_lo) can +// always be low. +assign pwr_hi = 1'b0; +assign pwr_lo = 1'b0; + +// The comparator with hysteresis on the output from the peak detector. +reg after_hysteresis; +assign adc_clk = ck_1356meg; + +always @(negedge adc_clk) +begin + if(& adc_d[7:5]) after_hysteresis = 1'b1; + else if(~(| adc_d[7:5])) after_hysteresis = 1'b0; +end + +// Divide 13.56 MHz by 32 to produce the SSP_CLK +reg [4:0] ssp_clk_divider; +always @(posedge adc_clk) + ssp_clk_divider <= (ssp_clk_divider + 1); +assign ssp_clk = ssp_clk_divider[4]; + +// Divide SSP_CLK by 8 to produce the byte framing signal; the phase of +// this is arbitrary, because it's just a bitstream. +// One nasty issue, though: I can't make it work with both rx and tx at +// once. The phase wrt ssp_clk must be changed. TODO to find out why +// that is and make a better fix. +reg [2:0] ssp_frame_divider_to_arm; +always @(posedge ssp_clk) + ssp_frame_divider_to_arm <= (ssp_frame_divider_to_arm + 1); +reg [2:0] ssp_frame_divider_from_arm; +always @(negedge ssp_clk) + ssp_frame_divider_from_arm <= (ssp_frame_divider_from_arm + 1); + +reg ssp_frame; +always @(ssp_frame_divider_to_arm or ssp_frame_divider_from_arm or mod_type) + if(mod_type == 3'b000) // not modulating, so listening, to ARM + ssp_frame = (ssp_frame_divider_to_arm == 3'b000); + else + ssp_frame = (ssp_frame_divider_from_arm == 3'b000); + +// Synchronize up the after-hysteresis signal, to produce DIN. +reg ssp_din; +always @(posedge ssp_clk) + ssp_din = after_hysteresis; + +// Modulating carrier frequency is fc/16, reuse ssp_clk divider for that +reg modulating_carrier; +always @(mod_type or ssp_clk or ssp_dout) + if(mod_type == 3'b000) + modulating_carrier <= 1'b0; // no modulation + else if(mod_type == 3'b001) + modulating_carrier <= ssp_dout ^ ssp_clk_divider[3]; // XOR means BPSK + else + modulating_carrier <= 1'b0; // yet unused + +// This one is all LF, so doesn't matter +assign pwr_oe2 = modulating_carrier; + +// Toggle only one of these, since we are already producing much deeper +// modulation than a real tag would. +assign pwr_oe1 = modulating_carrier; +assign pwr_oe4 = modulating_carrier; + +// This one is always on, so that we can watch the carrier. +assign pwr_oe3 = 1'b0; + +assign dbg = after_hysteresis; + +endmodule diff --git a/fpga/lo_read.v b/fpga/lo_read.v new file mode 100644 index 00000000..9c3edb22 --- /dev/null +++ b/fpga/lo_read.v @@ -0,0 +1,102 @@ +//----------------------------------------------------------------------------- +// The way that we connect things in low-frequency read mode. In this case +// we are generating the 134 kHz or 125 kHz carrier, and running the +// unmodulated carrier at that frequency. The A/D samples at that same rate, +// and the result is serialized. +// +// Jonathan Westhues, April 2006 +//----------------------------------------------------------------------------- + +module lo_read( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg, + lo_is_125khz +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + input lo_is_125khz; + +// The low-frequency RFID stuff. This is relatively simple, because most +// of the work happens on the ARM, and we just pass samples through. The +// PCK0 must be divided down to generate the A/D clock, and from there by +// a factor of 8 to generate the carrier (that we apply to the coil drivers). +// +// This is also where we decode the received synchronous serial port words, +// to determine how to drive the output enables. + +// PCK0 will run at (PLL clock) / 4, or 24 MHz. That means that we can do +// 125 kHz by dividing by a further factor of (8*12*2), or ~134 kHz by +// dividing by a factor of (8*11*2) (for 136 kHz, ~2% error, tolerable). + +reg [3:0] pck_divider; +reg clk_lo; + +always @(posedge pck0) +begin + if(lo_is_125khz) + begin + if(pck_divider == 4'd11) + begin + pck_divider <= 4'd0; + clk_lo = !clk_lo; + end + else + pck_divider <= pck_divider + 1; + end + else + begin + if(pck_divider == 4'd10) + begin + pck_divider <= 4'd0; + clk_lo = !clk_lo; + end + else + pck_divider <= pck_divider + 1; + end +end + +reg [2:0] carrier_divider_lo; + +always @(posedge clk_lo) +begin + carrier_divider_lo <= carrier_divider_lo + 1; +end + +assign pwr_lo = carrier_divider_lo[2]; + +// This serializes the values returned from the A/D, and sends them out +// over the SSP. + +reg [7:0] to_arm_shiftreg; + +always @(posedge clk_lo) +begin + if(carrier_divider_lo == 3'b000) + to_arm_shiftreg <= adc_d; + else + to_arm_shiftreg[7:1] <= to_arm_shiftreg[6:0]; +end + +assign ssp_clk = clk_lo; +assign ssp_frame = (carrier_divider_lo == 3'b001); +assign ssp_din = to_arm_shiftreg[7]; + +// The ADC converts on the falling edge, and our serializer loads when +// carrier_divider_lo == 3'b000. +assign adc_clk = ~carrier_divider_lo[2]; + +assign pwr_hi = 1'b0; + +assign dbg = adc_clk; + +endmodule diff --git a/fpga/lo_simulate.v b/fpga/lo_simulate.v new file mode 100644 index 00000000..7eb910ba --- /dev/null +++ b/fpga/lo_simulate.v @@ -0,0 +1,37 @@ +//----------------------------------------------------------------------------- +// The way that we connect things in low-frequency simulation mode. In this +// case just pass everything through to the ARM, which can bit-bang this +// (because it is so slow). +// +// Jonathan Westhues, April 2006 +//----------------------------------------------------------------------------- + +module lo_simulate( + pck0, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, + ssp_frame, ssp_din, ssp_dout, ssp_clk, + cross_hi, cross_lo, + dbg +); + input pck0, ck_1356meg, ck_1356megb; + output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + input [7:0] adc_d; + output adc_clk; + input ssp_dout; + output ssp_frame, ssp_din, ssp_clk; + input cross_hi, cross_lo; + output dbg; + +// No logic, straight through. +assign pwr_oe3 = 1'b0; +assign pwr_oe1 = ssp_dout; +assign pwr_oe2 = ssp_dout; +assign pwr_oe4 = ssp_dout; +assign ssp_clk = cross_lo; +assign pwr_lo = 1'b0; +assign adc_clk = 1'b0; +assign pwr_hi = 1'b0; +assign dbg = cross_lo; + +endmodule diff --git a/fpga/sim.tcl b/fpga/sim.tcl new file mode 100644 index 00000000..477acd1d --- /dev/null +++ b/fpga/sim.tcl @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------ +# Run the simulation testbench in ModelSim: recompile both Verilog source +# files, then start the simulation, add a lot of signals to the waveform +# viewer, and run. I should (TODO) fix the absolute paths at some point. +# +# Jonathan Westhues, Mar 2006 +#------------------------------------------------------------------------------ + +vlog -work work -O0 C:/depot/proximity/mark3/fpga/fpga.v +vlog -work work -O0 C:/depot/proximity/mark3/fpga/fpga_tb.v + +vsim work.fpga_tb + +add wave sim:/fpga_tb/adc_clk +add wave sim:/fpga_tb/adc_d +add wave sim:/fpga_tb/pwr_lo +add wave sim:/fpga_tb/ssp_clk +add wave sim:/fpga_tb/ssp_frame +add wave sim:/fpga_tb/ssp_din +add wave sim:/fpga_tb/ssp_dout + +add wave sim:/fpga_tb/dut/clk_lo +add wave sim:/fpga_tb/dut/pck_divider +add wave sim:/fpga_tb/dut/carrier_divider_lo +add wave sim:/fpga_tb/dut/conf_word + +run 30000 diff --git a/fpga/testbed_fpga.v b/fpga/testbed_fpga.v new file mode 100644 index 00000000..3ef2766a --- /dev/null +++ b/fpga/testbed_fpga.v @@ -0,0 +1,50 @@ +`include "fpga.v" + +module testbed_fpga; + reg spck, mosi, ncs; + wire miso; + reg pck0i, ck_1356meg, ck_1356megb; + wire pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; + reg [7:0] adc_d; + wire adc_clk, adc_noe; + reg ssp_dout; + wire ssp_frame, ssp_din, ssp_clk; + + fpga dut( + spck, miso, mosi, ncs, + pck0i, ck_1356meg, ck_1356megb, + pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, + adc_d, adc_clk, adc_noe, + ssp_frame, ssp_din, ssp_dout, ssp_clk + ); + + integer i; + + initial begin + + // init inputs + #5 ncs=1; + #5 spck = 1; + #5 mosi = 1; + + #50 ncs=0; + for (i = 0 ; i < 8 ; i = i + 1) begin + #5 mosi = $random; + #5 spck = 0; + #5 spck = 1; + end + #5 ncs=1; + + #50 ncs=0; + for (i = 0 ; i < 8 ; i = i + 1) begin + #5 mosi = $random; + #5 spck = 0; + #5 spck = 1; + end + #5 ncs=1; + + #50 mosi=1; + $finish; + end + +endmodule // main diff --git a/fpga/testbed_hi_read_tx.v b/fpga/testbed_hi_read_tx.v new file mode 100644 index 00000000..0d600a1f --- /dev/null +++ b/fpga/testbed_hi_read_tx.v @@ -0,0 +1,109 @@ +`include "hi_read_tx.v" + +/* + pck0 - input main 24Mhz clock (PLL / 4) + [7:0] adc_d - input data from A/D converter + shallow_modulation - modulation type + + pwr_lo - output to coil drivers (ssp_clk / 8) + adc_clk - output A/D clock signal + ssp_frame - output SSS frame indicator (goes high while the 8 bits are shifted) + ssp_din - output SSP data to ARM (shifts 8 bit A/D value serially to ARM MSB first) + ssp_clk - output SSP clock signal + + ck_1356meg - input unused + ck_1356megb - input unused + ssp_dout - input unused + cross_hi - input unused + cross_lo - input unused + + pwr_hi - output unused, tied low + pwr_oe1 - output unused, undefined + pwr_oe2 - output unused, undefined + pwr_oe3 - output unused, undefined + pwr_oe4 - output unused, undefined + dbg - output alias for adc_clk +*/ + +module testbed_hi_read_tx; + reg pck0; + reg [7:0] adc_d; + reg shallow_modulation; + + wire pwr_lo; + wire adc_clk; + reg ck_1356meg; + reg ck_1356megb; + wire ssp_frame; + wire ssp_din; + wire ssp_clk; + reg ssp_dout; + wire pwr_hi; + wire pwr_oe1; + wire pwr_oe2; + wire pwr_oe3; + wire pwr_oe4; + wire cross_lo; + wire cross_hi; + wire dbg; + + hi_read_tx #(5,200) dut( + .pck0(pck0), + .ck_1356meg(ck_1356meg), + .ck_1356megb(ck_1356megb), + .pwr_lo(pwr_lo), + .pwr_hi(pwr_hi), + .pwr_oe1(pwr_oe1), + .pwr_oe2(pwr_oe2), + .pwr_oe3(pwr_oe3), + .pwr_oe4(pwr_oe4), + .adc_d(adc_d), + .adc_clk(adc_clk), + .ssp_frame(ssp_frame), + .ssp_din(ssp_din), + .ssp_dout(ssp_dout), + .ssp_clk(ssp_clk), + .cross_hi(cross_hi), + .cross_lo(cross_lo), + .dbg(dbg), + .shallow_modulation(shallow_modulation) + ); + + integer idx, i; + + // main clock + always #5 begin + ck_1356megb = !ck_1356megb; + ck_1356meg = ck_1356megb; + end + + //crank DUT + task crank_dut; + begin + @(posedge ssp_clk) ; + ssp_dout = $random; + end + endtask + + initial begin + + // init inputs + ck_1356megb = 0; + adc_d = 0; + ssp_dout=0; + + // shallow modulation off + shallow_modulation=0; + for (i = 0 ; i < 16 ; i = i + 1) begin + crank_dut; + end + + // shallow modulation on + shallow_modulation=1; + for (i = 0 ; i < 16 ; i = i + 1) begin + crank_dut; + end + $finish; + end + +endmodule // main diff --git a/fpga/testbed_hi_simulate.v b/fpga/testbed_hi_simulate.v new file mode 100644 index 00000000..6dc30f0b --- /dev/null +++ b/fpga/testbed_hi_simulate.v @@ -0,0 +1,116 @@ +`include "hi_simulate.v" + +/* + pck0 - input main 24Mhz clock (PLL / 4) + [7:0] adc_d - input data from A/D converter + mod_type - modulation type + + pwr_lo - output to coil drivers (ssp_clk / 8) + adc_clk - output A/D clock signal + ssp_frame - output SSS frame indicator (goes high while the 8 bits are shifted) + ssp_din - output SSP data to ARM (shifts 8 bit A/D value serially to ARM MSB first) + ssp_clk - output SSP clock signal + + ck_1356meg - input unused + ck_1356megb - input unused + ssp_dout - input unused + cross_hi - input unused + cross_lo - input unused + + pwr_hi - output unused, tied low + pwr_oe1 - output unused, undefined + pwr_oe2 - output unused, undefined + pwr_oe3 - output unused, undefined + pwr_oe4 - output unused, undefined + dbg - output alias for adc_clk +*/ + +module testbed_hi_simulate; + reg pck0; + reg [7:0] adc_d; + reg mod_type; + + wire pwr_lo; + wire adc_clk; + reg ck_1356meg; + reg ck_1356megb; + wire ssp_frame; + wire ssp_din; + wire ssp_clk; + reg ssp_dout; + wire pwr_hi; + wire pwr_oe1; + wire pwr_oe2; + wire pwr_oe3; + wire pwr_oe4; + wire cross_lo; + wire cross_hi; + wire dbg; + + hi_simulate #(5,200) dut( + .pck0(pck0), + .ck_1356meg(ck_1356meg), + .ck_1356megb(ck_1356megb), + .pwr_lo(pwr_lo), + .pwr_hi(pwr_hi), + .pwr_oe1(pwr_oe1), + .pwr_oe2(pwr_oe2), + .pwr_oe3(pwr_oe3), + .pwr_oe4(pwr_oe4), + .adc_d(adc_d), + .adc_clk(adc_clk), + .ssp_frame(ssp_frame), + .ssp_din(ssp_din), + .ssp_dout(ssp_dout), + .ssp_clk(ssp_clk), + .cross_hi(cross_hi), + .cross_lo(cross_lo), + .dbg(dbg), + .mod_type(mod_type) + ); + + integer idx, i; + + // main clock + always #5 begin + ck_1356megb = !ck_1356megb; + ck_1356meg = ck_1356megb; + end + + always begin + @(negedge adc_clk) ; + adc_d = $random; + end + + //crank DUT + task crank_dut; + begin + @(negedge ssp_clk) ; + ssp_dout = $random; + end + endtask + + initial begin + + // init inputs + ck_1356megb = 0; + // random values + adc_d = 0; + ssp_dout=1; + + // shallow modulation off + mod_type=0; + for (i = 0 ; i < 16 ; i = i + 1) begin + crank_dut; + end + + // shallow modulation on + mod_type=1; + for (i = 0 ; i < 16 ; i = i + 1) begin + crank_dut; + end + $finish; + end + +endmodule // main + diff --git a/fpga/testbed_lo_read.v b/fpga/testbed_lo_read.v new file mode 100644 index 00000000..11908d77 --- /dev/null +++ b/fpga/testbed_lo_read.v @@ -0,0 +1,105 @@ +`include "lo_read.v" + +/* + pck0 - input main 24Mhz clock (PLL / 4) + [7:0] adc_d - input data from A/D converter + lo_is_125khz - input freq selector (1=125Khz, 0=136Khz) + + pwr_lo - output to coil drivers (ssp_clk / 8) + adc_clk - output A/D clock signal + ssp_frame - output SSS frame indicator (goes high while the 8 bits are shifted) + ssp_din - output SSP data to ARM (shifts 8 bit A/D value serially to ARM MSB first) + ssp_clk - output SSP clock signal 1Mhz/1.09Mhz (pck0 / 2*(11+lo_is_125khz) ) + + ck_1356meg - input unused + ck_1356megb - input unused + ssp_dout - input unused + cross_hi - input unused + cross_lo - input unused + + pwr_hi - output unused, tied low + pwr_oe1 - output unused, undefined + pwr_oe2 - output unused, undefined + pwr_oe3 - output unused, undefined + pwr_oe4 - output unused, undefined + dbg - output alias for adc_clk +*/ + +module testbed_lo_read; + reg pck0; + reg [7:0] adc_d; + reg lo_is_125khz; + + wire pwr_lo; + wire adc_clk; + wire ck_1356meg; + wire ck_1356megb; + wire ssp_frame; + wire ssp_din; + wire ssp_clk; + wire ssp_dout; + wire pwr_hi; + wire pwr_oe1; + wire pwr_oe2; + wire pwr_oe3; + wire pwr_oe4; + wire cross_lo; + wire cross_hi; + wire dbg; + + lo_read #(5,200) dut( + .pck0(pck0), + .ck_1356meg(ck_1356meg), + .ck_1356megb(ck_1356megb), + .pwr_lo(pwr_lo), + .pwr_hi(pwr_hi), + .pwr_oe1(pwr_oe1), + .pwr_oe2(pwr_oe2), + .pwr_oe3(pwr_oe3), + .pwr_oe4(pwr_oe4), + .adc_d(adc_d), + .adc_clk(adc_clk), + .ssp_frame(ssp_frame), + .ssp_din(ssp_din), + .ssp_dout(ssp_dout), + .ssp_clk(ssp_clk), + .cross_hi(cross_hi), + .cross_lo(cross_lo), + .dbg(dbg), + .lo_is_125khz(lo_is_125khz) + ); + + integer idx, i; + + // main clock + always #5 pck0 = !pck0; + + //new A/D value available from ADC on positive edge + task crank_dut; + begin + @(posedge adc_clk) ; + adc_d = $random; + end + endtask + + initial begin + + // init inputs + pck0 = 0; + adc_d = 0; + + // simulate 4 A/D cycles at 134Khz + lo_is_125khz=0; + for (i = 0 ; i < 4 ; i = i + 1) begin + crank_dut; + end + + // simulate 4 A/D cycles at 125Khz + lo_is_125khz=1; + for (i = 0 ; i < 4 ; i = i + 1) begin + crank_dut; + end + $finish; + end + +endmodule // main diff --git a/fpga/testbed_lo_simulate.v b/fpga/testbed_lo_simulate.v new file mode 100644 index 00000000..d30f822d --- /dev/null +++ b/fpga/testbed_lo_simulate.v @@ -0,0 +1,101 @@ +`include "lo_simulate.v" + +/* + pck0 - input main 24Mhz clock (PLL / 4) + [7:0] adc_d - input data from A/D converter + + + pwr_lo - output to coil drivers (ssp_clk / 8) + adc_clk - output A/D clock signal + ssp_frame - output SSS frame indicator (goes high while the 8 bits are shifted) + ssp_din - output SSP data to ARM (shifts 8 bit A/D value serially to ARM MSB first) + ssp_clk - output SSP clock signal + + ck_1356meg - input unused + ck_1356megb - input unused + ssp_dout - input unused + cross_hi - input unused + cross_lo - input unused + + pwr_hi - output unused, tied low + pwr_oe1 - output unused, undefined + pwr_oe2 - output unused, undefined + pwr_oe3 - output unused, undefined + pwr_oe4 - output unused, undefined + dbg - output alias for adc_clk +*/ + +module testbed_lo_simulate; + reg pck0; + reg [7:0] adc_d; + + + wire pwr_lo; + wire adc_clk; + wire ck_1356meg; + wire ck_1356megb; + wire ssp_frame; + wire ssp_din; + wire ssp_clk; + reg ssp_dout; + wire pwr_hi; + wire pwr_oe1; + wire pwr_oe2; + wire pwr_oe3; + wire pwr_oe4; + reg cross_lo; + wire cross_hi; + wire dbg; + + lo_simulate #(5,200) dut( + .pck0(pck0), + .ck_1356meg(ck_1356meg), + .ck_1356megb(ck_1356megb), + .pwr_lo(pwr_lo), + .pwr_hi(pwr_hi), + .pwr_oe1(pwr_oe1), + .pwr_oe2(pwr_oe2), + .pwr_oe3(pwr_oe3), + .pwr_oe4(pwr_oe4), + .adc_d(adc_d), + .adc_clk(adc_clk), + .ssp_frame(ssp_frame), + .ssp_din(ssp_din), + .ssp_dout(ssp_dout), + .ssp_clk(ssp_clk), + .cross_hi(cross_hi), + .cross_lo(cross_lo), + .dbg(dbg) + ); + + + integer i, counter=0; + + // main clock + always #5 pck0 = !pck0; + + //cross_lo is not really synced to pck0 but it's roughly pck0/192 (24Mhz/192=125Khz) + task crank_dut; + begin + @(posedge pck0) ; + counter = counter + 1; + if (counter == 192) begin + counter = 0; + ssp_dout = $random; + cross_lo = 1; + end else begin + cross_lo = 0; + end + + end + endtask + + initial begin + pck0 = 0; + for (i = 0 ; i < 4096 ; i = i + 1) begin + crank_dut; + end + $finish; + end + +endmodule // main diff --git a/fpga/util.v b/fpga/util.v new file mode 100644 index 00000000..c500edb4 --- /dev/null +++ b/fpga/util.v @@ -0,0 +1,27 @@ +//----------------------------------------------------------------------------- +// General-purpose miscellany. +// +// Jonathan Westhues, April 2006. +//----------------------------------------------------------------------------- + +module mux8(sel, y, x0, x1, x2, x3, x4, x5, x6, x7); + input [2:0] sel; + input x0, x1, x2, x3, x4, x5, x6, x7; + output y; + reg y; + +always @(x0 or x1 or x2 or x3 or x4 or x5 or x6 or x7 or sel) +begin + case (sel) + 3'b000: y = x0; + 3'b001: y = x1; + 3'b010: y = x2; + 3'b011: y = x3; + 3'b100: y = x4; + 3'b101: y = x5; + 3'b110: y = x6; + 3'b111: y = x7; + endcase +end + +endmodule diff --git a/fpga/xst.scr b/fpga/xst.scr new file mode 100644 index 00000000..365db39a --- /dev/null +++ b/fpga/xst.scr @@ -0,0 +1 @@ +run -ifn fpga.v -ifmt Verilog -ofn fpga.ngc -ofmt NGC -p xc2s30-6vq100 -opt_mode Speed -opt_level 1 -ent fpga diff --git a/include/at91sam7s128.h b/include/at91sam7s128.h new file mode 100644 index 00000000..1a5fe1c4 --- /dev/null +++ b/include/at91sam7s128.h @@ -0,0 +1,461 @@ +//----------------------------------------------------------------------------- +// Incomplete register definitions for the AT91SAM7S128 chip. +// Jonathan Westhues, Jul 2005 +//----------------------------------------------------------------------------- + +#ifndef __AT91SAM7S128_H +#define __AT91SAM7S128_H + +#define REG(x) (*(volatile unsigned long *)(x)) + +//------------- +// Peripheral IDs + +#define PERIPH_AIC_FIQ 0 +#define PERIPH_SYSIRQ 1 +#define PERIPH_PIOA 2 +#define PERIPH_ADC 4 +#define PERIPH_SPI 5 +#define PERIPH_US0 6 +#define PERIPH_US1 7 +#define PERIPH_SSC 8 +#define PERIPH_TWI 9 +#define PERIPH_PWMC 10 +#define PERIPH_UDP 11 +#define PERIPH_TC0 12 +#define PERIPH_TC1 13 +#define PERIPH_TC2 14 +#define PERIPH_AIC_IRQ0 30 +#define PERIPH_AIC_IRQ1 31 + +//------------- +// Reset Controller + +#define RSTC_BASE (0xfffffd00) + +#define RSTC_CONTROL REG(RSTC_BASE+0x00) + +#define RST_CONTROL_KEY (0xa5<<24) +#define RST_CONTROL_PROCESSOR_RESET (1<<0) + +//------------- +// PWM Controller + +#define PWM_BASE (0xfffcc000) + +#define PWM_MODE REG(PWM_BASE+0x00) +#define PWM_ENABLE REG(PWM_BASE+0x04) +#define PWM_DISABLE REG(PWM_BASE+0x08) +#define PWM_STATUS REG(PWM_BASE+0x0c) +#define PWM_INTERRUPT_ENABLE REG(PWM_BASE+0x10) +#define PWM_INTERRUPT_DISABLE REG(PWM_BASE+0x14) +#define PWM_INTERRUPT_MASK REG(PWM_BASE+0x18) +#define PWM_INTERRUPT_STATUS REG(PWM_BASE+0x1c) +#define PWM_CH_MODE(x) REG(PWM_BASE+0x200+((x)*0x20)) +#define PWM_CH_DUTY_CYCLE(x) REG(PWM_BASE+0x204+((x)*0x20)) +#define PWM_CH_PERIOD(x) REG(PWM_BASE+0x208+((x)*0x20)) +#define PWM_CH_COUNTER(x) REG(PWM_BASE+0x20c+((x)*0x20)) +#define PWM_CH_UPDATE(x) REG(PWM_BASE+0x210+((x)*0x20)) + +#define PWM_MODE_DIVA(x) ((x)<<0) +#define PWM_MODE_PREA(x) ((x)<<8) +#define PWM_MODE_DIVB(x) ((x)<<16) +#define PWM_MODE_PREB(x) ((x)<<24) + +#define PWM_CHANNEL(x) (1<<(x)) + +#define PWM_CH_MODE_PRESCALER(x) ((x)<<0) +#define PWM_CH_MODE_PERIOD_CENTER_ALIGNED (1<<8) +#define PWM_CH_MODE_POLARITY_STARTS_HIGH (1<<9) +#define PWM_CH_MODE_UPDATE_UPDATES_PERIOD (1<<10) + +//------------- +// Debug Unit + +#define DBG_BASE (0xfffff200) + +#define DBGU_CR REG(DBG_BASE+0x0000) +#define DBGU_MR REG(DBG_BASE+0x0004) +#define DBGU_IER REG(DBG_BASE+0x0008) +#define DBGU_IDR REG(DBG_BASE+0x000C) +#define DBGU_IMR REG(DBG_BASE+0x0010) +#define DBGU_SR REG(DBG_BASE+0x0014) +#define DBGU_RHR REG(DBG_BASE+0x0018) +#define DBGU_THR REG(DBG_BASE+0x001C) +#define DBGU_BRGR REG(DBG_BASE+0x0020) +#define DBGU_CIDR REG(DBG_BASE+0x0040) +#define DBGU_EXID REG(DBG_BASE+0x0044) +#define DBGU_FNR REG(DBG_BASE+0x0048) + +//------------- +// Embedded Flash Controller + +#define MC_BASE (0xffffff00) + +#define MC_FLASH_MODE0 REG(MC_BASE+0x60) +#define MC_FLASH_COMMAND REG(MC_BASE+0x64) +#define MC_FLASH_STATUS REG(MC_BASE+0x68) +#define MC_FLASH_MODE1 REG(MC_BASE+0x70) + +#define MC_FLASH_MODE_READY_INTERRUPT_ENABLE (1<<0) +#define MC_FLASH_MODE_LOCK_INTERRUPT_ENABLE (1<<2) +#define MC_FLASH_MODE_PROG_ERROR_INTERRUPT_ENABLE (1<<3) +#define MC_FLASH_MODE_NO_ERASE_BEFORE_PROGRAMMING (1<<7) +#define MC_FLASH_MODE_FLASH_WAIT_STATES(x) ((x)<<8) +#define MC_FLASH_MODE_MASTER_CLK_IN_MHZ(x) ((x)<<16) + +#define MC_FLASH_COMMAND_FCMD(x) ((x)<<0) +#define MC_FLASH_COMMAND_PAGEN(x) ((x)<<8) +#define MC_FLASH_COMMAND_KEY ((0x5a)<<24) + +#define FCMD_NOP 0x0 +#define FCMD_WRITE_PAGE 0x1 +#define FCMD_SET_LOCK_BIT 0x2 +#define FCMD_WRITE_PAGE_LOCK 0x3 +#define FCMD_CLEAR_LOCK_BIT 0x4 +#define FCMD_ERASE_ALL 0x8 +#define FCMD_SET_GP_NVM_BIT 0xb +#define FCMD_SET_SECURITY_BIT 0xf + +#define MC_FLASH_STATUS_READY (1<<0) +#define MC_FLASH_STATUS_LOCK_ERROR (1<<2) +#define MC_FLASH_STATUS_PROGRAMMING_ERROR (1<<3) +#define MC_FLASH_STATUS_SECURITY_BIT_ACTIVE (1<<4) +#define MC_FLASH_STATUS_GP_NVM_ACTIVE_0 (1<<8) +#define MC_FLASH_STATUS_GP_NVM_ACTIVE_1 (1<<9) +#define MC_FLASH_STATUS_LOCK_ACTIVE(x) (1<<((x)+16)) + +#define FLASH_PAGE_SIZE_BYTES 256 +#define FLASH_PAGE_COUNT 512 + +//------------- +// Watchdog Timer - 12 bit down counter, uses slow clock divided by 128 as source + +#define WDT_BASE (0xfffffd40) + +#define WDT_CONTROL REG(WDT_BASE+0x00) +#define WDT_MODE REG(WDT_BASE+0x04) +#define WDT_STATUS REG(WDT_BASE+0x08) + +#define WDT_HIT() WDT_CONTROL = 0xa5000001 + +#define WDT_MODE_COUNT(x) ((x)<<0) +#define WDT_MODE_INTERRUPT_ON_EVENT (1<<12) +#define WDT_MODE_RESET_ON_EVENT_ENABLE (1<<13) +#define WDT_MODE_RESET_ON_EVENT (1<<14) +#define WDT_MODE_WATCHDOG_DELTA(x) ((x)<<16) +#define WDT_MODE_HALT_IN_DEBUG_MODE (1<<28) +#define WDT_MODE_HALT_IN_IDLE_MODE (1<<29) +#define WDT_MODE_DISABLE (1<<15) + +//------------- +// Parallel Input/Output Controller + +#define PIO_BASE (0xfffff400) + +#define PIO_ENABLE REG(PIO_BASE+0x000) +#define PIO_DISABLE REG(PIO_BASE+0x004) +#define PIO_STATUS REG(PIO_BASE+0x008) +#define PIO_OUTPUT_ENABLE REG(PIO_BASE+0x010) +#define PIO_OUTPUT_DISABLE REG(PIO_BASE+0x014) +#define PIO_OUTPUT_STATUS REG(PIO_BASE+0x018) +#define PIO_GLITCH_ENABLE REG(PIO_BASE+0x020) +#define PIO_GLITCH_DISABLE REG(PIO_BASE+0x024) +#define PIO_GLITCH_STATUS REG(PIO_BASE+0x028) +#define PIO_OUTPUT_DATA_SET REG(PIO_BASE+0x030) +#define PIO_OUTPUT_DATA_CLEAR REG(PIO_BASE+0x034) +#define PIO_OUTPUT_DATA_STATUS REG(PIO_BASE+0x038) +#define PIO_PIN_DATA_STATUS REG(PIO_BASE+0x03c) +#define PIO_OPEN_DRAIN_ENABLE REG(PIO_BASE+0x050) +#define PIO_OPEN_DRAIN_DISABLE REG(PIO_BASE+0x054) +#define PIO_OPEN_DRAIN_STATUS REG(PIO_BASE+0x058) +#define PIO_NO_PULL_UP_ENABLE REG(PIO_BASE+0x060) +#define PIO_NO_PULL_UP_DISABLE REG(PIO_BASE+0x064) +#define PIO_NO_PULL_UP_STATUS REG(PIO_BASE+0x068) +#define PIO_PERIPHERAL_A_SEL REG(PIO_BASE+0x070) +#define PIO_PERIPHERAL_B_SEL REG(PIO_BASE+0x074) +#define PIO_PERIPHERAL_WHICH REG(PIO_BASE+0x078) +#define PIO_OUT_WRITE_ENABLE REG(PIO_BASE+0x0a0) +#define PIO_OUT_WRITE_DISABLE REG(PIO_BASE+0x0a4) +#define PIO_OUT_WRITE_STATUS REG(PIO_BASE+0x0a8) + +//------------- +// USB Device Port + +#define UDP_BASE (0xfffb0000) + +#define UDP_FRAME_NUMBER REG(UDP_BASE+0x0000) +#define UDP_GLOBAL_STATE REG(UDP_BASE+0x0004) +#define UDP_FUNCTION_ADDR REG(UDP_BASE+0x0008) +#define UDP_INTERRUPT_ENABLE REG(UDP_BASE+0x0010) +#define UDP_INTERRUPT_DISABLE REG(UDP_BASE+0x0014) +#define UDP_INTERRUPT_MASK REG(UDP_BASE+0x0018) +#define UDP_INTERRUPT_STATUS REG(UDP_BASE+0x001c) +#define UDP_INTERRUPT_CLEAR REG(UDP_BASE+0x0020) +#define UDP_RESET_ENDPOINT REG(UDP_BASE+0x0028) +#define UDP_ENDPOINT_CSR(x) REG(UDP_BASE+0x0030+((x)*4)) +#define UDP_ENDPOINT_FIFO(x) REG(UDP_BASE+0x0050+((x)*4)) +#define UDP_TRANSCEIVER_CTRL REG(UDP_BASE+0x0074) + +#define UDP_GLOBAL_STATE_ADDRESSED (1<<0) +#define UDP_GLOBAL_STATE_CONFIGURED (1<<1) +#define UDP_GLOBAL_STATE_SEND_RESUME_ENABLED (1<<2) +#define UDP_GLOBAL_STATE_RESUME_RECEIVED (1<<3) +#define UDP_GLOBAL_STATE_REMOTE_WAKE_UP_ENABLED (1<<4) + +#define UDP_FUNCTION_ADDR_ENABLED (1<<8) + +#define UDP_INTERRUPT_ENDPOINT(x) (1<<(x)) +#define UDP_INTERRUPT_SUSPEND (1<<8) +#define UDP_INTERRUPT_RESUME (1<<9) +#define UDP_INTERRUPT_EXTERNAL_RESUME (1<<10) +#define UDP_INTERRUPT_SOF (1<<11) +#define UDP_INTERRUPT_END_OF_BUS_RESET (1<<12) +#define UDP_INTERRUPT_WAKEUP (1<<13) + +#define UDP_RESET_ENDPOINT_NUMBER(x) (1<<(x)) + +#define UDP_CSR_TX_PACKET_ACKED (1<<0) +#define UDP_CSR_RX_PACKET_RECEIVED_BANK_0 (1<<1) +#define UDP_CSR_RX_HAVE_READ_SETUP_DATA (1<<2) +#define UDP_CSR_STALL_SENT (1<<3) +#define UDP_CSR_TX_PACKET (1<<4) +#define UDP_CSR_FORCE_STALL (1<<5) +#define UDP_CSR_RX_PACKET_RECEIVED_BANK_1 (1<<6) +#define UDP_CSR_CONTROL_DATA_DIR (1<<7) +#define UDP_CSR_EPTYPE_CONTROL (0<<8) +#define UDP_CSR_EPTYPE_ISOCHRON_OUT (1<<8) +#define UDP_CSR_EPTYPE_ISOCHRON_IN (5<<8) +#define UDP_CSR_EPTYPE_BULK_OUT (2<<8) +#define UDP_CSR_EPTYPE_BULK_IN (6<<8) +#define UDP_CSR_EPTYPE_INTERRUPT_OUT (3<<8) +#define UDP_CSR_EPTYPE_INTERRUPT_IN (7<<8) +#define UDP_CSR_IS_DATA1 (1<<11) +#define UDP_CSR_ENABLE_EP (1<<15) +#define UDP_CSR_BYTES_RECEIVED(x) (((x) >> 16) & 0x7ff) + +#define UDP_TRANSCEIVER_CTRL_DISABLE (1<<8) + +//------------- +// Power Management Controller + +#define PMC_BASE (0xfffffc00) + +#define PMC_SYS_CLK_ENABLE REG(PMC_BASE+0x0000) +#define PMC_SYS_CLK_DISABLE REG(PMC_BASE+0x0004) +#define PMC_SYS_CLK_STATUS REG(PMC_BASE+0x0008) +#define PMC_PERIPHERAL_CLK_ENABLE REG(PMC_BASE+0x0010) +#define PMC_PERIPHERAL_CLK_DISABLE REG(PMC_BASE+0x0014) +#define PMC_PERIPHERAL_CLK_STATUS REG(PMC_BASE+0x0018) +#define PMC_MAIN_OSCILLATOR REG(PMC_BASE+0x0020) +#define PMC_MAIN_CLK_FREQUENCY REG(PMC_BASE+0x0024) +#define PMC_PLL REG(PMC_BASE+0x002c) +#define PMC_MASTER_CLK REG(PMC_BASE+0x0030) +#define PMC_PROGRAMMABLE_CLK_0 REG(PMC_BASE+0x0040) +#define PMC_PROGRAMMABLE_CLK_1 REG(PMC_BASE+0x0044) +#define PMC_INTERRUPT_ENABLE REG(PMC_BASE+0x0060) +#define PMC_INTERRUPT_DISABLE REG(PMC_BASE+0x0064) +#define PMC_INTERRUPT_STATUS REG(PMC_BASE+0x0068) +#define PMC_INTERRUPT_MASK REG(PMC_BASE+0x006c) + +#define PMC_SYS_CLK_PROCESSOR_CLK (1<<0) +#define PMC_SYS_CLK_UDP_CLK (1<<7) +#define PMC_SYS_CLK_PROGRAMMABLE_CLK_0 (1<<8) +#define PMC_SYS_CLK_PROGRAMMABLE_CLK_1 (1<<9) +#define PMC_SYS_CLK_PROGRAMMABLE_CLK_2 (1<<10) + +#define PMC_MAIN_OSCILLATOR_STABILIZED (1<<0) +#define PMC_MAIN_OSCILLATOR_PLL_LOCK (1<<2) +#define PMC_MAIN_OSCILLATOR_MCK_READY (1<<3) +#define PMC_MAIN_OSCILLATOR_ENABLE (1<<0) +#define PMC_MAIN_OSCILLATOR_BYPASS (1<<1) +#define PMC_MAIN_OSCILLATOR_STARTUP_DELAY(x) ((x)<<8) + +#define PMC_PLL_DIVISOR(x) (x) +#define PMC_PLL_COUNT_BEFORE_LOCK(x) ((x)<<8) +#define PMC_PLL_FREQUENCY_RANGE(x) ((x)<<14) +#define PMC_PLL_MULTIPLIER(x) (((x)-1)<<16) +#define PMC_PLL_USB_DIVISOR(x) ((x)<<28) + +#define PMC_CLK_SELECTION_PLL_CLOCK (3<<0) +#define PMC_CLK_SELECTION_MAIN_CLOCK (1<<0) +#define PMC_CLK_SELECTION_SLOW_CLOCK (0<<0) +#define PMC_CLK_PRESCALE_DIV_1 (0<<2) +#define PMC_CLK_PRESCALE_DIV_2 (1<<2) +#define PMC_CLK_PRESCALE_DIV_4 (2<<2) +#define PMC_CLK_PRESCALE_DIV_8 (3<<2) +#define PMC_CLK_PRESCALE_DIV_16 (4<<2) +#define PMC_CLK_PRESCALE_DIV_32 (5<<2) +#define PMC_CLK_PRESCALE_DIV_64 (6<<2) + +//------------- +// Serial Peripheral Interface (SPI) + +#define SPI_BASE (0xfffe0000) + +#define SPI_CONTROL REG(SPI_BASE+0x00) +#define SPI_MODE REG(SPI_BASE+0x04) +#define SPI_RX_DATA REG(SPI_BASE+0x08) +#define SPI_TX_DATA REG(SPI_BASE+0x0c) +#define SPI_STATUS REG(SPI_BASE+0x10) +#define SPI_INTERRUPT_ENABLE REG(SPI_BASE+0x14) +#define SPI_INTERRUPT_DISABLE REG(SPI_BASE+0x18) +#define SPI_INTERRUPT_MASK REG(SPI_BASE+0x1c) +#define SPI_FOR_CHIPSEL_0 REG(SPI_BASE+0x30) +#define SPI_FOR_CHIPSEL_1 REG(SPI_BASE+0x34) +#define SPI_FOR_CHIPSEL_2 REG(SPI_BASE+0x38) +#define SPI_FOR_CHIPSEL_3 REG(SPI_BASE+0x3c) + +#define SPI_CONTROL_ENABLE (1<<0) +#define SPI_CONTROL_DISABLE (1<<1) +#define SPI_CONTROL_RESET (1<<7) +#define SPI_CONTROL_LAST_TRANSFER (1<<24) + +#define SPI_MODE_MASTER (1<<0) +#define SPI_MODE_VARIABLE_CHIPSEL (1<<1) +#define SPI_MODE_CHIPSELS_DECODED (1<<2) +#define SPI_MODE_USE_DIVIDED_CLOCK (1<<3) +#define SPI_MODE_MODE_FAULT_DETECTION_OFF (1<<4) +#define SPI_MODE_LOOPBACK (1<<7) +#define SPI_MODE_CHIPSEL(x) ((x)<<16) +#define SPI_MODE_DELAY_BETWEEN_CHIPSELS(x) ((x)<<24) + +#define SPI_RX_DATA_CHIPSEL(x) (((x)>>16)&0xf) + +#define SPI_TX_DATA_CHIPSEL(x) ((x)<<16) +#define SPI_TX_DATA_LAST_TRANSFER (1<<24) + +#define SPI_STATUS_RECEIVE_FULL (1<<0) +#define SPI_STATUS_TRANSMIT_EMPTY (1<<1) +#define SPI_STATUS_MODE_FAULT (1<<2) +#define SPI_STATUS_OVERRUN (1<<3) +#define SPI_STATUS_END_OF_RX_BUFFER (1<<4) +#define SPI_STATUS_END_OF_TX_BUFFER (1<<5) +#define SPI_STATUS_RX_BUFFER_FULL (1<<6) +#define SPI_STATUS_TX_BUFFER_EMPTY (1<<7) +#define SPI_STATUS_NSS_RISING_DETECTED (1<<8) +#define SPI_STATUS_TX_EMPTY (1<<9) +#define SPI_STATUS_SPI_ENABLED (1<<16) + +#define SPI_FOR_CHIPSEL_INACTIVE_CLK_1 (1<<0) +#define SPI_FOR_CHIPSEL_PHASE (1<<1) +#define SPI_FOR_CHIPSEL_LEAVE_CHIPSEL_LOW (1<<3) +#define SPI_FOR_CHIPSEL_BITS_IN_WORD(x) ((x)<<4) +#define SPI_FOR_CHIPSEL_DIVISOR(x) ((x)<<8) +#define SPI_FOR_CHIPSEL_DELAY_BEFORE_CLK(x) ((x)<<16) +#define SPI_FOR_CHIPSEL_INTERWORD_DELAY(x) ((x)<<24) + +//------------- +// Analog to Digital Converter + +#define ADC_BASE (0xfffd8000) + +#define ADC_CONTROL REG(ADC_BASE+0x00) +#define ADC_MODE REG(ADC_BASE+0x04) +#define ADC_CHANNEL_ENABLE REG(ADC_BASE+0x10) +#define ADC_CHANNEL_DISABLE REG(ADC_BASE+0x14) +#define ADC_CHANNEL_STATUS REG(ADC_BASE+0x18) +#define ADC_STATUS REG(ADC_BASE+0x1c) +#define ADC_LAST_CONVERTED_DATA REG(ADC_BASE+0x20) +#define ADC_INTERRUPT_ENABLE REG(ADC_BASE+0x24) +#define ADC_INTERRUPT_DISABLE REG(ADC_BASE+0x28) +#define ADC_INTERRUPT_MASK REG(ADC_BASE+0x2c) +#define ADC_CHANNEL_DATA(x) REG(ADC_BASE+0x30+(4*(x))) + +#define ADC_CONTROL_RESET (1<<0) +#define ADC_CONTROL_START (1<<1) + +#define ADC_MODE_HW_TRIGGERS_ENABLED (1<<0) +#define ADC_MODE_8_BIT_RESOLUTION (1<<4) +#define ADC_MODE_SLEEP (1<<5) +#define ADC_MODE_PRESCALE(x) ((x)<<8) +#define ADC_MODE_STARTUP_TIME(x) ((x)<<16) +#define ADC_MODE_SAMPLE_HOLD_TIME(x) ((x)<<24) + +#define ADC_CHANNEL(x) (1<<(x)) + +#define ADC_END_OF_CONVERSION(x) (1<<(x)) +#define ADC_OVERRUN_ERROR(x) (1<<(8+(x))) +#define ADC_DATA_READY (1<<16) +#define ADC_GENERAL_OVERRUN (1<<17) +#define ADC_END_OF_RX_BUFFER (1<<18) +#define ADC_RX_BUFFER_FULL (1<<19) + +//------------- +// Synchronous Serial Controller + +#define SSC_BASE (0xfffd4000) + +#define SSC_CONTROL REG(SSC_BASE+0x00) +#define SSC_CLOCK_DIVISOR REG(SSC_BASE+0x04) +#define SSC_RECEIVE_CLOCK_MODE REG(SSC_BASE+0x10) +#define SSC_RECEIVE_FRAME_MODE REG(SSC_BASE+0x14) +#define SSC_TRANSMIT_CLOCK_MODE REG(SSC_BASE+0x18) +#define SSC_TRANSMIT_FRAME_MODE REG(SSC_BASE+0x1c) +#define SSC_RECEIVE_HOLDING REG(SSC_BASE+0x20) +#define SSC_TRANSMIT_HOLDING REG(SSC_BASE+0x24) +#define SSC_RECEIVE_SYNC_HOLDING REG(SSC_BASE+0x30) +#define SSC_TRANSMIT_SYNC_HOLDING REG(SSC_BASE+0x34) +#define SSC_STATUS REG(SSC_BASE+0x40) +#define SSC_INTERRUPT_ENABLE REG(SSC_BASE+0x44) +#define SSC_INTERRUPT_DISABLE REG(SSC_BASE+0x48) +#define SSC_INTERRUPT_MASK REG(SSC_BASE+0x4c) + +#define SSC_CONTROL_RX_ENABLE (1<<0) +#define SSC_CONTROL_RX_DISABLE (1<<1) +#define SSC_CONTROL_TX_ENABLE (1<<8) +#define SSC_CONTROL_TX_DISABLE (1<<9) +#define SSC_CONTROL_RESET (1<<15) + +#define SSC_CLOCK_MODE_SELECT(x) ((x)<<0) +#define SSC_CLOCK_MODE_OUTPUT(x) ((x)<<2) +#define SSC_CLOCK_MODE_INVERT (1<<5) +#define SSC_CLOCK_MODE_START(x) ((x)<<8) +#define SSC_CLOCK_MODE_START_DELAY(x) ((x)<<16) +#define SSC_CLOCK_MODE_FRAME_PERIOD(x) ((x)<<24) + +#define SSC_FRAME_MODE_BITS_IN_WORD(x) (((x)-1)<<0) +#define SSC_FRAME_MODE_LOOPBACK (1<<5) // for RX +#define SSC_FRAME_MODE_DEFAULT_IS_1 (1<<5) // for TX +#define SSC_FRAME_MODE_MSB_FIRST (1<<7) +#define SSC_FRAME_MODE_WORDS_PER_TRANSFER(x) ((x)<<8) +#define SSC_FRAME_MODE_FRAME_SYNC_LEN(x) ((x)<<16) +#define SSC_FRAME_MODE_FRAME_SYNC_TYPE(x) ((x)<<20) +#define SSC_FRAME_MODE_SYNC_DATA_ENABLE (1<<23) // for TX only +#define SSC_FRAME_MODE_NEGATIVE_EDGE (1<<24) + +#define SSC_STATUS_TX_READY (1<<0) +#define SSC_STATUS_TX_EMPTY (1<<1) +#define SSC_STATUS_TX_ENDED (1<<2) +#define SSC_STATUS_TX_BUF_EMPTY (1<<3) +#define SSC_STATUS_RX_READY (1<<4) +#define SSC_STATUS_RX_OVERRUN (1<<5) +#define SSC_STATUS_RX_ENDED (1<<6) +#define SSC_STATUS_RX_BUF_FULL (1<<7) +#define SSC_STATUS_TX_SYNC_OCCURRED (1<<10) +#define SSC_STATUS_RX_SYNC_OCCURRED (1<<11) +#define SSC_STATUS_TX_ENABLED (1<<16) +#define SSC_STATUS_RX_ENABLED (1<<17) + +//------------- +// Peripheral DMA Controller +// +// There is one set of registers for every peripheral that supports DMA. + +#define PDC_RX_POINTER(x) REG((x)+0x100) +#define PDC_RX_COUNTER(x) REG((x)+0x104) +#define PDC_TX_POINTER(x) REG((x)+0x108) +#define PDC_TX_COUNTER(x) REG((x)+0x10c) +#define PDC_RX_NEXT_POINTER(x) REG((x)+0x110) +#define PDC_RX_NEXT_COUNTER(x) REG((x)+0x114) +#define PDC_TX_NEXT_POINTER(x) REG((x)+0x118) +#define PDC_TX_NEXT_COUNTER(x) REG((x)+0x11c) +#define PDC_CONTROL(x) REG((x)+0x120) +#define PDC_STATUS(x) REG((x)+0x124) + +#define PDC_RX_ENABLE (1<<0) +#define PDC_RX_DISABLE (1<<1) +#define PDC_TX_ENABLE (1<<8) +#define PDC_TX_DISABLE (1<<9) + +#endif diff --git a/include/config_gpio.h b/include/config_gpio.h new file mode 100644 index 00000000..1a189a9e --- /dev/null +++ b/include/config_gpio.h @@ -0,0 +1,40 @@ +#ifndef __CONFIG_GPIO_H +#define __CONFIG_GPIO_H + +#define GPIO_LED_A 0 +#define GPIO_PA1 1 +#define GPIO_LED_D 2 +#define GPIO_NVDD_ON 3 +#define GPIO_FPGA_NINIT 4 +#define GPIO_PA5 5 +#define GPIO_PCK0 6 +#define GPIO_LRST 7 +#define GPIO_LED_B 8 +#define GPIO_LED_C 9 +#define GPIO_NCS2 10 +#define GPIO_NCS0 11 +#define GPIO_MISO 12 +#define GPIO_MOSI 13 +#define GPIO_SPCK 14 +#define GPIO_SSC_FRAME 15 +#define GPIO_SSC_CLK 16 +#define GPIO_SSC_DOUT 17 +#define GPIO_SSC_DIN 18 +#define GPIO_MUXSEL_HIPKD 19 +#define GPIO_MUXSEL_LOPKD 20 +#define GPIO_MUXSEL_HIRAW 21 +#define GPIO_MUXSEL_LORAW 22 +#define GPIO_BUTTON 23 +#define GPIO_USB_PU 24 +#define GPIO_RELAY 25 +#define GPIO_FPGA_ON 26 +#define GPIO_FPGA_DONE 27 +#define GPIO_FPGA_NPROGRAM 28 +#define GPIO_FPGA_CCLK 29 +#define GPIO_FPGA_DIN 30 +#define GPIO_FPGA_DOUT 31 + +#define ANIN_AMPL_LO 4 +#define ANIN_AMPL_HI 5 + +#endif diff --git a/include/proxmark3.h b/include/proxmark3.h new file mode 100644 index 00000000..a94435e8 --- /dev/null +++ b/include/proxmark3.h @@ -0,0 +1,62 @@ +//----------------------------------------------------------------------------- +// Definitions of interest to most of the software for this project. +// Jonathan Westhues, Mar 2006 +//----------------------------------------------------------------------------- + +#ifndef __PROXMARK3_H +#define __PROXMARK3_H + +// Might as well have the hardware-specific defines everywhere. +#include <at91sam7s128.h> + +#include <config_gpio.h> +#define LOW(x) PIO_OUTPUT_DATA_CLEAR = (1 << (x)) +#define HIGH(x) PIO_OUTPUT_DATA_SET = (1 << (x)) + +#define SPI_FPGA_MODE 0 +#define SPI_LCD_MODE 1 + +typedef unsigned long DWORD; +typedef signed long SDWORD; +typedef unsigned long long QWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef signed char SBYTE; +typedef unsigned short WORD; +typedef signed short SWORD; +#define TRUE 1 +#define FALSE 0 + +#include <usb_cmd.h> + +#define PACKED __attribute__((__packed__)) + +#define USB_D_PLUS_PULLUP_ON() { \ + PIO_OUTPUT_DATA_SET = (1<<GPIO_USB_PU); \ + PIO_OUTPUT_ENABLE = (1<<GPIO_USB_PU); \ + } +#define USB_D_PLUS_PULLUP_OFF() PIO_OUTPUT_DISABLE = (1<<GPIO_USB_PU) + +#define LED_A_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_A) +#define LED_A_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_A) +#define LED_B_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_B) +#define LED_B_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_B) +#define LED_C_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_C) +#define LED_C_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_C) +#define LED_D_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_D) +#define LED_D_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_D) +#define RELAY_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_RELAY) +#define RELAY_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_RELAY) +#define BUTTON_PRESS() !(PIO_PIN_DATA_STATUS & (1<<GPIO_BUTTON)) +//-------------------------------- +// USB declarations + +void UsbSendPacket(BYTE *packet, int len); +BOOL UsbPoll(BOOL blinkLeds); +void UsbStart(void); + +// This function is provided by the apps/bootrom, and called from UsbPoll +// if data are available. +void UsbPacketReceived(BYTE *packet, int len); + +#endif diff --git a/include/usb_cmd.h b/include/usb_cmd.h new file mode 100644 index 00000000..6f3c03d8 --- /dev/null +++ b/include/usb_cmd.h @@ -0,0 +1,71 @@ +//----------------------------------------------------------------------------- +// Definitions for all the types of commands that may be sent over USB; our +// own protocol. +// Jonathan Westhues, Mar 2006 +// Edits by Gerhard de Koning Gans, Sep 2007 +//----------------------------------------------------------------------------- + +#ifndef __USB_CMD_H +#define __USB_CMD_H + +typedef struct { + DWORD cmd; + DWORD ext1; + DWORD ext2; + DWORD ext3; + union { + BYTE asBytes[48]; + DWORD asDwords[12]; + } d; +} UsbCommand; + +// For the bootloader +#define CMD_DEVICE_INFO 0x0000 +#define CMD_SETUP_WRITE 0x0001 +#define CMD_FINISH_WRITE 0x0003 +#define CMD_HARDWARE_RESET 0x0004 +#define CMD_ACK 0x00ff + +// For general mucking around +#define CMD_DEBUG_PRINT_STRING 0x0100 +#define CMD_DEBUG_PRINT_INTEGERS 0x0101 +#define CMD_DEBUG_PRINT_BYTES 0x0102 +#define CMD_LCD_RESET 0x0103 +#define CMD_LCD 0x0104 + +// For low-frequency tags +#define CMD_ACQUIRE_RAW_BITS_TI_TYPE 0x0200 +#define CMD_DOWNLOAD_RAW_BITS_TI_TYPE 0x0201 +#define CMD_DOWNLOADED_RAW_BITS_TI_TYPE 0x0202 +#define CMD_ACQUIRE_RAW_ADC_SAMPLES_125K 0x0203 +#define CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K 0x0204 +#define CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K 0x0205 +#define CMD_DOWNLOADED_SIM_SAMPLES_125K 0x0206 +#define CMD_SIMULATE_TAG_125K 0x0207 +#define CMD_HID_DEMOD_FSK 0x0208 // ## New command: demodulate HID tag ID +#define CMD_HID_SIM_TAG 0x0209 // ## New command: simulate HID tag by ID + +// For the 13.56 MHz tags +#define CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693 0x0300 +#define CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443 0x0301 +#define CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443_SIM 0x0302 +#define CMD_READER_ISO_15693 0x0310 // ## New command to act like a 15693 reader - greg +#define CMD_SIMTAG_ISO_15693 0x0311 // ## New command to act like a 15693 reader - greg + +#define CMD_SIMULATE_TAG_HF_LISTEN 0x0380 +#define CMD_SIMULATE_TAG_ISO_14443 0x0381 +#define CMD_SNOOP_ISO_14443 0x0382 +#define CMD_SNOOP_ISO_14443a 0x0383 // ## New snoop command +#define CMD_SIMULATE_TAG_ISO_14443a 0x0384 // ## New command: Simulate tag 14443a +#define CMD_READER_ISO_14443a 0x0385 // ## New command to act like a 14443a reader + +#define CMD_SIMULATE_MIFARE_CARD 0x0386 + +// For measurements of the antenna tuning +#define CMD_MEASURE_ANTENNA_TUNING 0x0400 +#define CMD_MEASURED_ANTENNA_TUNING 0x0401 + +// For direct FPGA control +#define CMD_FPGA_MAJOR_MODE_OFF 0x0500 // ## FPGA Control + +#endif diff --git a/linux/Makefile b/linux/Makefile new file mode 100644 index 00000000..7d4b0156 --- /dev/null +++ b/linux/Makefile @@ -0,0 +1,29 @@ +LDFLAGS = -lusb -lreadline -lpthread -L/opt/local/lib +CFLAGS = -I. -I/opt/local/include -Wall + +CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall +QTLDFLAGS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null) + +ifneq ($(QTLDFLAGS),) +QTGUI = proxgui.o proxguiqt.o proxguiqt.moc.o +CFLAGS += -DHAVE_GUI +MOC = $(shell type moc-qt4 >/dev/null 2>&1 && echo moc-qt4 || echo moc) +LINK.o = $(LINK.cpp) +else +QTGUI = guidummy.o +endif + +all: proxmark3 snooper + +proxmark3: LDFLAGS+=$(QTLDFLAGS) +proxmark3: proxmark3.o gui.o command.o usb.o $(QTGUI) + +snooper: snooper.o gui.o command.o usb.o guidummy.o + +proxguiqt.moc.cpp: proxguiqt.h + $(MOC) -o$@ $^ + +clean: + rm -f proxmark3 snooper *.o *.moc.cpp + +.PHONY: all clean diff --git a/linux/command.c b/linux/command.c new file mode 100644 index 00000000..902045c6 --- /dev/null +++ b/linux/command.c @@ -0,0 +1,2 @@ +#include "translate.h" +#include "../winsrc/command.cpp" diff --git a/linux/flasher.c b/linux/flasher.c new file mode 100644 index 00000000..05f31249 --- /dev/null +++ b/linux/flasher.c @@ -0,0 +1,166 @@ +#include <usb.h> +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <strings.h> +#include <string.h> +#include <errno.h> +#include <ctype.h> + +#include "translate.h" +#include "../winsrc/prox.h" +#include "proxmark3.h" + +static DWORD ExpectedAddr; +static BYTE QueuedToSend[256]; +static BOOL AllWritten; + +static void FlushPrevious(void) +{ + UsbCommand c; + memset(&c, 0, sizeof(c)); + + printf("expected = %08x flush, ", ExpectedAddr); + + int i; + for(i = 0; i < 240; i += 48) { + c.cmd = CMD_SETUP_WRITE; + memcpy(c.d.asBytes, QueuedToSend+i, 48); + c.ext1 = (i/4); + SendCommand(&c, TRUE); + } + + c.cmd = CMD_FINISH_WRITE; + c.ext1 = (ExpectedAddr-1) & (~255); + printf("c.ext1 = %08x\r", c.ext1); + memcpy(c.d.asBytes, QueuedToSend+240, 16); + SendCommand(&c, TRUE); + + AllWritten = TRUE; +} + +static void GotByte(DWORD where, BYTE which) +{ + AllWritten = FALSE; + + if(where != ExpectedAddr) { + printf("bad: got at %08x, expected at %08x\n", where, ExpectedAddr); + exit(-1); + } + QueuedToSend[where & 255] = which; + ExpectedAddr++; + + if((where & 255) == 255) { + // we have completed a full page + FlushPrevious(); + } +} + +static int HexVal(int c) +{ + c = tolower(c); + if(c >= '0' && c <= '9') { + return c - '0'; + } else if(c >= 'a' && c <= 'f') { + return (c - 'a') + 10; + } else { + printf("bad hex digit '%c'\n", c); + exit(-1); + } +} + +static BYTE HexByte(char *s) +{ + return (HexVal(s[0]) << 4) | HexVal(s[1]); +} + +static void LoadFlashFromSRecords(char *file, int addr) +{ + ExpectedAddr = addr; + + FILE *f = fopen(file, "r"); + if(!f) { + printf("couldn't open file\n"); + exit(-1); + } + + char line[512]; + while(fgets(line, sizeof(line), f)) { + if(memcmp(line, "S3", 2)==0) { + char *s = line + 2; + int len = HexByte(s) - 5; + s += 2; + + char addrStr[9]; + memcpy(addrStr, s, 8); + addrStr[8] = '\0'; + DWORD addr; + sscanf(addrStr, "%x", &addr); + s += 8; + + int i; + for(i = 0; i < len; i++) { + while((addr+i) > ExpectedAddr) { + GotByte(ExpectedAddr, 0xff); + } + GotByte(addr+i, HexByte(s)); + s += 2; + } + } + } + + if(!AllWritten) FlushPrevious(); + + fclose(f); + printf("\ndone.\n"); +} + +int main(int argc, char **argv) { + unsigned int addr = 0; + UsbCommand c; + + if (argc != 3) { + fprintf(stderr,"Usage: %s {bootrom|os|fpga} image.s19\n", argv[0]); + exit(EXIT_FAILURE); + } + + if (!strcmp(argv[1],"bootrom")) { + addr = 0; + } else if (!strcmp(argv[1],"os")) { + addr = 0x10000; + } else if (!strcmp(argv[1],"fpga")) { + addr = 0x2000; + } else { + fprintf(stderr,"Unknown action '%s'!\n", argv[1]); + exit(EXIT_FAILURE); + } + + usb_init(); + + fprintf(stderr,"Waiting for Proxmark to appear on USB...\n"); + while(!(devh=OpenProxmark(0))) { sleep(1); } + fprintf(stderr,"Found...\n"); + + fprintf(stderr,"Entering flash-mode...\n"); + bzero(&c, sizeof(c)); + c.cmd = CMD_START_FLASH; + SendCommand(&c, FALSE); + CloseProxmark(); + sleep(1); + + fprintf(stderr,"Waiting for Proxmark to reappear on USB...\n"); + while(!(devh=OpenProxmark(0))) { sleep(1); } + fprintf(stderr,"Found...\n"); + + LoadFlashFromSRecords(argv[2], addr); + + bzero(&c, sizeof(c)); + c.cmd = CMD_HARDWARE_RESET; + SendCommand(&c, FALSE); + + CloseProxmark(); + + fprintf(stderr,"Have a nice day!\n"); + + return 0; +} diff --git a/linux/gui.c b/linux/gui.c new file mode 100644 index 00000000..6d442f0e --- /dev/null +++ b/linux/gui.c @@ -0,0 +1,54 @@ +#include <stdarg.h> +#include <stdio.h> +#include <time.h> + +#include "proxgui.h" +#include "translate.h" +#include "../winsrc/prox.h" + +int GraphBuffer[MAX_GRAPH_TRACE_LEN]; +int GraphTraceLen; +double CursorScaleFactor; +int CommandFinished; + +static char *logfilename = "proxmark3.log"; + +void PrintToScrollback(char *fmt, ...) { + va_list argptr; + static FILE *logfile = NULL; + static int logging=1; + + if (logging && !logfile) { + logfile=fopen(logfilename, "a"); + if (!logfile) { + fprintf(stderr, "Can't open logfile, logging disabled!\n"); + logging=0; + } + } + + va_start(argptr, fmt); + vprintf(fmt, argptr); + printf("\n"); + if (logging && logfile) { +#if 0 + char zeit[25]; + time_t jetzt_t; + struct tm *jetzt; + + jetzt_t = time(NULL); + jetzt = localtime(&jetzt_t); + strftime(zeit, 25, "%b %e %T", jetzt); + + fprintf(logfile,"%s ", zeit); +#endif + vfprintf(logfile, fmt, argptr); + fprintf(logfile,"\n"); + fflush(logfile); + } + va_end(argptr); +} + +void setlogfilename(char *fn) +{ + logfilename = fn; +} diff --git a/linux/guidummy.c b/linux/guidummy.c new file mode 100644 index 00000000..39bcc756 --- /dev/null +++ b/linux/guidummy.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +void ShowGraphWindow(void) +{ + static int warned = 0; + + if (!warned) { + printf("No GUI in this build!\n"); + warned = 1; + } +} + +void HideGraphWindow(void) {} +void RepaintGraphWindow(void) {} +void MainGraphics() {} +void InitGraphics(int argc, char **argv) {} +void ExitGraphics(void) {} diff --git a/linux/proxgui.cpp b/linux/proxgui.cpp new file mode 100644 index 00000000..7e87b582 --- /dev/null +++ b/linux/proxgui.cpp @@ -0,0 +1,58 @@ +#include "proxgui.h" +#include "proxguiqt.h" + +static ProxGuiQT *gui = NULL; + +extern "C" void ShowGraphWindow(void) +{ + if (!gui) + return; + + gui->ShowGraphWindow(); +} + +extern "C" void HideGraphWindow(void) +{ + if (!gui) + return; + + gui->HideGraphWindow(); +} + +extern "C" void RepaintGraphWindow(void) +{ + if (!gui) + return; + + gui->RepaintGraphWindow(); +} + +extern "C" void MainGraphics(void) +{ + if (!gui) + return; + + gui->MainLoop(); +} + +extern "C" void InitGraphics(int argc, char **argv) +{ +#ifdef Q_WS_X11 + bool useGUI = getenv("DISPLAY") != 0; +#else + bool useGUI = true; +#endif + if (!useGUI) + return; + + gui = new ProxGuiQT(argc, argv); +} + +extern "C" void ExitGraphics(void) +{ + if (!gui) + return; + + delete gui; + gui = NULL; +} diff --git a/linux/proxgui.h b/linux/proxgui.h new file mode 100644 index 00000000..c1e9198f --- /dev/null +++ b/linux/proxgui.h @@ -0,0 +1,20 @@ +#ifdef __cplusplus +extern "C" { +#endif + +void ShowGraphWindow(void); +void HideGraphWindow(void); +void RepaintGraphWindow(void); +void MainGraphics(void); +void InitGraphics(int argc, char **argv); +void ExitGraphics(void); + +#define MAX_GRAPH_TRACE_LEN (1024*128) +extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; +extern int GraphTraceLen; +extern double CursorScaleFactor; +extern int CommandFinished; + +#ifdef __cplusplus +} +#endif diff --git a/linux/proxguiqt.cpp b/linux/proxguiqt.cpp new file mode 100644 index 00000000..773d74b8 --- /dev/null +++ b/linux/proxguiqt.cpp @@ -0,0 +1,309 @@ +#include <iostream> +#include <QPainterPath> +#include <QBrush> +#include <QPen> +#include <QTimer> +#include <QCloseEvent> +#include <QMouseEvent> +#include <QKeyEvent> +#include <math.h> +#include <limits.h> +#include "proxguiqt.h" +#include "proxgui.h" + +void ProxGuiQT::ShowGraphWindow(void) +{ + emit ShowGraphWindowSignal(); +} + +void ProxGuiQT::RepaintGraphWindow(void) +{ + emit RepaintGraphWindowSignal(); +} + +void ProxGuiQT::HideGraphWindow(void) +{ + emit HideGraphWindowSignal(); +} + +void ProxGuiQT::_ShowGraphWindow(void) +{ + if(!plotapp) + return; + + if (!plotwidget) + plotwidget = new ProxWidget(); + + plotwidget->show(); +} + +void ProxGuiQT::_RepaintGraphWindow(void) +{ + if (!plotapp || !plotwidget) + return; + + plotwidget->update(); +} + +void ProxGuiQT::_HideGraphWindow(void) +{ + if (!plotapp || !plotwidget) + return; + + plotwidget->hide(); +} + +void ProxGuiQT::MainLoop() +{ + plotapp = new QApplication(argc, argv); + + connect(this, SIGNAL(ShowGraphWindowSignal()), this, SLOT(_ShowGraphWindow())); + connect(this, SIGNAL(RepaintGraphWindowSignal()), this, SLOT(_RepaintGraphWindow())); + connect(this, SIGNAL(HideGraphWindowSignal()), this, SLOT(_HideGraphWindow())); + + plotapp->exec(); +} + +ProxGuiQT::ProxGuiQT(int argc, char **argv) : plotapp(NULL), plotwidget(NULL), + argc(argc), argv(argv) +{ +} + +ProxGuiQT::~ProxGuiQT(void) +{ + if (plotwidget) { + delete plotwidget; + plotwidget = NULL; + } + + if (plotapp) { + plotapp->quit(); + delete plotapp; + plotapp = NULL; + } +} + +void ProxWidget::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + QPainterPath penPath, whitePath, greyPath, cursorAPath, cursorBPath; + QRect r; + QBrush brush(QColor(100, 255, 100)); + QPen pen(QColor(100, 255, 100)); + + painter.setFont(QFont("Arial", 10)); + + if(GraphStart < 0) { + GraphStart = 0; + } + + r = rect(); + + painter.fillRect(r, QColor(0, 0, 0)); + + whitePath.moveTo(r.left() + 40, r.top()); + whitePath.lineTo(r.left() + 40, r.bottom()); + + int zeroHeight = r.top() + (r.bottom() - r.top()) / 2; + + greyPath.moveTo(r.left(), zeroHeight); + greyPath.lineTo(r.right(), zeroHeight); + painter.setPen(QColor(100, 100, 100)); + painter.drawPath(greyPath); + + int startMax = + (GraphTraceLen - (int)((r.right() - r.left() - 40) / GraphPixelsPerPoint)); + if(startMax < 0) { + startMax = 0; + } + if(GraphStart > startMax) { + GraphStart = startMax; + } + + int absYMax = 1; + + int i; + for(i = GraphStart; ; i++) { + if(i >= GraphTraceLen) { + break; + } + if(fabs((double)GraphBuffer[i]) > absYMax) { + absYMax = (int)fabs((double)GraphBuffer[i]); + } + int x = 40 + (int)((i - GraphStart)*GraphPixelsPerPoint); + if(x > r.right()) { + break; + } + } + + absYMax = (int)(absYMax*1.2 + 1); + + // number of points that will be plotted + int span = (int)((r.right() - r.left()) / GraphPixelsPerPoint); + // one label every 100 pixels, let us say + int labels = (r.right() - r.left() - 40) / 100; + if(labels <= 0) labels = 1; + int pointsPerLabel = span / labels; + if(pointsPerLabel <= 0) pointsPerLabel = 1; + + int yMin = INT_MAX; + int yMax = INT_MIN; + int yMean = 0; + int n = 0; + + for(i = GraphStart; ; i++) { + if(i >= GraphTraceLen) { + break; + } + int x = 40 + (int)((i - GraphStart)*GraphPixelsPerPoint); + if(x > r.right() + GraphPixelsPerPoint) { + break; + } + + int y = GraphBuffer[i]; + if(y < yMin) { + yMin = y; + } + if(y > yMax) { + yMax = y; + } + yMean += y; + n++; + + y = (y * (r.top() - r.bottom()) / (2*absYMax)) + zeroHeight; + if(i == GraphStart) { + penPath.moveTo(x, y); + } else { + penPath.lineTo(x, y); + } + + if(GraphPixelsPerPoint > 10) { + QRect f(QPoint(x - 3, y - 3),QPoint(x + 3, y + 3)); + painter.fillRect(f, brush); + } + + if(((i - GraphStart) % pointsPerLabel == 0) && i != GraphStart) { + whitePath.moveTo(x, zeroHeight - 3); + whitePath.lineTo(x, zeroHeight + 3); + + char str[100]; + sprintf(str, "+%d", (i - GraphStart)); + + painter.setPen(QColor(255, 255, 255)); + QRect size; + QFontMetrics metrics(painter.font()); + size = metrics.boundingRect(str); + painter.drawText(x - (size.right() - size.left()), zeroHeight + 9, str); + + penPath.moveTo(x,y); + } + + if(i == CursorAPos || i == CursorBPos) { + QPainterPath *cursorPath; + + if(i == CursorAPos) { + cursorPath = &cursorAPath; + } else { + cursorPath = &cursorBPath; + } + cursorPath->moveTo(x, r.top()); + cursorPath->lineTo(x, r.bottom()); + penPath.moveTo(x, y); + } + } + + if(n != 0) { + yMean /= n; + } + + painter.setPen(QColor(255, 255, 255)); + painter.drawPath(whitePath); + painter.setPen(pen); + painter.drawPath(penPath); + painter.setPen(QColor(255, 255, 0)); + painter.drawPath(cursorAPath); + painter.setPen(QColor(255, 0, 255)); + painter.drawPath(cursorBPath); + + char str[100]; + sprintf(str, "@%d max=%d min=%d mean=%d n=%d/%d dt=%d [%.3f]", + GraphStart, yMax, yMin, yMean, n, GraphTraceLen, + CursorBPos - CursorAPos, (CursorBPos - CursorAPos)/CursorScaleFactor); + + painter.setPen(QColor(255, 255, 255)); + painter.drawText(50, r.bottom() - 20, str); +} + +ProxWidget::ProxWidget(QWidget *parent) : QWidget(parent), GraphStart(0), GraphPixelsPerPoint(1) +{ + resize(600, 500); + + QPalette palette(QColor(0,0,0,0)); + palette.setColor(QPalette::WindowText, QColor(255,255,255)); + palette.setColor(QPalette::Text, QColor(255,255,255)); + palette.setColor(QPalette::Button, QColor(100, 100, 100)); + setPalette(palette); + setAutoFillBackground(true); +} + +void ProxWidget::closeEvent(QCloseEvent *event) +{ + event->ignore(); + this->hide(); +} + +void ProxWidget::mouseMoveEvent(QMouseEvent *event) +{ + int x = event->x(); + x -= 40; + x = (int)(x / GraphPixelsPerPoint); + x += GraphStart; + if((event->buttons() & Qt::LeftButton)) { + CursorAPos = x; + } else if (event->buttons() & Qt::RightButton) { + CursorBPos = x; + } + + + this->update(); +} + +void ProxWidget::keyPressEvent(QKeyEvent *event) +{ + switch(event->key()) { + case Qt::Key_Down: + if(GraphPixelsPerPoint <= 50) { + GraphPixelsPerPoint *= 2; + } + break; + + case Qt::Key_Up: + if(GraphPixelsPerPoint >= 0.02) { + GraphPixelsPerPoint /= 2; + } + break; + + case Qt::Key_Right: + if(GraphPixelsPerPoint < 20) { + GraphStart += (int)(20 / GraphPixelsPerPoint); + } else { + GraphStart++; + } + break; + + case Qt::Key_Left: + if(GraphPixelsPerPoint < 20) { + GraphStart -= (int)(20 / GraphPixelsPerPoint); + } else { + GraphStart--; + } + break; + + default: + QWidget::keyPressEvent(event); + return; + break; + } + + this->update(); +} diff --git a/linux/proxguiqt.h b/linux/proxguiqt.h new file mode 100644 index 00000000..58ff8326 --- /dev/null +++ b/linux/proxguiqt.h @@ -0,0 +1,56 @@ +#include <QApplication> +#include <QPushButton> +#include <QObject> +#include <QWidget> +#include <QPainter> + +class ProxWidget : public QWidget +{ + Q_OBJECT; + + private: + int GraphStart; + double GraphPixelsPerPoint; + int CursorAPos; + int CursorBPos; + + public: + ProxWidget(QWidget *parent = 0); + + protected: + void paintEvent(QPaintEvent *event); + void closeEvent(QCloseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); } + void keyPressEvent(QKeyEvent *event); +}; + +class ProxGuiQT : public QObject +{ + Q_OBJECT; + + private: + QApplication *plotapp; + ProxWidget *plotwidget; + int argc; + char **argv; + void (*main_func)(void); + + public: + ProxGuiQT(int argc, char **argv); + ~ProxGuiQT(void); + void ShowGraphWindow(void); + void RepaintGraphWindow(void); + void HideGraphWindow(void); + void MainLoop(void); + + private slots: + void _ShowGraphWindow(void); + void _RepaintGraphWindow(void); + void _HideGraphWindow(void); + + signals: + void ShowGraphWindowSignal(void); + void RepaintGraphWindowSignal(void); + void HideGraphWindowSignal(void); +}; diff --git a/linux/proxmark3.c b/linux/proxmark3.c new file mode 100644 index 00000000..5a3d6f2d --- /dev/null +++ b/linux/proxmark3.c @@ -0,0 +1,91 @@ +#include <usb.h> +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <strings.h> +#include <string.h> +#include <errno.h> +#include <readline/readline.h> +#include <readline/history.h> +#include <pthread.h> + +#include "translate.h" +#include "../winsrc/prox.h" +#include "proxmark3.h" +#include "proxgui.h" + +struct usb_receiver_arg { + int run; +}; + +static void *usb_receiver(void *targ) { + struct usb_receiver_arg *arg = (struct usb_receiver_arg*)targ; + UsbCommand cmdbuf; + + while(arg->run) { + if (ReceiveCommandP(&cmdbuf) > 0) { + int i; + + for (i=0; i<strlen(PROXPROMPT); i++) + putchar(0x08); + + UsbCommandReceived(&cmdbuf); + printf(PROXPROMPT); + fflush(NULL); + } + } + + pthread_exit(NULL); +} + +static void *main_loop(void *targ) +{ + char *cmd = NULL; + + while(1) { + struct usb_receiver_arg rarg; + pthread_t reader_thread; + + rarg.run=1; + pthread_create(&reader_thread, NULL, &usb_receiver, &rarg); + + cmd = readline(PROXPROMPT); + rarg.run=0; + pthread_join(reader_thread, NULL); + + if (cmd) { + if (cmd[0] != 0x00) { + CommandReceived(cmd); + add_history(cmd); + } + free(cmd); + } else { + printf("\n"); + break; + } + } + + ExitGraphics(); + pthread_exit(NULL); +} + +int main(int argc, char **argv) +{ + pthread_t main_loop_t; + usb_init(); + + if (!(devh = OpenProxmark(1))) { + fprintf(stderr,"PROXMARK3: NOT FOUND!\n"); + exit(1); + } + + pthread_create(&main_loop_t, NULL, &main_loop, NULL); + InitGraphics(argc, argv); + + MainGraphics(); + + pthread_join(main_loop_t, NULL); + + CloseProxmark(); + return 0; +} diff --git a/linux/proxmark3.h b/linux/proxmark3.h new file mode 100644 index 00000000..4868f256 --- /dev/null +++ b/linux/proxmark3.h @@ -0,0 +1,11 @@ +#define PROXPROMPT "proxmark3> " + +extern usb_dev_handle *devh; +extern unsigned char return_on_error; +extern unsigned char error_occured; + +int ReceiveCommandP(UsbCommand *c); +usb_dev_handle* OpenProxmark(int); +void CloseProxmark(void); + +void setlogfilename(char *fn); diff --git a/linux/snooper.c b/linux/snooper.c new file mode 100644 index 00000000..63fa406f --- /dev/null +++ b/linux/snooper.c @@ -0,0 +1,49 @@ +#include <usb.h> +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <strings.h> +#include <string.h> +#include <errno.h> + +#include "translate.h" +#include "../winsrc/prox.h" +#include "proxmark3.h" + +#define HANDLE_ERROR if (error_occured) { \ + error_occured = 0;\ + break;\ +} + +int main() +{ + usb_init(); + setlogfilename("snooper.log"); + + return_on_error = 1; + + while(1) { + while(!(devh=OpenProxmark(0))) { sleep(1); } + + while(1) { + UsbCommand cmdbuf; + int i; + + CommandReceived("hi14asnoop"); + HANDLE_ERROR + + ReceiveCommand(&cmdbuf); + HANDLE_ERROR + for (i=0; i<5; i++) { + ReceiveCommandP(&cmdbuf); + } + HANDLE_ERROR + + CommandReceived("hi14alist"); + HANDLE_ERROR + } + } + + CloseProxmark(); + return 0; +} diff --git a/linux/translate.h b/linux/translate.h new file mode 100644 index 00000000..145268a0 --- /dev/null +++ b/linux/translate.h @@ -0,0 +1,9 @@ +#define BYTE unsigned char +#define WORD unsigned short +#define DWORD unsigned int +#define TRUE 1 +#define FALSE 0 +#define BOOL int + +#define max(a,b) (((a)>(b))?(a):(b)) +#define min(a,b) (((a)>(b))?(b):(a)) diff --git a/linux/unbind-proxmark b/linux/unbind-proxmark new file mode 100755 index 00000000..986c0015 --- /dev/null +++ b/linux/unbind-proxmark @@ -0,0 +1,16 @@ +#!/bin/sh + +for i in /sys/bus/usb/devices/*; do + if grep "9ac4" "${i}/idVendor" >/dev/null 2>&1; then + echo "Found Proxmark..." + dev=`basename "${i}"` + + for j in /sys/bus/usb/drivers/usbhid/*; do + if basename "${j}"|grep "^${dev}" >/dev/null; then + bound="`basename "${j}"`" + echo "Unbinding ${bound}..." + echo -n "${bound}" >/sys/bus/usb/drivers/usbhid/unbind + fi + done + fi +done diff --git a/linux/usb.c b/linux/usb.c new file mode 100644 index 00000000..8145b64a --- /dev/null +++ b/linux/usb.c @@ -0,0 +1,171 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <usb.h> +#include <strings.h> +#include <errno.h> + +#include "translate.h" +#include "../winsrc/prox.h" +#include "proxmark3.h" + +usb_dev_handle *devh = NULL; +static unsigned int claimed_iface = 0; +unsigned char return_on_error = 0; +unsigned char error_occured = 0; + +void SendCommand(UsbCommand *c, BOOL wantAck) { + int ret; + +#if 0 + printf("Sending %d bytes\n", sizeof(UsbCommand)); +#endif + ret = usb_bulk_write(devh, 0x01, (char*)c, sizeof(UsbCommand), 1000); + if (ret<0) { + error_occured = 1; + if (return_on_error) + return; + + fprintf(stderr, "write failed: %s!\nTrying to reopen device...\n", + usb_strerror()); + + if (devh) { + usb_close(devh); + devh = NULL; + } + while(!(devh=OpenProxmark(0))) { sleep(1); } + printf(PROXPROMPT); + fflush(NULL); + + return; + } + + if(wantAck) { + UsbCommand ack; + ReceiveCommand(&ack); + if(ack.cmd != CMD_ACK) { + printf("bad ACK\n"); + exit(-1); + } + } +} + +int ReceiveCommandP(UsbCommand *c) { + int ret; + + bzero(c, sizeof(UsbCommand)); + ret = usb_bulk_read(devh, 0x82, (char*)c, sizeof(UsbCommand), 500); + if (ret<0) { + if (ret != -ETIMEDOUT) { + error_occured = 1; + if (return_on_error) + return 0; + + fprintf(stderr, "read failed: %s(%d)!\nTrying to reopen device...\n", + usb_strerror(), ret); + + if (devh) { + usb_close(devh); + devh = NULL; + } + while(!(devh=OpenProxmark(0))) { sleep(1); } + printf(PROXPROMPT); + fflush(NULL); + + return 0; + } + } else { + if (ret && (ret < sizeof(UsbCommand))) { + fprintf(stderr, "Read only %d instead of requested %d bytes!\n", + ret, (int)sizeof(UsbCommand)); + } + +#if 0 + { + int i; + + printf("Read %d bytes\n", ret); + for (i = 0; i < ret; i++) { + printf("0x%02X ", ((unsigned char*)c)[i]); + if (!((i+1)%8)) + printf("\n"); + } + printf("\n"); + } +#endif + } + + return ret; +} + +void ReceiveCommand(UsbCommand *c) { + while(ReceiveCommandP(c)<0) {} +} + +usb_dev_handle* findProxmark(int verbose, unsigned int *iface) { + struct usb_bus *busses, *bus; + usb_dev_handle *handle = NULL; + + usb_find_busses(); + usb_find_devices(); + + busses = usb_get_busses(); + + for (bus = busses; bus; bus = bus->next) { + struct usb_device *dev; + + for (dev = bus->devices; dev; dev = dev->next) { + struct usb_device_descriptor *desc = &(dev->descriptor); + + if ((desc->idProduct == 0x4b8f) && (desc->idVendor == 0x9ac4)) { + handle = usb_open(dev); + if (!handle) { + if (verbose) + fprintf(stderr, "open failed: %s!\n", usb_strerror()); + return NULL; + } + + *iface = dev->config[0].interface[0].altsetting[0].bInterfaceNumber; + + return handle; + } + } + } + + return NULL; +} + +usb_dev_handle* OpenProxmark(int verbose) { + int ret; + usb_dev_handle *handle = NULL; + unsigned int iface; + +#ifndef __APPLE__ + handle = findProxmark(verbose, &iface); + if (!handle) + return NULL; + + /* Whatever... */ + usb_reset(handle); +#endif + + handle = findProxmark(verbose, &iface); + if (!handle) + return NULL; + + ret = usb_claim_interface(handle, iface); + if (ret<0) { + if (verbose) + fprintf(stderr, "claim failed: %s!\n", usb_strerror()); + return NULL; + } + + claimed_iface = iface; + devh = handle; + return handle; +} + +void CloseProxmark(void) { + usb_release_interface(devh, claimed_iface); + usb_close(devh); +} diff --git a/linux/windows.h b/linux/windows.h new file mode 100644 index 00000000..e69de29b diff --git a/winsrc/Makefile b/winsrc/Makefile new file mode 100644 index 00000000..b398c2c1 --- /dev/null +++ b/winsrc/Makefile @@ -0,0 +1,31 @@ +BASE_DEFS = /D_WIN32_WINNT=0x501 /DISOLATION_AWARE_ENABLED /D_WIN32_IE=0x600 /DWIN32_LEAN_AND_MEAN /DWIN32 /D_MT /D_CRT_SECURE_NO_WARNINGS +BASE_CFLAGS = /W3 /nologo + +DEFINES = $(BASE_DEFS) +CFLAGS = $(BASE_CFLAGS) /Zi /MT + +OBJDIR = obj + +OBJS = $(OBJDIR)\prox.obj \ + $(OBJDIR)\gui.obj \ + $(OBJDIR)\command.obj + +LIBS = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setupapi.lib + +HEADERS = prox.h + +all: $(OBJDIR)/prox.exe + copy $(OBJDIR)\prox.exe . + +clean: + del /q obj\*.obj + del /q obj\*.ilk + del /q obj\*.exe + del /q obj\*.pdb + del /q *.pdb + +$(OBJDIR)/prox.exe: $(OBJS) + $(CC) $(DEFINES) $(CFLAGS) -Fe$(OBJDIR)/prox.exe $(OBJS) $(LIBS) + +$(OBJS): $(@B).cpp $(HEADERS) + $(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj $(@B).cpp diff --git a/winsrc/command.cpp b/winsrc/command.cpp new file mode 100644 index 00000000..1da1e1c2 --- /dev/null +++ b/winsrc/command.cpp @@ -0,0 +1,1812 @@ +//----------------------------------------------------------------------------- +// The actual command interpeter for what the user types at the command line. +// Jonathan Westhues, Sept 2005 +// Edits by Gerhard de Koning Gans, Sep 2007 (##) +//----------------------------------------------------------------------------- +#include <windows.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <limits.h> +#include <math.h> + +#include "prox.h" +#include "../common/iso14443_crc.c" + +#define arraylen(x) (sizeof(x)/sizeof((x)[0])) + +static int CmdHisamplest(char *str, int nrlow); + +static void GetFromBigBuf(BYTE *dest, int bytes) +{ + int n = bytes/4; + + if(n % 48 != 0) { + PrintToScrollback("bad len in GetFromBigBuf"); + return; + } + + int i; + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + + memcpy(dest+(i*4), c.d.asBytes, 48); + } +} + +static void CmdQuit(char *str) +{ + exit(0); +} + +static void CmdHIDdemodFSK(char *str) +{ + UsbCommand c; + c.cmd = CMD_HID_DEMOD_FSK; + SendCommand(&c, FALSE); +} + +static void CmdTune(char *str) +{ + UsbCommand c; + c.cmd = CMD_MEASURE_ANTENNA_TUNING; + SendCommand(&c, FALSE); +} + +static void CmdHi15read(char *str) +{ + UsbCommand c; + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693; + SendCommand(&c, FALSE); +} + +static void CmdHi14read(char *str) +{ + UsbCommand c; + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +// ## New command +static void CmdHi14areader(char *str) +{ + UsbCommand c; + c.cmd = CMD_READER_ISO_14443a; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +// ## New command +static void CmdHi15reader(char *str) +{ + UsbCommand c; + c.cmd = CMD_READER_ISO_15693; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +// ## New command +static void CmdHi15tag(char *str) +{ + UsbCommand c; + c.cmd = CMD_SIMTAG_ISO_15693; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +static void CmdHi14read_sim(char *str) +{ + UsbCommand c; + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443_SIM; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +static void CmdHi14readt(char *str) +{ + UsbCommand c; + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); + + //CmdHisamplest(str); + while(CmdHisamplest(str,atoi(str))==0) { + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); + } + RepaintGraphWindow(); +} + +static void CmdHisimlisten(char *str) +{ + UsbCommand c; + c.cmd = CMD_SIMULATE_TAG_HF_LISTEN; + SendCommand(&c, FALSE); +} + +static void CmdHi14sim(char *str) +{ + UsbCommand c; + c.cmd = CMD_SIMULATE_TAG_ISO_14443; + SendCommand(&c, FALSE); +} + + + +static void CmdHi14asim(char *str) // ## simulate iso14443a tag +{ // ## greg - added ability to specify tag UID + + unsigned int hi=0, lo=0; + int n=0, i=0; + UsbCommand c; + + while (sscanf(&str[i++], "%1x", &n ) == 1) { + hi=(hi<<4)|(lo>>28); + lo=(lo<<4)|(n&0xf); + } + + c.cmd = CMD_SIMULATE_TAG_ISO_14443a; + // c.ext should be set to *str or convert *str to the correct format for a uid + c.ext1 = hi; + c.ext2 = lo; + PrintToScrollback("Emulating 14443A TAG with UID %x%16x", hi, lo); + SendCommand(&c, FALSE); +} + +static void CmdHi14snoop(char *str) +{ + UsbCommand c; + c.cmd = CMD_SNOOP_ISO_14443; + SendCommand(&c, FALSE); +} + +static void CmdHi14asnoop(char *str) +{ + UsbCommand c; + c.cmd = CMD_SNOOP_ISO_14443a; + SendCommand(&c, FALSE); +} + +static void CmdFPGAOff(char *str) // ## FPGA Control +{ + UsbCommand c; + c.cmd = CMD_FPGA_MAJOR_MODE_OFF; + SendCommand(&c, FALSE); +} + +static void CmdLosim(char *str) +{ + int i; + + for(i = 0; i < GraphTraceLen; i += 48) { + UsbCommand c; + int j; + for(j = 0; j < 48; j++) { + c.d.asBytes[j] = GraphBuffer[i+j]; + } + c.cmd = CMD_DOWNLOADED_SIM_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + } + + UsbCommand c; + c.cmd = CMD_SIMULATE_TAG_125K; + c.ext1 = GraphTraceLen; + SendCommand(&c, FALSE); +} + +static void CmdLoread(char *str) +{ + UsbCommand c; + // 'h' means higher-low-frequency, 134 kHz + if(*str == 'h') { + c.ext1 = 1; + } else if (*str == '\0') { + c.ext1 = 0; + } else { + PrintToScrollback("use 'loread' or 'loread h'"); + return; + } + c.cmd = CMD_ACQUIRE_RAW_ADC_SAMPLES_125K; + SendCommand(&c, FALSE); +} + +static void CmdLosamples(char *str) +{ + int cnt = 0; + int i; + int n; + + n=atoi(str); + if (n==0) n=128; + if (n>16000) n=16000; + + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + int j; + for(j = 0; j < 48; j++) { + GraphBuffer[cnt++] = ((int)c.d.asBytes[j]) - 128; + } + } + GraphTraceLen = n*4; + RepaintGraphWindow(); +} + +static void CmdBitsamples(char *str) +{ + int cnt = 0; + int i; + int n; + + n = 3072; + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + int j, k; + for(j = 0; j < 48; j++) { + for(k = 0; k < 8; k++) { + if(c.d.asBytes[j] & (1 << (7 - k))) { + GraphBuffer[cnt++] = 1; + } else { + GraphBuffer[cnt++] = 0; + } + } + } + } + GraphTraceLen = cnt; + RepaintGraphWindow(); +} + +static void CmdHisamples(char *str) +{ + int cnt = 0; + int i; + int n; + n = 1000; + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + int j; + for(j = 0; j < 48; j++) { + GraphBuffer[cnt++] = (int)((BYTE)c.d.asBytes[j]); + } + } + GraphTraceLen = n*4; + + RepaintGraphWindow(); +} + + +static int CmdHisamplest(char *str, int nrlow) +{ + int cnt = 0; + int t1, t2; + int i; + int n; + int hasbeennull; + int show; + + + n = 1000; + hasbeennull = 0; + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return 0; + } + int j; + for(j = 0; j < 48; j++) { + t2 = (int)((BYTE)c.d.asBytes[j]); + if((t2 ^ 0xC0) & 0xC0) { hasbeennull++; } + + show = 0; + switch(show) { + case 0: + // combined + t1 = (t2 & 0x80) ^ (t2 & 0x20); + t2 = ((t2 << 1) & 0x80) ^ ((t2 << 1) & 0x20); + break; + + case 1: + // only reader + t1 = (t2 & 0x80); + t2 = ((t2 << 1) & 0x80); + break; + + case 2: + // only tag + t1 = (t2 & 0x20); + t2 = ((t2 << 1) & 0x20); + break; + + case 3: + // both, but tag with other algorithm + t1 = (t2 & 0x80) ^ (t2 & 0x08); + t2 = ((t2 << 1) & 0x80) ^ ((t2 << 1) & 0x08); + break; + } + + GraphBuffer[cnt++] = t1; + GraphBuffer[cnt++] = t2; + } + } + GraphTraceLen = n*4; +// 1130 + if(hasbeennull>nrlow || nrlow==0) { + PrintToScrollback("hasbeennull=%d", hasbeennull); + return 1; + } + else { + return 0; + } +} + + +static void CmdHexsamples(char *str) +{ + int i; + int n; + + if(atoi(str) == 0) { + n = 12; + } else { + n = atoi(str)/4; + } + + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + int j; + for(j = 0; j < 48; j += 8) { + PrintToScrollback("%02x %02x %02x %02x %02x %02x %02x %02x", + c.d.asBytes[j+0], + c.d.asBytes[j+1], + c.d.asBytes[j+2], + c.d.asBytes[j+3], + c.d.asBytes[j+4], + c.d.asBytes[j+5], + c.d.asBytes[j+6], + c.d.asBytes[j+7], + c.d.asBytes[j+8] + ); + } + } +} + +static void CmdHisampless(char *str) +{ + int cnt = 0; + int i; + int n; + + if(atoi(str) == 0) { + n = 1000; + } else { + n = atoi(str)/4; + } + + for(i = 0; i < n; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { + PrintToScrollback("bad resp\n"); + return; + } + int j; + for(j = 0; j < 48; j++) { + GraphBuffer[cnt++] = (int)((signed char)c.d.asBytes[j]); + } + } + GraphTraceLen = cnt; + + RepaintGraphWindow(); +} + +static WORD Iso15693Crc(BYTE *v, int n) +{ + DWORD reg; + int i, j; + + reg = 0xffff; + for(i = 0; i < n; i++) { + reg = reg ^ ((DWORD)v[i]); + for (j = 0; j < 8; j++) { + if (reg & 0x0001) { + reg = (reg >> 1) ^ 0x8408; + } else { + reg = (reg >> 1); + } + } + } + + return (WORD)~reg; +} + +static void CmdHi14bdemod(char *str) +{ + int i, j, iold; + int isum, qsum; + int outOfWeakAt; + BOOL negateI, negateQ; + + BYTE data[256]; + int dataLen=0; + + // As received, the samples are pairs, correlations against I and Q + // square waves. So estimate angle of initial carrier (or just + // quadrant, actually), and then do the demod. + + // First, estimate where the tag starts modulating. + for(i = 0; i < GraphTraceLen; i += 2) { + if(abs(GraphBuffer[i]) + abs(GraphBuffer[i+1]) > 40) { + break; + } + } + if(i >= GraphTraceLen) { + PrintToScrollback("too weak to sync"); + return; + } + PrintToScrollback("out of weak at %d", i); + outOfWeakAt = i; + + // Now, estimate the phase in the initial modulation of the tag + isum = 0; + qsum = 0; + for(; i < (outOfWeakAt + 16); i += 2) { + isum += GraphBuffer[i+0]; + qsum += GraphBuffer[i+1]; + } + negateI = (isum < 0); + negateQ = (qsum < 0); + + // Turn the correlation pairs into soft decisions on the bit. + j = 0; + for(i = 0; i < GraphTraceLen/2; i++) { + int si = GraphBuffer[j]; + int sq = GraphBuffer[j+1]; + if(negateI) si = -si; + if(negateQ) sq = -sq; + GraphBuffer[i] = si + sq; + j += 2; + } + GraphTraceLen = i; + + i = outOfWeakAt/2; + while(GraphBuffer[i] > 0 && i < GraphTraceLen) + i++; + if(i >= GraphTraceLen) goto demodError; + + iold = i; + while(GraphBuffer[i] < 0 && i < GraphTraceLen) + i++; + if(i >= GraphTraceLen) goto demodError; + if((i - iold) > 23) goto demodError; + + PrintToScrollback("make it to demod loop"); + + for(;;) { + iold = i; + while(GraphBuffer[i] >= 0 && i < GraphTraceLen) + i++; + if(i >= GraphTraceLen) goto demodError; + if((i - iold) > 6) goto demodError; + + WORD shiftReg = 0; + if(i + 20 >= GraphTraceLen) goto demodError; + + for(j = 0; j < 10; j++) { + int soft = GraphBuffer[i] + GraphBuffer[i+1]; + + if(abs(soft) < ((abs(isum) + abs(qsum))/20)) { + PrintToScrollback("weak bit"); + } + + shiftReg >>= 1; + if(GraphBuffer[i] + GraphBuffer[i+1] >= 0) { + shiftReg |= 0x200; + } + + i+= 2; + } + + if( (shiftReg & 0x200) && + !(shiftReg & 0x001)) + { + // valid data byte, start and stop bits okay + PrintToScrollback(" %02x", (shiftReg >> 1) & 0xff); + data[dataLen++] = (shiftReg >> 1) & 0xff; + if(dataLen >= sizeof(data)) { + return; + } + } else if(shiftReg == 0x000) { + // this is EOF + break; + } else { + goto demodError; + } + } + + BYTE first, second; + ComputeCrc14443(CRC_14443_B, data, dataLen-2, &first, &second); + PrintToScrollback("CRC: %02x %02x (%s)\n", first, second, + (first == data[dataLen-2] && second == data[dataLen-1]) ? + "ok" : "****FAIL****"); + + RepaintGraphWindow(); + return; + +demodError: + PrintToScrollback("demod error"); + RepaintGraphWindow(); +} + +static void CmdHi14list(char *str) +{ + BYTE got[960]; + GetFromBigBuf(got, sizeof(got)); + + PrintToScrollback("recorded activity:"); + PrintToScrollback(" time :rssi: who bytes"); + PrintToScrollback("---------+----+----+-----------"); + + int i = 0; + int prev = -1; + + for(;;) { + if(i >= 900) { + break; + } + + BOOL isResponse; + int timestamp = *((DWORD *)(got+i)); + if(timestamp & 0x80000000) { + timestamp &= 0x7fffffff; + isResponse = 1; + } else { + isResponse = 0; + } + int metric = *((DWORD *)(got+i+4)); + + int len = got[i+8]; + + if(len > 100) { + break; + } + if(i + len >= 900) { + break; + } + + BYTE *frame = (got+i+9); + + char line[1000] = ""; + int j; + for(j = 0; j < len; j++) { + sprintf(line+(j*3), "%02x ", frame[j]); + } + + char *crc; + if(len > 2) { + BYTE b1, b2; + ComputeCrc14443(CRC_14443_B, frame, len-2, &b1, &b2); + if(b1 != frame[len-2] || b2 != frame[len-1]) { + crc = "**FAIL CRC**"; + } else { + crc = ""; + } + } else { + crc = "(SHORT)"; + } + + char metricString[100]; + if(isResponse) { + sprintf(metricString, "%3d", metric); + } else { + strcpy(metricString, " "); + } + + PrintToScrollback(" +%7d: %s: %s %s %s", + (prev < 0 ? 0 : timestamp - prev), + metricString, + (isResponse ? "TAG" : " "), line, crc); + + prev = timestamp; + i += (len + 9); + } +} + +static void CmdHi14alist(char *str) +{ + BYTE got[1920]; + GetFromBigBuf(got, sizeof(got)); + + PrintToScrollback("recorded activity:"); + PrintToScrollback(" ETU :rssi: who bytes"); + PrintToScrollback("---------+----+----+-----------"); + + int i = 0; + int prev = -1; + + for(;;) { + if(i >= 1900) { + break; + } + + BOOL isResponse; + int timestamp = *((DWORD *)(got+i)); + if(timestamp & 0x80000000) { + timestamp &= 0x7fffffff; + isResponse = 1; + } else { + isResponse = 0; + } + + int metric = 0; + int parityBits = *((DWORD *)(got+i+4)); + // 4 bytes of additional information... + // maximum of 32 additional parity bit information + // + // TODO: + // at each quarter bit period we can send power level (16 levels) + // or each half bit period in 256 levels. + + + int len = got[i+8]; + + if(len > 100) { + break; + } + if(i + len >= 1900) { + break; + } + + BYTE *frame = (got+i+9); + + // Break and stick with current result if buffer was not completely full + if(frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } + + char line[1000] = ""; + int j; + for(j = 0; j < len; j++) { + int oddparity = 0x01; + int k; + + for(k=0;k<8;k++) { + oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); + } + + //if((parityBits >> (len - j - 1)) & 0x01) { + if(isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { + sprintf(line+(j*4), "%02x! ", frame[j]); + } + else { + sprintf(line+(j*4), "%02x ", frame[j]); + } + } + + char *crc; + crc = ""; + if(len > 2) { + BYTE b1, b2; + for(j = 0; j < (len - 1); j++) { + // gives problems... search for the reason.. + /*if(frame[j] == 0xAA) { + switch(frame[j+1]) { + case 0x01: + crc = "[1] Two drops close after each other"; + break; + case 0x02: + crc = "[2] Potential SOC with a drop in second half of bitperiod"; + break; + case 0x03: + crc = "[3] Segment Z after segment X is not possible"; + break; + case 0x04: + crc = "[4] Parity bit of a fully received byte was wrong"; + break; + default: + crc = "[?] Unknown error"; + break; + } + break; + }*/ + } + + if(strlen(crc)==0) { + ComputeCrc14443(CRC_14443_A, frame, len-2, &b1, &b2); + if(b1 != frame[len-2] || b2 != frame[len-1]) { + crc = (isResponse & (len < 6)) ? "" : " !crc"; + } else { + crc = ""; + } + } + } else { + crc = ""; // SHORT + } + + char metricString[100]; + if(isResponse) { + sprintf(metricString, "%3d", metric); + } else { + strcpy(metricString, " "); + } + + PrintToScrollback(" +%7d: %s: %s %s %s", + (prev < 0 ? 0 : (timestamp - prev)), + metricString, + (isResponse ? "TAG" : " "), line, crc); + + prev = timestamp; + i += (len + 9); + } + CommandFinished = 1; +} + +static void CmdHi15demod(char *str) +{ + // The sampling rate is 106.353 ksps/s, for T = 18.8 us + + // SOF defined as + // 1) Unmodulated time of 56.64us + // 2) 24 pulses of 423.75khz + // 3) logic '1' (unmodulated for 18.88us followed by 8 pulses of 423.75khz) + + static const int FrameSOF[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, + 1, 1, 1, 1 + }; + static const int Logic0[] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1 + }; + static const int Logic1[] = { + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, + 1, 1, 1, 1 + }; + + // EOF defined as + // 1) logic '0' (8 pulses of 423.75khz followed by unmodulated for 18.88us) + // 2) 24 pulses of 423.75khz + // 3) Unmodulated time of 56.64us + + static const int FrameEOF[] = { + 1, 1, 1, 1, + 1, 1, 1, 1, + -1, -1, -1, -1, + -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + }; + + int i, j; + int max = 0, maxPos; + + int skip = 4; + + if(GraphTraceLen < 1000) return; + + // First, correlate for SOF + for(i = 0; i < 100; i++) { + int corr = 0; + for(j = 0; j < arraylen(FrameSOF); j += skip) { + corr += FrameSOF[j]*GraphBuffer[i+(j/skip)]; + } + if(corr > max) { + max = corr; + maxPos = i; + } + } + PrintToScrollback("SOF at %d, correlation %d", maxPos, + max/(arraylen(FrameSOF)/skip)); + + i = maxPos + arraylen(FrameSOF)/skip; + int k = 0; + BYTE outBuf[20]; + memset(outBuf, 0, sizeof(outBuf)); + BYTE mask = 0x01; + for(;;) { + int corr0 = 0, corr1 = 0, corrEOF = 0; + for(j = 0; j < arraylen(Logic0); j += skip) { + corr0 += Logic0[j]*GraphBuffer[i+(j/skip)]; + } + for(j = 0; j < arraylen(Logic1); j += skip) { + corr1 += Logic1[j]*GraphBuffer[i+(j/skip)]; + } + for(j = 0; j < arraylen(FrameEOF); j += skip) { + corrEOF += FrameEOF[j]*GraphBuffer[i+(j/skip)]; + } + // Even things out by the length of the target waveform. + corr0 *= 4; + corr1 *= 4; + + if(corrEOF > corr1 && corrEOF > corr0) { + PrintToScrollback("EOF at %d", i); + break; + } else if(corr1 > corr0) { + i += arraylen(Logic1)/skip; + outBuf[k] |= mask; + } else { + i += arraylen(Logic0)/skip; + } + mask <<= 1; + if(mask == 0) { + k++; + mask = 0x01; + } + if((i+(int)arraylen(FrameEOF)) >= GraphTraceLen) { + PrintToScrollback("ran off end!"); + break; + } + } + if(mask != 0x01) { + PrintToScrollback("error, uneven octet! (discard extra bits!)"); + PrintToScrollback(" mask=%02x", mask); + } + PrintToScrollback("%d octets", k); + + for(i = 0; i < k; i++) { + PrintToScrollback("# %2d: %02x ", i, outBuf[i]); + } + PrintToScrollback("CRC=%04x", Iso15693Crc(outBuf, k-2)); +} + +static void CmdTiread(char *str) +{ + UsbCommand c; + c.cmd = CMD_ACQUIRE_RAW_BITS_TI_TYPE; + SendCommand(&c, FALSE); +} + +static void CmdTibits(char *str) +{ + int cnt = 0; + int i; + for(i = 0; i < 1536; i += 12) { + UsbCommand c; + c.cmd = CMD_DOWNLOAD_RAW_BITS_TI_TYPE; + c.ext1 = i; + SendCommand(&c, FALSE); + ReceiveCommand(&c); + if(c.cmd != CMD_DOWNLOADED_RAW_BITS_TI_TYPE) { + PrintToScrollback("bad resp\n"); + return; + } + int j; + for(j = 0; j < 12; j++) { + int k; + for(k = 31; k >= 0; k--) { + if(c.d.asDwords[j] & (1 << k)) { + GraphBuffer[cnt++] = 1; + } else { + GraphBuffer[cnt++] = -1; + } + } + } + } + GraphTraceLen = 1536*32; + RepaintGraphWindow(); +} + +static void CmdTidemod(char *cmdline) +{ + /* MATLAB as follows: +f_s = 2000000; % sampling frequency +f_l = 123200; % low FSK tone +f_h = 134200; % high FSK tone + +T_l = 119e-6; % low bit duration +T_h = 130e-6; % high bit duration + +l = 2*pi*ones(1, floor(f_s*T_l))*(f_l/f_s); +h = 2*pi*ones(1, floor(f_s*T_h))*(f_h/f_s); + +l = sign(sin(cumsum(l))); +h = sign(sin(cumsum(h))); + */ + static const int LowTone[] = { + 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, + -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, + 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, + }; + static const int HighTone[] = { + 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, + -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, + -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, + }; + + int convLen = max(arraylen(HighTone), arraylen(LowTone)); + + int i; + for(i = 0; i < GraphTraceLen - convLen; i++) { + int j; + int lowSum = 0, highSum = 0;; + int lowLen = arraylen(LowTone); + int highLen = arraylen(HighTone); + + for(j = 0; j < lowLen; j++) { + lowSum += LowTone[j]*GraphBuffer[i+j]; + } + for(j = 0; j < highLen; j++) { + highSum += HighTone[j]*GraphBuffer[i+j]; + } + lowSum = abs((100*lowSum) / lowLen); + highSum = abs((100*highSum) / highLen); + GraphBuffer[i] = (highSum << 16) | lowSum; + } + + for(i = 0; i < GraphTraceLen - convLen - 16; i++) { + int j; + int lowTot = 0, highTot = 0; + // 16 and 15 are f_s divided by f_l and f_h, rounded + for(j = 0; j < 16; j++) { + lowTot += (GraphBuffer[i+j] & 0xffff); + } + for(j = 0; j < 15; j++) { + highTot += (GraphBuffer[i+j] >> 16); + } + GraphBuffer[i] = lowTot - highTot; + } + + GraphTraceLen -= (convLen + 16); + + RepaintGraphWindow(); + + // Okay, so now we have unsliced soft decisions; find bit-sync, and then + // get some bits. + + int max = 0, maxPos = 0; + for(i = 0; i < 6000; i++) { + int j; + int dec = 0; + for(j = 0; j < 8*arraylen(LowTone); j++) { + dec -= GraphBuffer[i+j]; + } + for(; j < 8*arraylen(LowTone) + 8*arraylen(HighTone); j++) { + dec += GraphBuffer[i+j]; + } + if(dec > max) { + max = dec; + maxPos = i; + } + } + GraphBuffer[maxPos] = 800; + GraphBuffer[maxPos+1] = -800; + + maxPos += 8*arraylen(LowTone); + GraphBuffer[maxPos] = 800; + GraphBuffer[maxPos+1] = -800; + maxPos += 8*arraylen(HighTone); + + GraphBuffer[maxPos] = 800; + GraphBuffer[maxPos+1] = -800; + + PrintToScrollback("actual data bits start at sample %d", maxPos); + + PrintToScrollback("length %d/%d", arraylen(HighTone), arraylen(LowTone)); + + GraphBuffer[maxPos] = 800; + GraphBuffer[maxPos+1] = -800; + + BYTE bits[64+16+8+1]; + bits[sizeof(bits)-1] = '\0'; + + for(i = 0; i < arraylen(bits); i++) { + int high = 0; + int low = 0; + int j; + for(j = 0; j < arraylen(LowTone); j++) { + low -= GraphBuffer[maxPos+j]; + } + for(j = 0; j < arraylen(HighTone); j++) { + high += GraphBuffer[maxPos+j]; + } + if(high > low) { + bits[i] = '1'; + maxPos += arraylen(HighTone); + } else { + bits[i] = '.'; + maxPos += arraylen(LowTone); + } + GraphBuffer[maxPos] = 800; + GraphBuffer[maxPos+1] = -800; + } + PrintToScrollback("bits: '%s'", bits); + + DWORD h = 0, l = 0; + for(i = 0; i < 32; i++) { + if(bits[i] == '1') { + l |= (1<<i); + } + } + for(i = 32; i < 64; i++) { + if(bits[i] == '1') { + h |= (1<<(i-32)); + } + } + PrintToScrollback("hex: %08x %08x", h, l); +} + +static void CmdNorm(char *str) +{ + int i; + int max = INT_MIN, min = INT_MAX; + for(i = 10; i < GraphTraceLen; i++) { + if(GraphBuffer[i] > max) { + max = GraphBuffer[i]; + } + if(GraphBuffer[i] < min) { + min = GraphBuffer[i]; + } + } + if(max != min) { + for(i = 0; i < GraphTraceLen; i++) { + GraphBuffer[i] = (GraphBuffer[i] - ((max + min)/2))*1000/ + (max - min); + } + } + RepaintGraphWindow(); +} + +static void CmdDec(char *str) +{ + int i; + for(i = 0; i < (GraphTraceLen/2); i++) { + GraphBuffer[i] = GraphBuffer[i*2]; + } + GraphTraceLen /= 2; + PrintToScrollback("decimated by 2"); + RepaintGraphWindow(); +} + +static void CmdHpf(char *str) +{ + int i; + int accum = 0; + for(i = 10; i < GraphTraceLen; i++) { + accum += GraphBuffer[i]; + } + accum /= (GraphTraceLen - 10); + for(i = 0; i < GraphTraceLen; i++) { + GraphBuffer[i] -= accum; + } + + RepaintGraphWindow(); +} + +static void CmdZerocrossings(char *str) +{ + int i; + // Zero-crossings aren't meaningful unless the signal is zero-mean. + CmdHpf(""); + + int sign = 1; + int zc = 0; + int lastZc = 0; + for(i = 0; i < GraphTraceLen; i++) { + if(GraphBuffer[i]*sign >= 0) { + // No change in sign, reproduce the previous sample count. + zc++; + GraphBuffer[i] = lastZc; + } else { + // Change in sign, reset the sample count. + sign = -sign; + GraphBuffer[i] = lastZc; + if(sign > 0) { + lastZc = zc; + zc = 0; + } + } + } + + RepaintGraphWindow(); +} + +static void CmdLtrim(char *str) +{ + int i; + int ds = atoi(str); + + for(i = ds; i < GraphTraceLen; i++) { + GraphBuffer[i-ds] = GraphBuffer[i]; + } + GraphTraceLen -= ds; + + RepaintGraphWindow(); +} + +static void CmdAutoCorr(char *str) +{ + static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; + + int window = atoi(str); + + if(window == 0) { + PrintToScrollback("needs a window"); + return; + } + + if(window >= GraphTraceLen) { + PrintToScrollback("window must be smaller than trace (%d samples)", + GraphTraceLen); + return; + } + + PrintToScrollback("performing %d correlations", GraphTraceLen - window); + + int i; + for(i = 0; i < GraphTraceLen - window; i++) { + int sum = 0; + int j; + for(j = 0; j < window; j++) { + sum += (GraphBuffer[j]*GraphBuffer[i+j]) / 256; + } + CorrelBuffer[i] = sum; + } + GraphTraceLen = GraphTraceLen - window; + memcpy(GraphBuffer, CorrelBuffer, GraphTraceLen*sizeof(int)); + + RepaintGraphWindow(); +} + +static void CmdVchdemod(char *str) +{ + // Is this the entire sync pattern, or does this also include some + // data bits that happen to be the same everywhere? That would be + // lovely to know. + static const int SyncPattern[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; + + // So first, we correlate for the sync pattern, and mark that. + int bestCorrel = 0, bestPos = 0; + int i; + // It does us no good to find the sync pattern, with fewer than + // 2048 samples after it... + for(i = 0; i < (GraphTraceLen-2048); i++) { + int sum = 0; + int j; + for(j = 0; j < arraylen(SyncPattern); j++) { + sum += GraphBuffer[i+j]*SyncPattern[j]; + } + if(sum > bestCorrel) { + bestCorrel = sum; + bestPos = i; + } + } + PrintToScrollback("best sync at %d [metric %d]", bestPos, bestCorrel); + + char bits[257]; + bits[256] = '\0'; + + int worst = INT_MAX; + int worstPos; + + for(i = 0; i < 2048; i += 8) { + int sum = 0; + int j; + for(j = 0; j < 8; j++) { + sum += GraphBuffer[bestPos+i+j]; + } + if(sum < 0) { + bits[i/8] = '.'; + } else { + bits[i/8] = '1'; + } + if(abs(sum) < worst) { + worst = abs(sum); + worstPos = i; + } + } + PrintToScrollback("bits:"); + PrintToScrollback("%s", bits); + PrintToScrollback("worst metric: %d at pos %d", worst, worstPos); + + if(strcmp(str, "clone")==0) { + GraphTraceLen = 0; + char *s; + for(s = bits; *s; s++) { + int j; + for(j = 0; j < 16; j++) { + GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; + } + } + RepaintGraphWindow(); + } +} + +static void CmdFlexdemod(char *str) +{ + int i; + for(i = 0; i < GraphTraceLen; i++) { + if(GraphBuffer[i] < 0) { + GraphBuffer[i] = -1; + } else { + GraphBuffer[i] = 1; + } + } + +#define LONG_WAIT 100 + int start; + for(start = 0; start < GraphTraceLen - LONG_WAIT; start++) { + int first = GraphBuffer[start]; + for(i = start; i < start + LONG_WAIT; i++) { + if(GraphBuffer[i] != first) { + break; + } + } + if(i == (start + LONG_WAIT)) { + break; + } + } + if(start == GraphTraceLen - LONG_WAIT) { + PrintToScrollback("nothing to wait for"); + return; + } + + GraphBuffer[start] = 2; + GraphBuffer[start+1] = -2; + + BYTE bits[64]; + + int bit; + i = start; + for(bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for(j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if(sum > 0) { + bits[bit] = 1; + } else { + bits[bit] = 0; + } + PrintToScrollback("bit %d sum %d", bit, sum); + } + + for(bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for(j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if(sum > 0 && bits[bit] != 1) { + PrintToScrollback("oops1 at %d", bit); + } + if(sum < 0 && bits[bit] != 0) { + PrintToScrollback("oops2 at %d", bit); + } + } + + GraphTraceLen = 32*64; + i = 0; + int phase = 0; + for(bit = 0; bit < 64; bit++) { + if(bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for(j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } + + RepaintGraphWindow(); +} + +/* + * Generic command to demodulate ASK. bit length in argument. + * Giving the bit length helps discriminate ripple effects + * upon zero crossing for noisy traces. + * + * Second is convention: positive or negative (High mod means zero + * or high mod means one) + * + * Updates the Graph trace with 0/1 values + * + * Arguments: + * sl : bit length in terms of number of samples per bit + * (use yellow/purple markers to compute). + * c : 0 or 1 + */ + +static void Cmdaskdemod(char *str) { + int i; + int sign = 1; + int n = 0; + int c = 0; + int t1 = 0; + + // TODO: complain if we do not give 2 arguments here ! + sscanf(str, "%i %i", &n, &c); + if (c == 0) { + c = 1 ; + } else { + c = -1; + } + + if (GraphBuffer[0]*c > 0) { + GraphBuffer[0] = 1; + } else { + GraphBuffer[0] = 0; + } + for(i=1;i<GraphTraceLen;i++) { + /* Analyse signal within the symbol length */ + /* Decide if we crossed a zero */ + if (GraphBuffer[i]*sign < 0) { + /* Crossed a zero, check if this is a ripple or not */ + if ( (i-t1) > n/4 ) { + sign = -sign; + t1=i; + if (GraphBuffer[i]*c > 0){ + GraphBuffer[i]=1; + } else { + GraphBuffer[i]=0; + } + } else { + /* This is a ripple, set the current sample value + to the same as previous */ + GraphBuffer[i] = GraphBuffer[i-1]; + } + } else { + GraphBuffer[i] = GraphBuffer[i-1]; + } + } + RepaintGraphWindow(); +} + + +/* + * Manchester demodulate a bitstream. The bitstream needs to be already in + * the GraphBuffer as 0 and 1 values + * + * Give the clock rate as argument in order to help the sync - the algorithm + * resyncs at each pulse anyway. + * + * Not optimized by any means, this is the 1st time I'm writing this type of + * routine, feel free to improve... + * + * 1st argument: clock rate (as number of samples per clock rate) + */ +static void Cmdmanchesterdemod(char *str) { + int i; + int clock; + int grouping=16; + int lastval; + int lc = 0; + int bitidx = 0; + int bitidx2; + + + sscanf(str, "%i", &clock); + + int tolerance = clock/4; + /* Holds the decoded bitstream. */ + int BitStream[MAX_GRAPH_TRACE_LEN*2]; + int BitStream2[MAX_GRAPH_TRACE_LEN]; + + /* Detect first transition */ + /* Lo-Hi (arbitrary) */ + for(i=1;i<GraphTraceLen;i++) { + if (GraphBuffer[i-1]<GraphBuffer[i]) { + lastval = i; + BitStream[0]=0; // Previous state = 0; + break; + } + } + + /* Then detect duration between 2 successive transitions */ + /* At this stage, GraphTrace is either 0 or 1 */ + for(bitidx = 1 ;i<GraphTraceLen;i++) { + if (GraphBuffer[i-1] != GraphBuffer[i]) { + lc = i-lastval; + lastval = i; + // Then switch depending on lc length: + // Tolerance is 1/4 of clock rate (arbitrary) + if ((lc-clock/2) < tolerance) { + // Short pulse + BitStream[bitidx++]=GraphBuffer[i-1]; + } else if ((lc-clock) < tolerance) { + // Long pulse + BitStream[bitidx++]=GraphBuffer[i-1]; + BitStream[bitidx++]=GraphBuffer[i-1]; + } else { + // Error + PrintToScrollback("Warning: Manchester decode error for pulse width detection."); + PrintToScrollback("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); + } + } + } + + // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream + for (bitidx2 = 0; bitidx2<bitidx; bitidx2 += 2) { + if ((BitStream[bitidx2] == 0) && (BitStream[bitidx2+1] == 1)) { + BitStream2[bitidx2/2] = 1; + } else if ((BitStream[bitidx2] == 1) && (BitStream[bitidx2+1] == 0)) { + BitStream2[bitidx2/2] = 0; + } else { + // We cannot end up in this stage, this means we are unsynchronized, + // move up 1 bit: + bitidx2++; + PrintToScrollback("Unsynchronized, resync..."); + PrintToScrollback("(too many of those messages mean the stream is not Manchester encoded)"); + } + } + PrintToScrollback("Manchester decoded bitstream \n---------"); + // Now output the bitstream to the scrollback by line of 16 bits + for (i = 0; i<bitidx/2; i+=16) { + PrintToScrollback("%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", + BitStream2[i], + BitStream2[i+1], + BitStream2[i+2], + BitStream2[i+3], + BitStream2[i+4], + BitStream2[i+5], + BitStream2[i+6], + BitStream2[i+7], + BitStream2[i+8], + BitStream2[i+9], + BitStream2[i+10], + BitStream2[i+11], + BitStream2[i+12], + BitStream2[i+13], + BitStream2[i+14], + BitStream2[i+15]); + } +} + + + +/* + * Usage ??? + */ +static void CmdHiddemod(char *str) +{ + if(GraphTraceLen < 4800) { + PrintToScrollback("too short; need at least 4800 samples"); + return; + } + + GraphTraceLen = 4800; + int i; + for(i = 0; i < GraphTraceLen; i++) { + if(GraphBuffer[i] < 0) { + GraphBuffer[i] = 0; + } else { + GraphBuffer[i] = 1; + } + } + RepaintGraphWindow(); +} + +static void CmdPlot(char *str) +{ + ShowGraphWindow(); +} + +static void CmdHide(char *str) +{ + HideGraphWindow(); +} + +static void CmdScale(char *str) +{ + CursorScaleFactor = atoi(str); + if(CursorScaleFactor == 0) { + PrintToScrollback("bad, can't have zero scale"); + CursorScaleFactor = 1; + } + RepaintGraphWindow(); +} + +static void CmdSave(char *str) +{ + FILE *f = fopen(str, "w"); + if(!f) { + PrintToScrollback("couldn't open '%s'", str); + return; + } + int i; + for(i = 0; i < GraphTraceLen; i++) { + fprintf(f, "%d\n", GraphBuffer[i]); + } + fclose(f); + PrintToScrollback("saved to '%s'", str); +} + +static void CmdLoad(char *str) +{ + FILE *f = fopen(str, "r"); + if(!f) { + PrintToScrollback("couldn't open '%s'", str); + return; + } + + GraphTraceLen = 0; + char line[80]; + while(fgets(line, sizeof(line), f)) { + GraphBuffer[GraphTraceLen] = atoi(line); + GraphTraceLen++; + } + fclose(f); + PrintToScrollback("loaded %d samples", GraphTraceLen); + RepaintGraphWindow(); +} + +static void CmdHIDsimTAG(char *str) +{ + unsigned int hi=0, lo=0; + int n=0, i=0; + UsbCommand c; + + while (sscanf(&str[i++], "%1x", &n ) == 1) { + hi=(hi<<4)|(lo>>28); + lo=(lo<<4)|(n&0xf); + } + + PrintToScrollback("Emulating tag with ID %x%16x", hi, lo); + + c.cmd = CMD_HID_SIM_TAG; + c.ext1 = hi; + c.ext2 = lo; + SendCommand(&c, FALSE); +} + +static void CmdLcdReset(char *str) +{ + UsbCommand c; + c.cmd = CMD_LCD_RESET; + c.ext1 = atoi(str); + SendCommand(&c, FALSE); +} + +static void CmdLcd(char *str) +{ + int i, j; + UsbCommand c; + c.cmd = CMD_LCD; + sscanf(str, "%x %d", &i, &j); + while (j--) { + c.ext1 = i&0x1ff; + SendCommand(&c, FALSE); + } +} + +static void CmdTest(char *str) +{ +} + +typedef void HandlerFunction(char *cmdline); + +static struct { + char *name; + HandlerFunction *handler; + char *docString; +} CommandTable[] = { + "tune", CmdTune, "measure antenna tuning", + "tiread", CmdTiread, "read a TI-type 134 kHz tag", + "tibits", CmdTibits, "get raw bits for TI-type LF tag", + "tidemod", CmdTidemod, "demod raw bits for TI-type LF tag", + "vchdemod", CmdVchdemod, "demod samples for VeriChip", + "plot", CmdPlot, "show graph window", + "hide", CmdHide, "hide graph window", + "losim", CmdLosim, "simulate LF tag", + "loread", CmdLoread, "read (125/134 kHz) LF ID-only tag", + "losamples", CmdLosamples, "get raw samples for LF tag", + "hisamples", CmdHisamples, "get raw samples for HF tag", + "hisampless", CmdHisampless, "get signed raw samples, HF tag", + "hisamplest", CmdHi14readt, "get samples HF, for testing", + "higet", CmdHi14read_sim, "get samples HF, 'analog'", + "bitsamples", CmdBitsamples, "get raw samples as bitstring", + "hexsamples", CmdHexsamples, "dump big buffer as hex bytes", + "hi15read", CmdHi15read, "read HF tag (ISO 15693)", + "hi15reader", CmdHi15reader, "act like an ISO15693 reader", // new command greg + "hi15sim", CmdHi15tag, "fake an ISO15693 tag", // new command greg + "hi14read", CmdHi14read, "read HF tag (ISO 14443)", + "hi14areader", CmdHi14areader, "act like an ISO14443 Type A reader", // ## New reader command + "hi15demod", CmdHi15demod, "demod ISO15693 from tag", + "hi14bdemod", CmdHi14bdemod, "demod ISO14443 Type B from tag", + "autocorr", CmdAutoCorr, "autocorrelation over window", + "norm", CmdNorm, "normalize max/min to +/-500", + "dec", CmdDec, "decimate", + "hpf", CmdHpf, "remove DC offset from trace", + "zerocrossings", CmdZerocrossings, "count time between zero-crossings", + "ltrim", CmdLtrim, "trim from left of trace", + "scale", CmdScale, "set cursor display scale", + "flexdemod", CmdFlexdemod, "demod samples for FlexPass", + "save", CmdSave, "save trace (from graph window)", + "load", CmdLoad, "load trace (to graph window", + "hisimlisten", CmdHisimlisten, "get HF samples as fake tag", + "hi14sim", CmdHi14sim, "fake ISO 14443 tag", + "hi14asim", CmdHi14asim, "fake ISO 14443a tag", // ## Simulate 14443a tag + "hi14snoop", CmdHi14snoop, "eavesdrop ISO 14443", + "hi14asnoop", CmdHi14asnoop, "eavesdrop ISO 14443 Type A", // ## New snoop command + "hi14list", CmdHi14list, "list ISO 14443 history", + "hi14alist", CmdHi14alist, "list ISO 14443a history", // ## New list command + "hiddemod", CmdHiddemod, "HID Prox Card II (not optimal)", + "hidfskdemod", CmdHIDdemodFSK, "HID FSK demodulator", + "askdemod", Cmdaskdemod, "Attempt to demodulate simple ASK tags", + "hidsimtag", CmdHIDsimTAG, "HID tag simulator", + "mandemod", Cmdmanchesterdemod, "Try a Manchester demodulation on a binary stream", + "fpgaoff", CmdFPGAOff, "set FPGA off", // ## FPGA Control + "lcdreset", CmdLcdReset, "Hardware reset LCD", + "lcd", CmdLcd, "Send command/data to LCD", + "test", CmdTest, "Placeholder command for testing new code", + "quit", CmdQuit, "quit program" +}; + +//----------------------------------------------------------------------------- +// Entry point into our code: called whenever the user types a command and +// then presses Enter, which the full command line that they typed. +//----------------------------------------------------------------------------- +void CommandReceived(char *cmd) +{ + int i; + + PrintToScrollback("> %s", cmd); + + if(strcmp(cmd, "help")==0) { + PrintToScrollback("\r\nAvailable commands:"); + for(i = 0; i < sizeof(CommandTable) / sizeof(CommandTable[0]); i++) { + char line[256]; + memset(line, ' ', sizeof(line)); + strcpy(line+2, CommandTable[i].name); + line[strlen(line)] = ' '; + sprintf(line+15, " -- %s", CommandTable[i].docString); + PrintToScrollback("%s", line); + } + PrintToScrollback(""); + PrintToScrollback("and also: help, cls"); + return; + } + + for(i = 0; i < sizeof(CommandTable) / sizeof(CommandTable[0]); i++) { + char *name = CommandTable[i].name; + if(memcmp(cmd, name, strlen(name))==0 && + (cmd[strlen(name)] == ' ' || cmd[strlen(name)] == '\0')) + { + cmd += strlen(name); + while(*cmd == ' ') { + cmd++; + } + (CommandTable[i].handler)(cmd); + return; + } + } + PrintToScrollback(">> bad command '%s'", cmd); +} + +//----------------------------------------------------------------------------- +// Entry point into our code: called whenever we received a packet over USB +// that we weren't necessarily expecting, for example a debug print. +//----------------------------------------------------------------------------- +void UsbCommandReceived(UsbCommand *c) +{ + switch(c->cmd) { + case CMD_DEBUG_PRINT_STRING: { + char s[100]; + if(c->ext1 > 70 || c->ext1 < 0) { + c->ext1 = 0; + } + memcpy(s, c->d.asBytes, c->ext1); + s[c->ext1] = '\0'; + PrintToScrollback("#db# %s", s); + break; + } + + case CMD_DEBUG_PRINT_INTEGERS: + PrintToScrollback("#db# %08x, %08x, %08x\r\n", c->ext1, c->ext2, c->ext3); + break; + + case CMD_MEASURED_ANTENNA_TUNING: { + int zLf, zHf; + int vLf125, vLf134, vHf; + vLf125 = c->ext1 & 0xffff; + vLf134 = c->ext1 >> 16; + vHf = c->ext2; + zLf = c->ext3 & 0xffff; + zHf = c->ext3 >> 16; + PrintToScrollback("# LF antenna @ %3d mA / %5d mV [%d ohms] 125Khz", + vLf125/zLf, vLf125, zLf); + PrintToScrollback("# LF antenna @ %3d mA / %5d mV [%d ohms] 134Khz", + vLf134/((zLf*125)/134), vLf134, (zLf*125)/134); + PrintToScrollback("# HF antenna @ %3d mA / %5d mV [%d ohms] 13.56Mhz", + vHf/zHf, vHf, zHf); + break; + } + default: + PrintToScrollback("unrecognized command %08x\n", c->cmd); + break; + } +} diff --git a/winsrc/gui.cpp b/winsrc/gui.cpp new file mode 100644 index 00000000..e4e530b3 --- /dev/null +++ b/winsrc/gui.cpp @@ -0,0 +1,510 @@ +//----------------------------------------------------------------------------- +// Routines for the user interface when doing interactive things with prox +// cards; this is basically a command line thing, in one window, and then +// another window to do the graphs. +// Jonathan Westhues, Sept 2005 +//----------------------------------------------------------------------------- +#include <windows.h> +#include <limits.h> +#include <commctrl.h> +#include <stdlib.h> +#include <stdio.h> +#include <math.h> + +#include "prox.h" + +#define oops() do { \ + char line[100]; \ + sprintf(line, "Internal error at line %d file '%s'", __LINE__, \ + __FILE__); \ + MessageBox(NULL, line, "Error", MB_ICONERROR); \ + exit(-1); \ +} while(0) + +void dbp(char *str, ...) +{ + va_list f; + char buf[1024]; + va_start(f, str); + vsprintf(buf, str, f); + OutputDebugString(buf); + OutputDebugString("\n"); +} + +int GraphBuffer[MAX_GRAPH_TRACE_LEN]; +int GraphTraceLen; + +HPEN GreyPen, GreenPen, WhitePen, YellowPen; +HBRUSH GreenBrush, YellowBrush; + +static int GraphStart = 0; +static double GraphPixelsPerPoint = 1; + +static int CursorAPos; +static int CursorBPos; +double CursorScaleFactor = 1.0; +static HPEN CursorAPen; +static HPEN CursorBPen; + +static HWND CommandWindow; +static HWND GraphWindow; +static HWND ScrollbackEdit; +static HWND CommandEdit; + +#define COMMAND_HISTORY_MAX 16 +static char CommandHistory[COMMAND_HISTORY_MAX][256]; +static int CommandHistoryPos = -1; +static int CommandHistoryNext; + +static HFONT MyFixedFont; +#define FixedFont(x) SendMessage((x), WM_SETFONT, (WPARAM)MyFixedFont, TRUE) + +void ExecCmd(char *cmd) +{ + +} +int CommandFinished; + +static void ResizeCommandWindow(void) +{ + int w, h; + RECT r; + GetClientRect(CommandWindow, &r); + w = r.right - r.left; + h = r.bottom - r.top; + MoveWindow(ScrollbackEdit, 10, 10, w - 20, h - 50, TRUE); + MoveWindow(CommandEdit, 10, h - 29, w - 20, 22, TRUE); +} + +void RepaintGraphWindow(void) +{ + InvalidateRect(GraphWindow, NULL, TRUE); +} + +static LRESULT CALLBACK + CommandWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) { + case WM_DESTROY: + case WM_QUIT: + exit(0); + return 0; + + case WM_SIZE: + ResizeCommandWindow(); + return 0; + + case WM_SETFOCUS: + SetFocus(CommandEdit); + break; + + default: + return DefWindowProc(hwnd, msg, wParam, lParam); + } + + return 1; +} + +static void PaintGraph(HDC hdc) +{ + HBRUSH brush; + HPEN pen; + + brush = GreenBrush; + pen = GreenPen; + + if(GraphStart < 0) { + GraphStart = 0; + } + + RECT r; + GetClientRect(GraphWindow, &r); + + SelectObject(hdc, WhitePen); + + MoveToEx(hdc, r.left + 40, r.top, NULL); + LineTo(hdc, r.left + 40, r.bottom); + + int zeroHeight = r.top + (r.bottom - r.top) / 2; + SelectObject(hdc, GreyPen); + MoveToEx(hdc, r.left, zeroHeight, NULL); + LineTo(hdc, r.right, zeroHeight); + + int startMax = + (GraphTraceLen - (int)((r.right - r.left - 40) / GraphPixelsPerPoint)); + if(startMax < 0) { + startMax = 0; + } + if(GraphStart > startMax) { + GraphStart = startMax; + } + + int absYMax = 1; + + SelectObject(hdc, pen); + + int i; + for(i = GraphStart; ; i++) { + if(i >= GraphTraceLen) { + break; + } + if(fabs((double)GraphBuffer[i]) > absYMax) { + absYMax = (int)fabs((double)GraphBuffer[i]); + } + int x = 40 + (int)((i - GraphStart)*GraphPixelsPerPoint); + if(x > r.right) { + break; + } + } + + absYMax = (int)(absYMax*1.2 + 1); + SelectObject(hdc, MyFixedFont); + SetTextColor(hdc, RGB(255, 255, 255)); + SetBkColor(hdc, RGB(0, 0, 0)); + + // number of points that will be plotted + int span = (int)((r.right - r.left) / GraphPixelsPerPoint); + // one label every 100 pixels, let us say + int labels = (r.right - r.left - 40) / 100; + if(labels <= 0) labels = 1; + int pointsPerLabel = span / labels; + if(pointsPerLabel <= 0) pointsPerLabel = 1; + + int yMin = INT_MAX; + int yMax = INT_MIN; + int yMean = 0; + int n = 0; + + for(i = GraphStart; ; i++) { + if(i >= GraphTraceLen) { + break; + } + int x = 40 + (int)((i - GraphStart)*GraphPixelsPerPoint); + if(x > r.right + GraphPixelsPerPoint) { + break; + } + + int y = GraphBuffer[i]; + if(y < yMin) { + yMin = y; + } + if(y > yMax) { + yMax = y; + } + yMean += y; + n++; + + y = (y * (r.top - r.bottom) / (2*absYMax)) + zeroHeight; + if(i == GraphStart) { + MoveToEx(hdc, x, y, NULL); + } else { + LineTo(hdc, x, y); + } + + if(GraphPixelsPerPoint > 10) { + RECT f; + f.left = x - 3; + f.top = y - 3; + f.right = x + 3; + f.bottom = y + 3; + FillRect(hdc, &f, brush); + } + + if(((i - GraphStart) % pointsPerLabel == 0) && i != GraphStart) { + SelectObject(hdc, WhitePen); + MoveToEx(hdc, x, zeroHeight - 3, NULL); + LineTo(hdc, x, zeroHeight + 3); + + char str[100]; + sprintf(str, "+%d", (i - GraphStart)); + SIZE size; + GetTextExtentPoint32(hdc, str, strlen(str), &size); + TextOut(hdc, x - size.cx, zeroHeight + 8, str, strlen(str)); + + SelectObject(hdc, pen); + MoveToEx(hdc, x, y, NULL); + } + + if(i == CursorAPos || i == CursorBPos) { + if(i == CursorAPos) { + SelectObject(hdc, CursorAPen); + } else { + SelectObject(hdc, CursorBPen); + } + MoveToEx(hdc, x, r.top, NULL); + LineTo(hdc, x, r.bottom); + + SelectObject(hdc, pen); + MoveToEx(hdc, x, y, NULL); + } + } + + if(n != 0) { + yMean /= n; + } + + char str[100]; + sprintf(str, "@%d max=%d min=%d mean=%d n=%d/%d dt=%d [%.3f]", + GraphStart, yMax, yMin, yMean, n, GraphTraceLen, + CursorBPos - CursorAPos, (CursorBPos - CursorAPos)/CursorScaleFactor); + TextOut(hdc, 50, r.bottom - 20, str, strlen(str)); +} + +static LRESULT CALLBACK + GraphWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) { + case WM_DESTROY: + case WM_QUIT: + GraphWindow = NULL; + return DefWindowProc(hwnd, msg, wParam, lParam); + + case WM_SIZE: + RepaintGraphWindow(); + return 0; + + case WM_PAINT: { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hwnd, &ps); + if(GraphStart < 0) { + GraphStart = 0; + } + // This draws the trace. + PaintGraph(hdc); + EndPaint(hwnd, &ps); + break; + } + case WM_KEYDOWN: + switch(wParam) { + case VK_DOWN: + if(GraphPixelsPerPoint <= 50) { + GraphPixelsPerPoint *= 2; + } + break; + + case VK_UP: + if(GraphPixelsPerPoint >= 0.02) { + GraphPixelsPerPoint /= 2; + } + break; + + case VK_RIGHT: + if(GraphPixelsPerPoint < 20) { + GraphStart += (int)(20 / GraphPixelsPerPoint); + } else { + GraphStart++; + } + break; + + case VK_LEFT: + if(GraphPixelsPerPoint < 20) { + GraphStart -= (int)(20 / GraphPixelsPerPoint); + } else { + GraphStart--; + } + break; + + default: + goto nopaint; + } + RepaintGraphWindow(); +nopaint: + break; + + case WM_LBUTTONDOWN: + case WM_RBUTTONDOWN: { + int x = LOWORD(lParam); + x -= 40; + x = (int)(x / GraphPixelsPerPoint); + x += GraphStart; + if(msg == WM_LBUTTONDOWN) { + CursorAPos = x; + } else { + CursorBPos = x; + } + RepaintGraphWindow(); + break; + } + default: + return DefWindowProc(hwnd, msg, wParam, lParam); + } + + return 1; +} + +void PrintToScrollback(char *fmt, ...) +{ + va_list f; + char str[1024]; + strcpy(str, "\r\n"); + va_start(f, fmt); + vsprintf(str+2, fmt, f); + + static char TextBuf[1024*32]; + SendMessage(ScrollbackEdit, WM_GETTEXT, (WPARAM)sizeof(TextBuf), + (LPARAM)TextBuf); + + if(strlen(TextBuf) + strlen(str) + 1 <= sizeof(TextBuf)) { + strcat(TextBuf, str); + } else { + lstrcpyn(TextBuf, str, sizeof(TextBuf)); + } + + SendMessage(ScrollbackEdit, WM_SETTEXT, 0, (LPARAM)TextBuf); + SendMessage(ScrollbackEdit, EM_LINESCROLL, 0, (LPARAM)INT_MAX); +} + +void ShowGraphWindow(void) +{ + if(GraphWindow) return; + + GraphWindow = CreateWindowEx(0, "Graph", "graphed", + WS_OVERLAPPED | WS_BORDER | WS_MINIMIZEBOX | WS_SYSMENU | + WS_SIZEBOX | WS_VISIBLE, 200, 150, 600, 500, NULL, NULL, NULL, + NULL); + if(!GraphWindow) oops(); +} + +void HideGraphWindow(void) +{ + if(GraphWindow) { + DestroyWindow(GraphWindow); + GraphWindow = NULL; + } +} + +static void SetCommandEditTo(char *str) +{ + SendMessage(CommandEdit, WM_SETTEXT, 0, (LPARAM)str); + SendMessage(CommandEdit, EM_SETSEL, strlen(str), strlen(str)); +} + +void ShowGui(void) +{ + WNDCLASSEX wc; + memset(&wc, 0, sizeof(wc)); + wc.cbSize = sizeof(wc); + + wc.style = CS_BYTEALIGNCLIENT | CS_BYTEALIGNWINDOW | CS_OWNDC; + wc.lpfnWndProc = (WNDPROC)CommandWindowProc; + wc.hInstance = NULL; + wc.hbrBackground = (HBRUSH)(COLOR_BTNSHADOW); + wc.lpszClassName = "Command"; + wc.lpszMenuName = NULL; + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + + if(!RegisterClassEx(&wc)) oops(); + + wc.lpszClassName = "Graph"; + wc.lpfnWndProc = (WNDPROC)GraphWindowProc; + wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); + + if(!RegisterClassEx(&wc)) oops(); + + CommandWindow = CreateWindowEx(0, "Command", "prox", + WS_OVERLAPPED | WS_BORDER | WS_MINIMIZEBOX | WS_SYSMENU | + WS_SIZEBOX | WS_VISIBLE, 20, 20, 500, 400, NULL, NULL, NULL, + NULL); + if(!CommandWindow) oops(); + + ScrollbackEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", + WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE | ES_MULTILINE | + ES_AUTOVSCROLL | WS_VSCROLL, 0, 0, 0, 0, CommandWindow, NULL, + NULL, NULL); + + CommandEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", + WS_CHILD | WS_CLIPSIBLINGS | WS_TABSTOP | WS_VISIBLE | + ES_AUTOHSCROLL, 0, 0, 0, 0, CommandWindow, NULL, NULL, NULL); + + MyFixedFont = CreateFont(14, 0, 0, 0, FW_REGULAR, FALSE, FALSE, FALSE, + ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, + FF_DONTCARE, "Lucida Console"); + if(!MyFixedFont) + MyFixedFont = (HFONT)GetStockObject(SYSTEM_FONT); + + FixedFont(ScrollbackEdit); + FixedFont(CommandEdit); + + ResizeCommandWindow(); + SetFocus(CommandEdit); + + PrintToScrollback(">> Started prox, built " __DATE__ " " __TIME__); + PrintToScrollback(">> Connected to device"); + + GreyPen = CreatePen(PS_SOLID, 1, RGB(100, 100, 100)); + GreenPen = CreatePen(PS_SOLID, 1, RGB(100, 255, 100)); + YellowPen = CreatePen(PS_SOLID, 1, RGB(255, 255, 0)); + GreenBrush = CreateSolidBrush(RGB(100, 255, 100)); + YellowBrush = CreateSolidBrush(RGB(255, 255, 0)); + WhitePen = CreatePen(PS_SOLID, 1, RGB(255, 255, 255)); + + CursorAPen = CreatePen(PS_DASH, 1, RGB(255, 255, 0)); + CursorBPen = CreatePen(PS_DASH, 1, RGB(255, 0, 255)); + + MSG msg; + for(;;) { + if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if(msg.message == WM_KEYDOWN && msg.wParam == VK_RETURN) { + char got[1024]; + SendMessage(CommandEdit, WM_GETTEXT, (WPARAM)sizeof(got), + (LPARAM)got); + + if(strcmp(got, "cls")==0) { + SendMessage(ScrollbackEdit, WM_SETTEXT, 0, (LPARAM)""); + } else { + CommandReceived(got); + } + SendMessage(CommandEdit, WM_SETTEXT, 0, (LPARAM)""); + + // Insert it into the command history, unless it is + // identical to the previous command in the history. + int prev = CommandHistoryNext - 1; + if(prev < 0) prev += COMMAND_HISTORY_MAX; + if(strcmp(CommandHistory[prev], got) != 0) { + strcpy(CommandHistory[CommandHistoryNext], got); + CommandHistoryNext++; + if(CommandHistoryNext == COMMAND_HISTORY_MAX) { + CommandHistoryNext = 0; + } + } + CommandHistoryPos = -1; + } else if(msg.message == WM_KEYDOWN && msg.wParam == VK_UP && + msg.hwnd == CommandEdit) + { + if(CommandHistoryPos == -1) { + CommandHistoryPos = CommandHistoryNext; + } + CommandHistoryPos--; + if(CommandHistoryPos < 0) { + CommandHistoryPos = COMMAND_HISTORY_MAX-1; + } + SetCommandEditTo(CommandHistory[CommandHistoryPos]); + } else if(msg.message == WM_KEYDOWN && msg.wParam == VK_DOWN && + msg.hwnd == CommandEdit) + { + CommandHistoryPos++; + if(CommandHistoryPos >= COMMAND_HISTORY_MAX) { + CommandHistoryPos = 0; + } + SetCommandEditTo(CommandHistory[CommandHistoryPos]); + } else if(msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE && + msg.hwnd == CommandEdit) + { + SendMessage(CommandEdit, WM_SETTEXT, 0, (LPARAM)""); + } else { + if(msg.message == WM_KEYDOWN) { + CommandHistoryPos = -1; + } + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + UsbCommand c; + if(ReceiveCommandPoll(&c)) { + UsbCommandReceived(&c); + } + + Sleep(10); + } +} diff --git a/winsrc/include/hidpi.h b/winsrc/include/hidpi.h new file mode 100644 index 00000000..e9816cf4 --- /dev/null +++ b/winsrc/include/hidpi.h @@ -0,0 +1,1787 @@ +/*++ + +Copyright (c) 1996-1998 Microsoft Corporation + +Module Name: + + HIDPI.H + +Abstract: + + Public Interface to the HID parsing library. + +Environment: + + Kernel & user mode + +--*/ + +#ifndef __HIDPI_H__ +#define __HIDPI_H__ + +#include <pshpack4.h> + +// Please include "hidsdi.h" to use the user space (dll / parser) +// Please include "hidpddi.h" to use the kernel space parser + +// +// Special Link collection values for using the query functions +// +// Root collection references the collection at the base of the link +// collection tree. +// Unspecifies, references all collections in the link collection tree. +// +#define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1) +#define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0) + + +typedef enum _HIDP_REPORT_TYPE +{ + HidP_Input, + HidP_Output, + HidP_Feature +} HIDP_REPORT_TYPE; + +typedef struct _USAGE_AND_PAGE +{ + USAGE Usage; + USAGE UsagePage; +} USAGE_AND_PAGE, *PUSAGE_AND_PAGE; + +#define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2)) + +typedef struct _HIDP_BUTTON_CAPS +{ + USAGE UsagePage; + UCHAR ReportID; + BOOLEAN IsAlias; + + USHORT BitField; + USHORT LinkCollection; // A unique internal index pointer + + USAGE LinkUsage; + USAGE LinkUsagePage; + + BOOLEAN IsRange; + BOOLEAN IsStringRange; + BOOLEAN IsDesignatorRange; + BOOLEAN IsAbsolute; + + ULONG Reserved[10]; + union { + struct { + USAGE UsageMin, UsageMax; + USHORT StringMin, StringMax; + USHORT DesignatorMin, DesignatorMax; + USHORT DataIndexMin, DataIndexMax; + } Range; + struct { + USAGE Usage, Reserved1; + USHORT StringIndex, Reserved2; + USHORT DesignatorIndex, Reserved3; + USHORT DataIndex, Reserved4; + } NotRange; + }; + +} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS; + + +typedef struct _HIDP_VALUE_CAPS +{ + USAGE UsagePage; + UCHAR ReportID; + BOOLEAN IsAlias; + + USHORT BitField; + USHORT LinkCollection; // A unique internal index pointer + + USAGE LinkUsage; + USAGE LinkUsagePage; + + BOOLEAN IsRange; + BOOLEAN IsStringRange; + BOOLEAN IsDesignatorRange; + BOOLEAN IsAbsolute; + + BOOLEAN HasNull; // Does this channel have a null report union + UCHAR Reserved; + USHORT BitSize; // How many bits are devoted to this value? + + USHORT ReportCount; // See Note below. Usually set to 1. + USHORT Reserved2[5]; + + ULONG UnitsExp; + ULONG Units; + + LONG LogicalMin, LogicalMax; + LONG PhysicalMin, PhysicalMax; + + union { + struct { + USAGE UsageMin, UsageMax; + USHORT StringMin, StringMax; + USHORT DesignatorMin, DesignatorMax; + USHORT DataIndexMin, DataIndexMax; + } Range; + + struct { + USAGE Usage, Reserved1; + USHORT StringIndex, Reserved2; + USHORT DesignatorIndex, Reserved3; + USHORT DataIndex, Reserved4; + } NotRange; + }; +} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS; + +// +// Notes: +// +// ReportCount: When a report descriptor declares an Input, Output, or +// Feature main item with fewer usage declarations than the report count, then +// the last usage applies to all remaining unspecified count in that main item. +// (As an example you might have data that required many fields to describe, +// possibly buffered bytes.) In this case, only one value cap structure is +// allocated for these associtated fields, all with the same usage, and Report +// Count reflects the number of fields involved. Normally ReportCount is 1. +// To access all of the fields in such a value structure would require using +// HidP_GetUsageValueArray and HidP_SetUsageValueArray. HidP_GetUsageValue/ +// HidP_SetScaledUsageValue will also work, however, these functions will only +// work with the first field of the structure. +// + +// +// The link collection tree consists of an array of LINK_COLLECTION_NODES +// where the index into this array is the same as the collection number. +// +// Given a collection A which contains a subcollection B, A is defined to be +// the parent B, and B is defined to be the child. +// +// Given collections A, B, and C where B and C are children of A, and B was +// encountered before C in the report descriptor, B is defined as a sibling of +// C. (This implies, of course, that if B is a sibling of C, then C is NOT a +// sibling of B). +// +// B is defined as the NextSibling of C if and only if there exists NO +// child collection of A, call it D, such that B is a sibling of D and D +// is a sibling of C. +// +// E is defined to be the FirstChild of A if and only if for all children of A, +// F, that are not equivalent to E, F is a sibling of E. +// (This implies, of course, that the does not exist a child of A, call it G, +// where E is a sibling of G). In other words the first sibling is the last +// link collection found in the list. +// +// In other words, if a collection B is defined within the definition of another +// collection A, B becomes a child of A. All collections with the same parent +// are considered siblings. The FirstChild of the parent collection, A, will be +// last collection defined that has A as a parent. The order of sibling pointers +// is similarly determined. When a collection B is defined, it becomes the +// FirstChild of it's parent collection. The previously defined FirstChild of the +// parent collection becomes the NextSibling of the new collection. As new +// collections with the same parent are discovered, the chain of sibling is built. +// +// With that in mind, the following describes conclusively a data structure +// that provides direct traversal up, down, and accross the link collection +// tree. +// +// +typedef struct _HIDP_LINK_COLLECTION_NODE +{ + USAGE LinkUsage; + USAGE LinkUsagePage; + USHORT Parent; + USHORT NumberOfChildren; + USHORT NextSibling; + USHORT FirstChild; + ULONG CollectionType: 8; // As defined in 6.2.2.6 of HID spec + ULONG IsAlias : 1; // This link node is an allias of the next link node. + ULONG Reserved: 23; + PVOID UserContext; // The user can hang his coat here. +} HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE; + +// +// When a link collection is described by a delimiter, alias link collection +// nodes are created. (One for each usage within the delimiter). +// The parser assigns each capability description listed above only one +// link collection. +// +// If a control is defined within a collection defined by +// delimited usages, then that control is said to be within multiple link +// collections, one for each usage within the open and close delimiter tokens. +// Such multiple link collecions are said to be aliases. The first N-1 such +// collections, listed in the link collection node array, have their IsAlias +// bit set. The last such link collection is the link collection index used +// in the capabilities described above. +// Clients wishing to set a control in an aliased collection, should walk the +// collection array once for each time they see the IsAlias flag set, and use +// the last link collection as the index for the below accessor functions. +// +// NB: if IsAlias is set, then NextSibling should be one more than the current +// link collection node index. +// + +typedef PUCHAR PHIDP_REPORT_DESCRIPTOR; +typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA; + +typedef struct _HIDP_CAPS +{ + USAGE Usage; + USAGE UsagePage; + USHORT InputReportByteLength; + USHORT OutputReportByteLength; + USHORT FeatureReportByteLength; + USHORT Reserved[17]; + + USHORT NumberLinkCollectionNodes; + + USHORT NumberInputButtonCaps; + USHORT NumberInputValueCaps; + USHORT NumberInputDataIndices; + + USHORT NumberOutputButtonCaps; + USHORT NumberOutputValueCaps; + USHORT NumberOutputDataIndices; + + USHORT NumberFeatureButtonCaps; + USHORT NumberFeatureValueCaps; + USHORT NumberFeatureDataIndices; +} HIDP_CAPS, *PHIDP_CAPS; + +typedef struct _HIDP_DATA +{ + USHORT DataIndex; + USHORT Reserved; + union { + ULONG RawValue; // for values + BOOLEAN On; // for buttons MUST BE TRUE for buttons. + }; +} HIDP_DATA, *PHIDP_DATA; +// +// The HIDP_DATA structure is used with HidP_GetData and HidP_SetData +// functions. +// +// The parser contiguously assigns every control (button or value) in a hid +// device a unique data index from zero to NumberXXXDataIndices -1 , inclusive. +// This value is found in the HIDP_BUTTON_CAPS and HIDP_VALUE_CAPS structures. +// +// Most clients will find the Get/Set Buttons / Value accessor functions +// sufficient to their needs, as they will allow the clients to access the +// data known to them while ignoring the other controls. +// +// More complex clients, which actually read the Button / Value Caps, and which +// do a value add service to these routines (EG Direct Input), will need to +// access all the data in the device without interest in the individual usage +// or link collection location. These are the clients that will find +// HidP_Data useful. +// + +typedef struct _HIDP_UNKNOWN_TOKEN +{ + UCHAR Token; + UCHAR Reserved[3]; + ULONG BitField; +} HIDP_UNKNOWN_TOKEN, *PHIDP_UNKNOWN_TOKEN; + +typedef struct _HIDP_EXTENDED_ATTRIBUTES +{ + UCHAR NumGlobalUnknowns; + UCHAR Reserved [3]; + PHIDP_UNKNOWN_TOKEN GlobalUnknowns; + // ... Additional attributes + ULONG Data [1]; // variableLength DO NOT ACCESS THIS FIELD +} HIDP_EXTENDED_ATTRIBUTES, *PHIDP_EXTENDED_ATTRIBUTES; + +NTSTATUS __stdcall +HidP_GetCaps ( + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PHIDP_CAPS Capabilities + ); +/*++ +Routine Description: + Returns a list of capabilities of a given hid device as described by its + preparsed data. + +Arguments: + PreparsedData The preparsed data returned from HIDCLASS. + Capabilities a HIDP_CAPS structure + +Return Value: +· HIDP_STATUS_SUCCESS +· HIDP_STATUS_INVALID_PREPARSED_DATA +--*/ + +NTSTATUS __stdcall +HidP_GetLinkCollectionNodes ( + OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, + IN OUT PULONG LinkCollectionNodesLength, + IN PHIDP_PREPARSED_DATA PreparsedData + ); +/*++ +Routine Description: + Return a list of PHIDP_LINK_COLLECTION_NODEs used to describe the link + collection tree of this hid device. See the above description of + struct _HIDP_LINK_COLLECTION_NODE. + +Arguments: + LinkCollectionNodes - a caller allocated array into which + HidP_GetLinkCollectionNodes will store the information + + LinKCollectionNodesLength - the caller sets this value to the length of the + the array in terms of number of elements. + HidP_GetLinkCollectionNodes sets this value to the actual + number of elements set. The total number of nodes required to + describe this HID device can be found in the + NumberLinkCollectionNodes field in the HIDP_CAPS structure. + +--*/ + +NTSTATUS __stdcall +HidP_GetButtonCaps ( + IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_BUTTON_CAPS ButtonCaps, + IN OUT PUSHORT ButtonCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData +); +#define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \ + HidP_GetSpecificButtonCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) +NTSTATUS __stdcall +HidP_GetSpecificButtonCaps ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, // Optional (0 => ignore) + IN USHORT LinkCollection, // Optional (0 => ignore) + IN USAGE Usage, // Optional (0 => ignore) + OUT PHIDP_BUTTON_CAPS ButtonCaps, + IN OUT PUSHORT ButtonCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData + ); +/*++ +Description: + HidP_GetButtonCaps returns all the buttons (binary values) that are a part + of the given report type for the Hid device represented by the given + preparsed data. + +Parameters: + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + UsagePage A usage page value used to limit the button caps returned to + those on a given usage page. If set to 0, this parameter is + ignored. Can be used with LinkCollection and Usage parameters + to further limit the number of button caps structures returned. + + LinkCollection HIDP_LINK_COLLECTION node array index used to limit the + button caps returned to those buttons in a given link + collection. If set to 0, this parameter is + ignored. Can be used with UsagePage and Usage parameters + to further limit the number of button caps structures + returned. + + Usage A usage value used to limit the button caps returned to those + with the specified usage value. If set to 0, this parameter + is ignored. Can be used with LinkCollection and UsagePage + parameters to further limit the number of button caps + structures returned. + + ButtonCaps A _HIDP_BUTTON_CAPS array containing information about all the + binary values in the given report. This buffer is provided by + the caller. + + ButtonLength As input, this parameter specifies the length of the + ButtonCaps parameter (array) in number of array elements. + As output, this value is set to indicate how many of those + array elements were filled in by the function. The maximum number of + button caps that can be returned is found in the HIDP_CAPS + structure. If HIDP_STATUS_BUFFER_TOO_SMALL is returned, + this value contains the number of array elements needed to + successfully complete the request. + + PreparsedData The preparsed data returned from HIDCLASS. + + +Return Value +HidP_GetSpecificButtonCaps returns the following error codes: +· HIDP_STATUS_SUCCESS. +· HIDP_STATUS_INVALID_REPORT_TYPE +· HIDP_STATUS_INVALID_PREPARSED_DATA +· HIDP_STATUS_BUFFER_TOO_SMALL (all given entries however have been filled in) +· HIDP_STATUS_USAGE_NOT_FOUND +--*/ + +NTSTATUS __stdcall +HidP_GetValueCaps ( + IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_VALUE_CAPS ValueCaps, + IN OUT PUSHORT ValueCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData +); +#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \ + HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) +NTSTATUS __stdcall +HidP_GetSpecificValueCaps ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, // Optional (0 => ignore) + IN USHORT LinkCollection, // Optional (0 => ignore) + IN USAGE Usage, // Optional (0 => ignore) + OUT PHIDP_VALUE_CAPS ValueCaps, + IN OUT PUSHORT ValueCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData + ); +/*++ +Description: + HidP_GetValueCaps returns all the values (non-binary) that are a part + of the given report type for the Hid device represented by the given + preparsed data. + +Parameters: + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + UsagePage A usage page value used to limit the value caps returned to + those on a given usage page. If set to 0, this parameter is + ignored. Can be used with LinkCollection and Usage parameters + to further limit the number of value caps structures returned. + + LinkCollection HIDP_LINK_COLLECTION node array index used to limit the + value caps returned to those buttons in a given link + collection. If set to 0, this parameter is + ignored. Can be used with UsagePage and Usage parameters + to further limit the number of value caps structures + returned. + + Usage A usage value used to limit the value caps returned to those + with the specified usage value. If set to 0, this parameter + is ignored. Can be used with LinkCollection and UsagePage + parameters to further limit the number of value caps + structures returned. + + ValueCaps A _HIDP_VALUE_CAPS array containing information about all the + non-binary values in the given report. This buffer is provided + by the caller. + + ValueLength As input, this parameter specifies the length of the ValueCaps + parameter (array) in number of array elements. As output, + this value is set to indicate how many of those array elements + were filled in by the function. The maximum number of + value caps that can be returned is found in the HIDP_CAPS + structure. If HIDP_STATUS_BUFFER_TOO_SMALL is returned, + this value contains the number of array elements needed to + successfully complete the request. + + PreparsedData The preparsed data returned from HIDCLASS. + + +Return Value +HidP_GetValueCaps returns the following error codes: +· HIDP_STATUS_SUCCESS. +· HIDP_STATUS_INVALID_REPORT_TYPE +· HIDP_STATUS_INVALID_PREPARSED_DATA +· HIDP_STATUS_BUFFER_TOO_SMALL (all given entries however have been filled in) +· HIDP_STATUS_USAGE_NOT_FOUND + +--*/ + +NTSTATUS __stdcall +HidP_GetExtendedAttributes ( + IN HIDP_REPORT_TYPE ReportType, + IN USHORT DataIndex, + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PHIDP_EXTENDED_ATTRIBUTES Attributes, + IN OUT PULONG LengthAttributes + ); +/*++ +Description: + Given a data index from the value or button capabilities of a given control + return any extended attributes for the control if any exist. + +Parameters: + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + DataIndex The data index for the given control, found in the capabilities + structure for that control + + PreparsedData The preparsed data returned from HIDCLASS. + + Attributes Pointer to a buffer into which the extended attribute data will + be copied. + + LengthAttributes Length of the given buffer in bytes. + +Return Value + HIDP_STATUS_SUCCESS + HIDP_STATUS_DATA_INDEX_NOT_FOUND +--*/ + +NTSTATUS __stdcall +HidP_InitializeReportForID ( + IN HIDP_REPORT_TYPE ReportType, + IN UCHAR ReportID, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + + Initialize a report based on the given report ID. + +Parameters: + + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + PreparasedData Preparsed data structure returned by HIDCLASS + + Report Buffer which to set the data into. + + ReportLength Length of Report...Report should be at least as long as the + value indicated in the HIDP_CAPS structure for the device and + the corresponding ReportType + +Return Value + +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not equal + to the length specified in HIDP_CAPS + structure for the given ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType + +--*/ + +NTSTATUS __stdcall +HidP_SetData ( + IN HIDP_REPORT_TYPE ReportType, + IN PHIDP_DATA DataList, + IN OUT PULONG DataLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + + Please Note: Since usage value arrays deal with multiple fields for + for one usage value, they cannot be used with HidP_SetData + and HidP_GetData. In this case, + HIDP_STATUS_IS_USAGE_VALUE_ARRAY will be returned. + +Parameters: + + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + DataList Array of HIDP_DATA structures that contains the data values + that are to be set into the given report + + DataLength As input, length in array elements of DataList. As output, + contains the number of data elements set on successful + completion or an index into the DataList array to identify + the faulting HIDP_DATA value if an error code is returned. + + PreparasedData Preparsed data structure returned by HIDCLASS + + Report Buffer which to set the data into. + + ReportLength Length of Report...Report should be at least as long as the + value indicated in the HIDP_CAPS structure for the device and + the corresponding ReportType + +Return Value + HidP_SetData returns the following error codes. The report packet will + have all the data set up until the HIDP_DATA structure that caused the + error. DataLength, in the error case, will return this problem index. + +· HIDP_STATUS_SUCCESS -- upon successful insertion of all data + into the report packet. +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_DATA_INDEX_NOT_FOUND -- if a HIDP_DATA structure referenced a + data index that does not exist for this + device's ReportType +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not equal + to the length specified in HIDP_CAPS + structure for the given ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_IS_USAGE_VALUE_ARRAY -- if one of the HIDP_DATA structures + references a usage value array. + DataLength will contain the index into + the array that was invalid +· HIDP_STATUS_BUTTON_NOT_PRESSED -- if a HIDP_DATA structure attempted + to unset a button that was not already + set in the Report +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- a HIDP_DATA structure was found with + a valid index value but is contained + in a different report than the one + currently being processed +· HIDP_STATUS_BUFFER_TOO_SMALL -- if there are not enough entries in + a given Main Array Item to report all + buttons that have been requested to be + set +--*/ + +NTSTATUS __stdcall +HidP_GetData ( + IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_DATA DataList, + IN OUT PULONG DataLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + + Please Note: For obvious reasons HidP_SetData and HidP_GetData will not + access UsageValueArrays. + +Parameters: + ReportType One of HidP_Input, HidP_Output, or HidP_Feature. + + DataList Array of HIDP_DATA structures that will receive the data + values that are set in the given report + + DataLength As input, length in array elements of DataList. As output, + contains the number of data elements that were successfully + set by HidP_GetData. The maximum size necessary for DataList + can be determined by calling HidP_MaxDataListLength + + PreparasedData Preparsed data structure returned by HIDCLASS + + Report Buffer which to set the data into. + + ReportLength Length of Report...Report should be at least as long as the + value indicated in the HIDP_CAPS structure for the device and + the corresponding ReportType + +Return Value + HidP_GetData returns the following error codes. + +· HIDP_STATUS_SUCCESS -- upon successful retrieval of all data + from the report packet. +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not equal + to the length specified in HIDP_CAPS + structure for the given ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_BUFFER_TOO_SMALL -- if there are not enough array entries in + DataList to store all the indice values + in the given report. DataLength will + contain the number of array entries + required to hold all data +--*/ + +ULONG __stdcall +HidP_MaxDataListLength ( + IN HIDP_REPORT_TYPE ReportType, + IN PHIDP_PREPARSED_DATA PreparsedData + ); +/*++ +Routine Description: + + This function returns the maximum length of HIDP_DATA elements that + HidP_GetData could return for the given report type. + +Parameters: + + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + PreparsedData Preparsed data structure returned by HIDCLASS + +Return Value: + + The length of the data list array required for the HidP_GetData function + call. If an error occurs (either HIDP_STATUS_INVALID_REPORT_TYPE or + HIDP_STATUS_INVALID_PREPARSED_DATA), this function returns 0. + +--*/ + +#define HidP_SetButtons(Rty, Up, Lco, ULi, ULe, Ppd, Rep, Rle) \ + HidP_SetUsages(Rty, Up, Lco, ULi, ULe, Ppd, Rep, Rle) + +NTSTATUS __stdcall +HidP_SetUsages ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + This function sets binary values (buttons) in a report. Given an + initialized packet of correct length, it modifies the report packet so that + each element in the given list of usages has been set in the report packet. + For example, in an output report with 5 LED’s, each with a given usage, + an application could turn on any subset of these lights by placing their + usages in any order into the usage array (UsageList). HidP_SetUsages would, + in turn, set the appropriate bit or add the corresponding byte into the + HID Main Array Item. + + A properly initialized Report packet is one of the correct byte length, + and all zeros. + + NOTE: A packet that has already been set with a call to a HidP_Set routine + can also be passed in. This routine then sets processes the UsageList + in the same fashion but verifies that the ReportID already set in + Report matches the report ID for the given usages. + +Parameters: + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + UsagePage All of the usages in the usage array, which HidP_SetUsages will + set in the report, refer to this same usage page. + If a client wishes to set usages in a report for multiple + usage pages then that client needs to make multiple calls to + HidP_SetUsages for each of the usage pages. + + UsageList A usage array containing the usages that HidP_SetUsages will set in + the report packet. + + UsageLength The length of the given usage array in array elements. + The parser will set this value to the position in the usage + array where it stopped processing. If successful, UsageLength + will be unchanged. In any error condition, this parameter + reflects how many of the usages in the usage list have + actually been set by the parser. This is useful for finding + the usage in the list which caused the error. + + PreparsedData The preparsed data recevied from HIDCLASS + + Report The report packet. + + ReportLength Length of the given report packet...Must be equal to the + value reported in the HIDP_CAPS structure for the device + and corresponding report type. + +Return Value + HidP_SetUsages returns the following error codes. On error, the report packet + will be correct up until the usage element that caused the error. + +· HIDP_STATUS_SUCCESS -- upon successful insertion of all usages + into the report packet. +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- if a usage was found that exists in a + different report. If the report is + zero-initialized on entry the first + usage in the list will determine which + report ID is used. Otherwise, the + parser will verify that usage matches + the passed in report's ID +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage does not exist for any + report (no matter what the report ID) + for the given report type. +· HIDP_STATUS_BUFFER_TOO_SMALL -- if there are not enough entries in a + given Main Array Item to list all of + the given usages. The caller needs + to split his request into more than + one call +--*/ + +#define HidP_UnsetButtons(Rty, Up, Lco, ULi, ULe, Ppd, Rep, Rle) \ + HidP_UnsetUsages(Rty, Up, Lco, ULi, ULe, Ppd, Rep, Rle) + +NTSTATUS __stdcall +HidP_UnsetUsages ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + This function unsets (turns off) binary values (buttons) in the report. Given + an initialized packet of correct length, it modifies the report packet so + that each element in the given list of usages has been unset in the + report packet. + + This function is the "undo" operation for SetUsages. If the given usage + is not already set in the Report, it will return an error code of + HIDP_STATUS_BUTTON_NOT_PRESSED. If the button is pressed, HidP_UnsetUsages + will unset the appropriate bit or remove the corresponding index value from + the HID Main Array Item. + + A properly initialized Report packet is one of the correct byte length, + and all zeros.. + + NOTE: A packet that has already been set with a call to a HidP_Set routine + can also be passed in. This routine then processes the UsageList + in the same fashion but verifies that the ReportID already set in + Report matches the report ID for the given usages. + +Parameters: + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + UsagePage All of the usages in the usage array, which HidP_UnsetUsages will + unset in the report, refer to this same usage page. + If a client wishes to unset usages in a report for multiple + usage pages then that client needs to make multiple calls to + HidP_UnsetUsages for each of the usage pages. + + UsageList A usage array containing the usages that HidP_UnsetUsages will + unset in the report packet. + + UsageLength The length of the given usage array in array elements. + The parser will set this value to the position in the usage + array where it stopped processing. If successful, UsageLength + will be unchanged. In any error condition, this parameter + reflects how many of the usages in the usage list have + actually been unset by the parser. This is useful for finding + the usage in the list which caused the error. + + PreparsedData The preparsed data recevied from HIDCLASS + + Report The report packet. + + ReportLength Length of the given report packet...Must be equal to the + value reported in the HIDP_CAPS structure for the device + and corresponding report type. + +Return Value + HidP_UnsetUsages returns the following error codes. On error, the report + packet will be correct up until the usage element that caused the error. + +· HIDP_STATUS_SUCCESS -- upon successful "unsetting" of all usages + in the report packet. +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- if a usage was found that exists in a + different report. If the report is + zero-initialized on entry the first + usage in the list will determine which + report ID is used. Otherwise, the + parser will verify that usage matches + the passed in report's ID +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage does not exist for any + report (no matter what the report ID) + for the given report type. +· HIDP_STATUS_BUTTON_NOT_PRESSED -- if a usage corresponds to a button that + is not already set in the given report +--*/ + +#define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \ + HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) + +NTSTATUS __stdcall +HidP_GetUsages ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + OUT USAGE * UsageList, + IN OUT ULONG * UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); +/*++ + +Routine Description: + This function returns the binary values (buttons) that are set in a HID + report. Given a report packet of correct length, it searches the report + packet for each usage for the given usage page and returns them in the + usage list. + +Parameters: + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + UsagePage All of the usages in the usage list, which HidP_GetUsages will + retrieve in the report, refer to this same usage page. + If the client wishes to get usages in a packet for multiple + usage pages then that client needs to make multiple calls + to HidP_GetUsages. + + LinkCollection An optional value which can limit which usages are returned + in the UsageList to those usages that exist in a specific + LinkCollection. A non-zero value indicates the index into + the HIDP_LINK_COLLECITON_NODE list returned by + HidP_GetLinkCollectionNodes of the link collection the + usage should belong to. A value of 0 indicates this + should value be ignored. + + UsageList The usage array that will contain all the usages found in + the report packet. + + UsageLength The length of the given usage array in array elements. + On input, this value describes the length of the usage list. + On output, HidP_GetUsages sets this value to the number of + usages that was found. Use HidP_MaxUsageListLength to + determine the maximum length needed to return all the usages + that a given report packet may contain. + + PreparsedData Preparsed data structure returned by HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet + + +Return Value + HidP_GetUsages returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully retrieving all the + usages from the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_BUFFER_TOO_SMALL -- if the UsageList is not big enough to + hold all the usages found in the report + packet. If this is returned, the buffer + will contain UsageLength number of + usages. Use HidP_MaxUsageListLength to + find the maximum length needed +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- if no usages were found but usages + that match the UsagePage and + LinkCollection specified could be found + in a report with a different report ID +· HIDP_STATUS_USAGE_NOT_FOUND -- if there are no usages in a reports for + the device and ReportType that match the + UsagePage and LinkCollection that were + specified +--*/ + +#define HidP_GetButtonsEx(Rty, LCo, BLi, ULe, Ppd, Rep, RLe) \ + HidP_GetUsagesEx(Rty, LCo, BLi, ULe, Ppd, Rep, RLe) + +NTSTATUS __stdcall +HidP_GetUsagesEx ( + IN HIDP_REPORT_TYPE ReportType, + IN USHORT LinkCollection, // Optional + OUT PUSAGE_AND_PAGE ButtonList, + IN OUT ULONG * UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); + +/*++ + +Routine Description: + This function returns the binary values (buttons) in a HID report. + Given a report packet of correct length, it searches the report packet + for all buttons and returns the UsagePage and Usage for each of the buttons + it finds. + +Parameters: + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + LinkCollection An optional value which can limit which usages are returned + in the ButtonList to those usages that exist in a specific + LinkCollection. A non-zero value indicates the index into + the HIDP_LINK_COLLECITON_NODE list returned by + HidP_GetLinkCollectionNodes of the link collection the + usage should belong to. A value of 0 indicates this + should value be ignored. + + ButtonList An array of USAGE_AND_PAGE structures describing all the + buttons currently ``down'' in the device. + + UsageLength The length of the given array in terms of elements. + On input, this value describes the length of the list. On + output, HidP_GetUsagesEx sets this value to the number of + usages that were found. Use HidP_MaxUsageListLength to + determine the maximum length needed to return all the usages + that a given report packet may contain. + + PreparsedData Preparsed data returned by HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value + HidP_GetUsagesEx returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully retrieving all the + usages from the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_BUFFER_TOO_SMALL -- if ButtonList is not big enough to + hold all the usages found in the report + packet. If this is returned, the buffer + will contain UsageLength number of + usages. Use HidP_MaxUsageListLength to + find the maximum length needed +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- if no usages were found but usages + that match the specified LinkCollection + exist in report with a different report + ID. +· HIDP_STATUS_USAGE_NOT_FOUND -- if there are no usages in any reports that + match the LinkCollection parameter +--*/ + +#define HidP_GetButtonListLength(RTy, UPa, Ppd) \ + HidP_GetUsageListLength(Rty, UPa, Ppd) + +ULONG __stdcall +HidP_MaxUsageListLength ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, // Optional + IN PHIDP_PREPARSED_DATA PreparsedData + ); +/*++ +Routine Description: + This function returns the maximum number of usages that a call to + HidP_GetUsages or HidP_GetUsagesEx could return for a given HID report. + If calling for number of usages returned by HidP_GetUsagesEx, use 0 as + the UsagePage value. + +Parameters: + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + UsagePage Specifies the optional UsagePage to query for. If 0, will + return all the maximum number of usage values that could be + returned for a given ReportType. If non-zero, will return + the maximum number of usages that would be returned for the + ReportType with the given UsagePage. + + PreparsedData Preparsed data returned from HIDCLASS + +Return Value: + The length of the usage list array required for the HidP_GetUsages or + HidP_GetUsagesEx function call. If an error occurs (such as + HIDP_STATUS_INVALID_REPORT_TYPE or HIDP_INVALID_PREPARSED_DATA, this + returns 0. +--*/ + +NTSTATUS __stdcall +HidP_SetUsageValue ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + IN ULONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); +/*++ +Description: + HidP_SetUsageValue inserts a value into the HID Report Packet in the field + corresponding to the given usage page and usage. HidP_SetUsageValue + casts this value to the appropriate bit length. If a report packet + contains two different fields with the same Usage and UsagePage, + they can be distinguished with the optional LinkCollection field value. + Using this function sets the raw value into the report packet with + no checking done as to whether it actually falls within the logical + minimum/logical maximum range. Use HidP_SetScaledUsageValue for this... + + NOTE: Although the UsageValue parameter is a ULONG, any casting that is + done will preserve or sign-extend the value. The value being set + should be considered a LONG value and will be treated as such by + this function. + +Parameters: + + ReportType One of HidP_Output or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will set the first field + it finds that matches the usage page and + usage. + + Usage The usage whose value HidP_SetUsageValue will set. + + UsageValue The raw value to set in the report buffer. This value must be within + the logical range or if a NULL value this value should be the + most negative value that can be represented by the number of bits + for this field. + + PreparsedData The preparsed data returned for HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value: + HidP_SetUsageValue returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully setting the value + in the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call HidP_SetUsageValue + again with a zero-initizialed report + packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + +NTSTATUS __stdcall +HidP_SetScaledUsageValue ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + IN LONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength + ); + +/*++ +Description: + HidP_SetScaledUsageValue inserts the UsageValue into the HID report packet + in the field corresponding to the given usage page and usage. If a report + packet contains two different fields with the same Usage and UsagePage, + they can be distinguished with the optional LinkCollection field value. + + If the specified field has a defined physical range, this function converts + the physical value specified to the corresponding logical value for the + report. If a physical value does not exist, the function will verify that + the value specified falls within the logical range and set according. + + If the range checking fails but the field has NULL values, the function will + set the field to the defined NULL value (most negative number possible) and + return HIDP_STATUS_NULL. In other words, use this function to set NULL + values for a given field by passing in a value that falls outside the + physical range if it is defined or the logical range otherwise. + + If the field does not support NULL values, an out of range error will be + returned instead. + +Parameters: + + ReportType One of HidP_Output or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will set the first field + it finds that matches the usage page and + usage. + + Usage The usage whose value HidP_SetScaledUsageValue will set. + + UsageValue The value to set in the report buffer. See the routine + description above for the different interpretations of this + value + + PreparsedData The preparsed data returned from HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value: + HidP_SetScaledUsageValue returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully setting the value + in the report packet +· HIDP_STATUS_NULL -- upon successfully setting the value + in the report packet as a NULL value +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_VALUE_OUT_OF_RANGE -- if the value specified failed to fall + within the physical range if it exists + or within the logical range otherwise + and the field specified by the usage + does not allow NULL values +· HIDP_STATUS_BAD_LOG_PHY_VALUES -- if the field has a physical range but + either the logical range is invalid + (max <= min) or the physical range is + invalid +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call + HidP_SetScaledUsageValue again with + a zero-initialized report packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + +NTSTATUS __stdcall +HidP_SetUsageValueArray ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + IN PCHAR UsageValue, + IN USHORT UsageValueByteLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PCHAR Report, + IN ULONG ReportLength + ); + +/*++ +Routine Descripton: + A usage value array occurs when the last usage in the list of usages + describing a main item must be repeated because there are less usages defined + than there are report counts declared for the given main item. In this case + a single value cap is allocated for that usage and the report count of that + value cap is set to reflect the number of fields to which that usage refers. + + HidP_SetUsageValueArray sets the raw bits for that usage which spans + more than one field in a report. + + NOTE: This function currently does not support value arrays where the + ReportSize for each of the fields in the array is not a multiple + of 8 bits. + + The UsageValue buffer should have the values set as they would appear + in the report buffer. If this function supported non 8-bit multiples + for the ReportSize then caller should format the input buffer so that + each new value begins at the bit immediately following the last bit + of the previous value + +Parameters: + + ReportType One of HidP_Output or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will set the first field + it finds that matches the usage page and + usage. + + Usage The usage whose value array HidP_SetUsageValueArray will set. + + UsageValue The buffer with the values to set into the value array. + The number of BITS required is found by multiplying the + BitSize and ReportCount fields of the Value Cap for this + control. The least significant bit of this control found in the + given report will be placed in the least significan bit location + of the array given (little-endian format), regardless of whether + or not the field is byte alligned or if the BitSize is a multiple + of sizeof (CHAR). + + See the above note for current implementation limitations. + + UsageValueByteLength Length of the UsageValue buffer (in bytes) + + PreparsedData The preparsed data returned from HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value: +· HIDP_STATUS_SUCCESS -- upon successfully setting the value + array in the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_NOT_VALUE_ARRAY -- if the control specified is not a + value array -- a value array will have + a ReportCount field in the + HIDP_VALUE_CAPS structure that is > 1 + Use HidP_SetUsageValue instead +· HIDP_STATUS_BUFFER_TOO_SMALL -- if the size of the passed in buffer with + the values to set is too small (ie. has + fewer values than the number of fields in + the array +· HIDP_STATUS_NOT_IMPLEMENTED -- if the usage value array has field sizes + that are not multiples of 8 bits, this + error code is returned since the function + currently does not handle setting into + such arrays. +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call + HidP_SetUsageValueArray again with + a zero-initialized report packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + + +NTSTATUS __stdcall +HidP_GetUsageValue ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + OUT PULONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); + +/* +Description + HidP_GetUsageValue retrieves the value from the HID Report for the usage + specified by the combination of usage page, usage and link collection. + If a report packet contains two different fields with the same + Usage and UsagePage, they can be distinguished with the optional + LinkCollection field value. + +Parameters: + + ReportType One of HidP_Input or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will set the first field + it finds that matches the usage page and + usage. + + Usage The usage whose value HidP_GetUsageValue will retrieve + + UsageValue The raw value that is set for the specified field in the report + buffer. This value will either fall within the logical range + or if NULL values are allowed, a number outside the range to + indicate a NULL + + PreparsedData The preparsed data returned for HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value: + HidP_GetUsageValue returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully retrieving the value + from the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_REPORT_DOES_NOT_EXIST -- if there are no reports on this device + for the given ReportType +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call HidP_GetUsageValue + again with a different report packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + + +NTSTATUS __stdcall +HidP_GetScaledUsageValue ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + OUT PLONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); + +/*++ +Description + HidP_GetScaledUsageValue retrieves a UsageValue from the HID report packet + in the field corresponding to the given usage page and usage. If a report + packet contains two different fields with the same Usage and UsagePage, + they can be distinguished with the optional LinkCollection field value. + + If the specified field has a defined physical range, this function converts + the logical value that exists in the report packet to the corresponding + physical value. If a physical range does not exist, the function will + return the logical value. This function will check to verify that the + logical value in the report falls within the declared logical range. + + When doing the conversion between logical and physical values, this + function assumes a linear extrapolation between the physical max/min and + the logical max/min. (Where logical is the values reported by the device + and physical is the value returned by this function). If the data field + size is less than 32 bits, then HidP_GetScaledUsageValue will sign extend + the value to 32 bits. + + If the range checking fails but the field has NULL values, the function + will set UsageValue to 0 and return HIDP_STATUS_NULL. Otherwise, it + returns a HIDP_STATUS_OUT_OF_RANGE error. + +Parameters: + + ReportType One of HidP_Output or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will retrieve the first + field it finds that matches the usage page + and usage. + + Usage The usage whose value HidP_GetScaledUsageValue will retrieve + + UsageValue The value retrieved from the report buffer. See the routine + description above for the different interpretations of this + value + + PreparsedData The preparsed data returned from HIDCLASS + + Report The report packet. + + ReportLength Length (in bytes) of the given report packet. + + +Return Value: + HidP_GetScaledUsageValue returns the following error codes: + +· HIDP_STATUS_SUCCESS -- upon successfully retrieving the value + from the report packet +· HIDP_STATUS_NULL -- if the report packet had a NULL value + set +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_VALUE_OUT_OF_RANGE -- if the value retrieved from the packet + falls outside the logical range and + the field does not support NULL values +· HIDP_STATUS_BAD_LOG_PHY_VALUES -- if the field has a physical range but + either the logical range is invalid + (max <= min) or the physical range is + invalid +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call + HidP_GetScaledUsageValue with a + different report packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + +NTSTATUS __stdcall +HidP_GetUsageValueArray ( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, // Optional + IN USAGE Usage, + OUT PCHAR UsageValue, + IN USHORT UsageValueByteLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength + ); + +/*++ +Routine Descripton: + A usage value array occurs when the last usage in the list of usages + describing a main item must be repeated because there are less usages defined + than there are report counts declared for the given main item. In this case + a single value cap is allocated for that usage and the report count of that + value cap is set to reflect the number of fields to which that usage refers. + + HidP_GetUsageValueArray returns the raw bits for that usage which spans + more than one field in a report. + + NOTE: This function currently does not support value arrays where the + ReportSize for each of the fields in the array is not a multiple + of 8 bits. + + The UsageValue buffer will have the raw values as they are set + in the report packet. + +Parameters: + + ReportType One of HidP_Input, HidP_Output or HidP_Feature. + + UsagePage The usage page to which the given usage refers. + + LinkCollection (Optional) This value can be used to differentiate + between two fields that may have the same + UsagePage and Usage but exist in different + collections. If the link collection value + is zero, this function will set the first field + it finds that matches the usage page and + usage. + + Usage The usage whose value HidP_GetUsageValueArray will retreive. + + UsageValue A pointer to an array of characters where the value will be + placed. The number of BITS required is found by multiplying the + BitSize and ReportCount fields of the Value Cap for this + control. The least significant bit of this control found in the + given report will be placed in the least significant bit location + of the buffer (little-endian format), regardless of whether + or not the field is byte aligned or if the BitSize is a multiple + of sizeof (CHAR). + + See note above about current implementation limitations + + UsageValueByteLength + the length of the given UsageValue buffer. + + PreparsedData The preparsed data returned by the HIDCLASS + + Report The report packet. + + ReportLength Length of the given report packet. + +Return Value: + +· HIDP_STATUS_SUCCESS -- upon successfully retrieving the value + from the report packet +· HIDP_STATUS_INVALID_REPORT_TYPE -- if ReportType is not valid. +· HIDP_STATUS_INVALID_PREPARSED_DATA -- if PreparsedData is not valid +· HIDP_STATUS_INVALID_REPORT_LENGTH -- the length of the report packet is not + equal to the length specified in + the HIDP_CAPS structure for the given + ReportType +· HIDP_STATUS_NOT_VALUE_ARRAY -- if the control specified is not a + value array -- a value array will have + a ReportCount field in the + HIDP_VALUE_CAPS structure that is > 1 + Use HidP_GetUsageValue instead +· HIDP_STATUS_BUFFER_TOO_SMALL -- if the size of the passed in buffer in + which to return the array is too small + (ie. has fewer values than the number of + fields in the array +· HIDP_STATUS_NOT_IMPLEMENTED -- if the usage value array has field sizes + that are not multiples of 8 bits, this + error code is returned since the function + currently does not handle getting values + from such arrays. +· HIDP_STATUS_INCOMPATIBLE_REPORT_ID -- the specified usage page, usage and + link collection exist but exists in + a report with a different report ID + than the report being passed in. To + set this value, call + HidP_GetUsageValueArray with a + different report packet +· HIDP_STATUS_USAGE_NOT_FOUND -- if the usage page, usage, and link + collection combination does not exist + in any reports for this ReportType +--*/ + +NTSTATUS __stdcall +HidP_UsageListDifference ( + IN PUSAGE PreviousUsageList, + IN PUSAGE CurrentUsageList, + OUT PUSAGE BreakUsageList, + OUT PUSAGE MakeUsageList, + IN ULONG UsageListLength + ); +/*++ +Routine Description: + This function will return the difference between a two lists of usages + (as might be returned from HidP_GetUsages), In other words, it will return + return a list of usages that are in the current list but not the previous + list as well as a list of usages that are in the previous list but not + the current list. + +Parameters: + + PreviousUsageList The list of usages before. + CurrentUsageList The list of usages now. + BreakUsageList Previous - Current. + MakeUsageList Current - Previous. + UsageListLength Represents the length of the usage lists in array + elements. If comparing two lists with a differing + number of array elements, this value should be + the size of the larger of the two lists. Any + zero found with a list indicates an early termination + of the list and any usages found after the first zero + will be ignored. +--*/ + +NTSTATUS __stdcall +HidP_UsageAndPageListDifference ( + IN PUSAGE_AND_PAGE PreviousUsageList, + IN PUSAGE_AND_PAGE CurrentUsageList, + OUT PUSAGE_AND_PAGE BreakUsageList, + OUT PUSAGE_AND_PAGE MakeUsageList, + IN ULONG UsageListLength + ); + +// +// Produce Make or Break Codes +// +typedef enum _HIDP_KEYBOARD_DIRECTION { + HidP_Keyboard_Break, + HidP_Keyboard_Make +} HIDP_KEYBOARD_DIRECTION; + +// +// A bitmap of the current shift state of the keyboard when using the +// below keyboard usages to i8042 translation function. +// +typedef struct _HIDP_KEYBOARD_MODIFIER_STATE { + union { + struct { + ULONG LeftControl: 1; + ULONG LeftShift: 1; + ULONG LeftAlt: 1; + ULONG LeftGUI: 1; + ULONG RightControl: 1; + ULONG RightShift: 1; + ULONG RightAlt: 1; + ULONG RigthGUI: 1; + ULONG CapsLock: 1; + ULONG ScollLock: 1; + ULONG NumLock: 1; + ULONG Reserved: 21; + }; + ULONG ul; + }; + +} HIDP_KEYBOARD_MODIFIER_STATE, * PHIDP_KEYBOARD_MODIFIER_STATE; + +// +// A call back function to give the i8042 scan codes to the caller of +// the below translation function. +// +typedef BOOLEAN (* PHIDP_INSERT_SCANCODES) ( + IN PVOID Context, // Some caller supplied context. + IN PCHAR NewScanCodes, // A list of i8042 scan codes. + IN ULONG Length // the length of the scan codes. + ); + +NTSTATUS __stdcall +HidP_TranslateUsageAndPagesToI8042ScanCodes ( + IN PUSAGE_AND_PAGE ChangedUsageList, + IN ULONG UsageListLength, + IN HIDP_KEYBOARD_DIRECTION KeyAction, + IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, + IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, + IN PVOID InsertCodesContext + ); +/*++ +Routine Description: +Parameters: +--*/ + +NTSTATUS __stdcall +HidP_TranslateUsagesToI8042ScanCodes ( + IN PUSAGE ChangedUsageList, + IN ULONG UsageListLength, + IN HIDP_KEYBOARD_DIRECTION KeyAction, + IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, + IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, + IN PVOID InsertCodesContext + ); +/*++ +Routine Description: +Parameters: +--*/ + + + +// +// Define NT Status codes with Facility Code of FACILITY_HID_ERROR_CODE +// + +// FACILITY_HID_ERROR_CODE defined in ntstatus.h +#ifndef FACILITY_HID_ERROR_CODE +#define FACILITY_HID_ERROR_CODE 0x11 +#endif + +#define HIDP_ERROR_CODES(SEV, CODE) \ + ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE))) + +#define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0,0)) +#define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8,1)) +#define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC,1)) +#define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC,2)) +#define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC,3)) +#define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC,4)) +#define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC,5)) +#define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC,6)) +#define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC,7)) +#define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC,8)) +#define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC,9)) +#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC,0xA)) +#define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC,0xB)) +#define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC,0xC)) +#define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC,0xD)) +#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC,0xE)) +#define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC,0xF)) +#define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC,0x10)) +#define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC,0x20)) + +// +// We blundered this status code. +// +#define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN + +#include <poppack.h> + +#endif diff --git a/winsrc/include/hidsdi.h b/winsrc/include/hidsdi.h new file mode 100644 index 00000000..d0db806b --- /dev/null +++ b/winsrc/include/hidsdi.h @@ -0,0 +1,412 @@ +/*++ + +Copyright (c) 1996 Microsoft Corporation + +Module Name: + + HIDSDI.H + +Abstract: + + This module contains the PUBLIC definitions for the + code that implements the HID dll. + +Environment: + + Kernel & user mode + +--*/ + + +#ifndef _HIDSDI_H +#define _HIDSDI_H + +#include <pshpack4.h> + +//#include "wtypes.h" + +//#include <windef.h> +//#include <win32.h> +//#include <basetyps.h> + +typedef LONG NTSTATUS; +#include "hidusage.h" +#include "hidpi.h" + +typedef struct _HIDD_CONFIGURATION { + PVOID cookie; + ULONG size; + ULONG RingBufferSize; +} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION; + +typedef struct _HIDD_ATTRIBUTES { + ULONG Size; // = sizeof (struct _HIDD_ATTRIBUTES) + + // + // Vendor ids of this hid device + // + USHORT VendorID; + USHORT ProductID; + USHORT VersionNumber; + + // + // Additional fields will be added to the end of this structure. + // +} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES; + + +BOOLEAN __stdcall +HidD_GetAttributes ( + IN HANDLE HidDeviceObject, + OUT PHIDD_ATTRIBUTES Attributes + ); +/*++ +Routine Description: + Fill in the given HIDD_ATTRIBUTES structure with the attributes of the + given hid device. + +--*/ + + +void __stdcall +HidD_GetHidGuid ( + OUT LPGUID HidGuid + ); + +BOOLEAN __stdcall +HidD_GetPreparsedData ( + IN HANDLE HidDeviceObject, + OUT PHIDP_PREPARSED_DATA * PreparsedData + ); +/*++ +Routine Description: + Given a handle to a valid Hid Class Device Object, retrieve the preparsed + data for the device. This routine will allocate the appropriately + sized buffer to hold this preparsed data. It is up to client to call + HidP_FreePreparsedData to free the memory allocated to this structure when + it is no longer needed. + +Arguments: + HidDeviceObject A handle to a Hid Device that the client obtains using + a call to CreateFile on a valid Hid device string name. + The string name can be obtained using standard PnP calls. + + PreparsedData An opaque data structure used by other functions in this + library to retrieve information about a given device. + +Return Value: + TRUE if successful. + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_FreePreparsedData ( + IN PHIDP_PREPARSED_DATA PreparsedData + ); + +BOOLEAN __stdcall +HidD_FlushQueue ( + IN HANDLE HidDeviceObject + ); +/*++ +Routine Description: + Flush the input queue for the given HID device. + +Arguments: + HidDeviceObject A handle to a Hid Device that the client obtains using + a call to CreateFile on a valid Hid device string name. + The string name can be obtained using standard PnP calls. + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetConfiguration ( + IN HANDLE HidDeviceObject, + OUT PHIDD_CONFIGURATION Configuration, + IN ULONG ConfigurationLength + ); +/*++ +Routine Description: + Get the configuration information for this Hid device + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Configuration A configuration structure. HidD_GetConfiguration MUST + be called before the configuration can be modified and + set using HidD_SetConfiguration + + ConfigurationLength That is ``sizeof (HIDD_CONFIGURATION)''. Using this + parameter, we can later increase the length of the + configuration array and not break older apps. + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_SetConfiguration ( + IN HANDLE HidDeviceObject, + IN PHIDD_CONFIGURATION Configuration, + IN ULONG ConfigurationLength + ); +/*++ +Routine Description: + Set the configuration information for this Hid device... + + NOTE: HidD_GetConfiguration must be called to retrieve the current + configuration information before this information can be modified + and set. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Configuration A configuration structure. HidD_GetConfiguration MUST + be called before the configuration can be modified and + set using HidD_SetConfiguration + + ConfigurationLength That is ``sizeof (HIDD_CONFIGURATION)''. Using this + parameter, we can later increase the length of the + configuration array and not break older apps. + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetFeature ( + IN HANDLE HidDeviceObject, + OUT PVOID ReportBuffer, + IN ULONG ReportBufferLength + ); +/*++ +Routine Description: + Retrieve a feature report from a HID device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + ReportBuffer The buffer that the feature report should be placed + into. The first byte of the buffer should be set to + the report ID of the desired report + + ReportBufferLength The size (in bytes) of ReportBuffer. This value + should be greater than or equal to the + FeatureReportByteLength field as specified in the + HIDP_CAPS structure for the device +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_SetFeature ( + IN HANDLE HidDeviceObject, + IN PVOID ReportBuffer, + IN ULONG ReportBufferLength + ); +/*++ +Routine Description: + Send a feature report to a HID device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + ReportBuffer The buffer of the feature report to send to the device + + ReportBufferLength The size (in bytes) of ReportBuffer. This value + should be greater than or equal to the + FeatureReportByteLength field as specified in the + HIDP_CAPS structure for the device +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetNumInputBuffers ( + IN HANDLE HidDeviceObject, + OUT PULONG NumberBuffers + ); +/*++ +Routine Description: + This function returns the number of input buffers used by the specified + file handle to the Hid device. Each file object has a number of buffers + associated with it to queue reports read from the device but which have + not yet been read by the user-mode app with a handle to that device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + NumberBuffers Number of buffers currently being used for this file + handle to the Hid device + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_SetNumInputBuffers ( + IN HANDLE HidDeviceObject, + OUT ULONG NumberBuffers + ); +/*++ + +Routine Description: + This function sets the number of input buffers used by the specified + file handle to the Hid device. Each file object has a number of buffers + associated with it to queue reports read from the device but which have + not yet been read by the user-mode app with a handle to that device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + NumberBuffers New number of buffers to use for this file handle to + the Hid device + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetPhysicalDescriptor ( + IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength + ); +/*++ +Routine Description: + This function retrieves the raw physical descriptor for the specified + Hid device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Buffer Buffer which on return will contain the physical + descriptor if one exists for the specified device + handle + + BufferLength Length of buffer (in bytes) + + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetManufacturerString ( + IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength + ); +/*++ +Routine Description: + This function retrieves the manufacturer string from the specified + Hid device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Buffer Buffer which on return will contain the manufacturer + string returned from the device. This string is a + wide-character string + + BufferLength Length of Buffer (in bytes) + + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetProductString ( + IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength + ); +/*++ +Routine Description: + This function retrieves the product string from the specified + Hid device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Buffer Buffer which on return will contain the product + string returned from the device. This string is a + wide-character string + + BufferLength Length of Buffer (in bytes) + + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetIndexedString ( + IN HANDLE HidDeviceObject, + IN ULONG StringIndex, + OUT PVOID Buffer, + IN ULONG BufferLength + ); +/*++ +Routine Description: + This function retrieves a string from the specified Hid device that is + specified with a certain string index. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + StringIndex Index of the string to retrieve + + Buffer Buffer which on return will contain the product + string returned from the device. This string is a + wide-character string + + BufferLength Length of Buffer (in bytes) + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + +BOOLEAN __stdcall +HidD_GetSerialNumberString ( + IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength + ); +/*++ +Routine Description: + This function retrieves the serial number string from the specified + Hid device. + +Arguments: + HidDeviceObject A handle to a Hid Device Object. + + Buffer Buffer which on return will contain the serial number + string returned from the device. This string is a + wide-character string + + BufferLength Length of Buffer (in bytes) + +Return Value: + TRUE if successful + FALSE otherwise -- Use GetLastError() to get extended error information +--*/ + + +#include <poppack.h> + +#endif diff --git a/winsrc/include/hidusage.h b/winsrc/include/hidusage.h new file mode 100644 index 00000000..4ea9dd12 --- /dev/null +++ b/winsrc/include/hidusage.h @@ -0,0 +1,263 @@ +/*++ + +Copyright (c) 1996, 1997 Microsoft Corporation + +Module Name: + + HIDUSAGE.H + +Abstract: + + Public Definitions of HID USAGES. + +Environment: + + Kernel & user mode + +--*/ + +#ifndef __HIDUSAGE_H__ +#define __HIDUSAGE_H__ + +// +// Usage Pages +// + +typedef USHORT USAGE, *PUSAGE; + +#define HID_USAGE_PAGE_GENERIC ((USAGE) 0x01) +#define HID_USAGE_PAGE_SIMULATION ((USAGE) 0x02) +#define HID_USAGE_PAGE_VR ((USAGE) 0x03) +#define HID_USAGE_PAGE_SPORT ((USAGE) 0x04) +#define HID_USAGE_PAGE_GAME ((USAGE) 0x05) +#define HID_USAGE_PAGE_KEYBOARD ((USAGE) 0x07) +#define HID_USAGE_PAGE_LED ((USAGE) 0x08) +#define HID_USAGE_PAGE_BUTTON ((USAGE) 0x09) +#define HID_USAGE_PAGE_ORDINAL ((USAGE) 0x0A) +#define HID_USAGE_PAGE_TELEPHONY ((USAGE) 0x0B) +#define HID_USAGE_PAGE_CONSUMER ((USAGE) 0x0C) +#define HID_USAGE_PAGE_DIGITIZER ((USAGE) 0x0D) +#define HID_USAGE_PAGE_UNICODE ((USAGE) 0x10) +#define HID_USAGE_PAGE_ALPHANUMERIC ((USAGE) 0x14) + + +// +// Usages from Generic Desktop Page (0x01) +// + +#define HID_USAGE_GENERIC_POINTER ((USAGE) 0x01) +#define HID_USAGE_GENERIC_MOUSE ((USAGE) 0x02) +#define HID_USAGE_GENERIC_JOYSTICK ((USAGE) 0x04) +#define HID_USAGE_GENERIC_GAMEPAD ((USAGE) 0x05) +#define HID_USAGE_GENERIC_KEYBOARD ((USAGE) 0x06) +#define HID_USAGE_GENERIC_KEYPAD ((USAGE) 0x07) +#define HID_USAGE_GENERIC_SYSTEM_CTL ((USAGE) 0x80) + +#define HID_USAGE_GENERIC_X ((USAGE) 0x30) +#define HID_USAGE_GENERIC_Y ((USAGE) 0x31) +#define HID_USAGE_GENERIC_Z ((USAGE) 0x32) +#define HID_USAGE_GENERIC_RX ((USAGE) 0x33) +#define HID_USAGE_GENERIC_RY ((USAGE) 0x34) +#define HID_USAGE_GENERIC_RZ ((USAGE) 0x35) +#define HID_USAGE_GENERIC_SLIDER ((USAGE) 0x36) +#define HID_USAGE_GENERIC_DIAL ((USAGE) 0x37) +#define HID_USAGE_GENERIC_WHEEL ((USAGE) 0x38) +#define HID_USAGE_GENERIC_HATSWITCH ((USAGE) 0x39) +#define HID_USAGE_GENERIC_COUNTED_BUFFER ((USAGE) 0x3A) +#define HID_USAGE_GENERIC_BYTE_COUNT ((USAGE) 0x3B) +#define HID_USAGE_GENERIC_MOTION_WAKEUP ((USAGE) 0x3C) +#define HID_USAGE_GENERIC_VX ((USAGE) 0x40) +#define HID_USAGE_GENERIC_VY ((USAGE) 0x41) +#define HID_USAGE_GENERIC_VZ ((USAGE) 0x42) +#define HID_USAGE_GENERIC_VBRX ((USAGE) 0x43) +#define HID_USAGE_GENERIC_VBRY ((USAGE) 0x44) +#define HID_USAGE_GENERIC_VBRZ ((USAGE) 0x45) +#define HID_USAGE_GENERIC_VNO ((USAGE) 0x46) +#define HID_USAGE_GENERIC_SYSCTL_POWER ((USAGE) 0x81) +#define HID_USAGE_GENERIC_SYSCTL_SLEEP ((USAGE) 0x82) +#define HID_USAGE_GENERIC_SYSCTL_WAKE ((USAGE) 0x83) +#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU ((USAGE) 0x84) +#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU ((USAGE) 0x85) +#define HID_USAGE_GENERIC_SYSCTL_APP_MENU ((USAGE) 0x86) +#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU ((USAGE) 0x87) +#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT ((USAGE) 0x88) +#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT ((USAGE) 0x89) +#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT ((USAGE) 0x8A) +#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT ((USAGE) 0x8B) +#define HID_USAGE_GENERIC_SYSCTL_MENU_UP ((USAGE) 0x8C) +#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN ((USAGE) 0x8D) + +// +// Usages from Simulation Controls Page (0x02) +// + +#define HID_USAGE_SIMULATION_RUDDER ((USAGE) 0xBA) +#define HID_USAGE_SIMULATION_THROTTLE ((USAGE) 0xBB) + +// +// Virtual Reality Controls Page (0x03) +// + + +// +// Sport Controls Page (0x04) +// + + +// +// Game Controls Page (0x05) +// + + +// +// Keyboard/Keypad Page (0x07) +// + + // Error "keys" +#define HID_USAGE_KEYBOARD_NOEVENT ((USAGE) 0x00) +#define HID_USAGE_KEYBOARD_ROLLOVER ((USAGE) 0x01) +#define HID_USAGE_KEYBOARD_POSTFAIL ((USAGE) 0x02) +#define HID_USAGE_KEYBOARD_UNDEFINED ((USAGE) 0x03) + + // Letters +#define HID_USAGE_KEYBOARD_aA ((USAGE) 0x04) +#define HID_USAGE_KEYBOARD_zZ ((USAGE) 0x1D) + // Numbers +#define HID_USAGE_KEYBOARD_ONE ((USAGE) 0x1E) +#define HID_USAGE_KEYBOARD_ZERO ((USAGE) 0x27) + // Modifier Keys +#define HID_USAGE_KEYBOARD_LCTRL ((USAGE) 0xE0) +#define HID_USAGE_KEYBOARD_LSHFT ((USAGE) 0xE1) +#define HID_USAGE_KEYBOARD_LALT ((USAGE) 0xE2) +#define HID_USAGE_KEYBOARD_LGUI ((USAGE) 0xE3) +#define HID_USAGE_KEYBOARD_RCTRL ((USAGE) 0xE4) +#define HID_USAGE_KEYBOARD_RSHFT ((USAGE) 0xE5) +#define HID_USAGE_KEYBOARD_RALT ((USAGE) 0xE6) +#define HID_USAGE_KEYBOARD_RGUI ((USAGE) 0xE7) +#define HID_USAGE_KEYBOARD_SCROLL_LOCK ((USAGE) 0x47) +#define HID_USAGE_KEYBOARD_NUM_LOCK ((USAGE) 0x53) +#define HID_USAGE_KEYBOARD_CAPS_LOCK ((USAGE) 0x39) + // Funtion keys +#define HID_USAGE_KEYBOARD_F1 ((USAGE) 0x3A) +#define HID_USAGE_KEYBOARD_F12 ((USAGE) 0x45) + +#define HID_USAGE_KEYBOARD_RETURN ((USAGE) 0x28) +#define HID_USAGE_KEYBOARD_ESCAPE ((USAGE) 0x29) +#define HID_USAGE_KEYBOARD_DELETE ((USAGE) 0x2A) + +#define HID_USAGE_KEYBOARD_PRINT_SCREEN ((USAGE) 0x46) + +// and hundreds more... + +// +// LED Page (0x08) +// + +#define HID_USAGE_LED_NUM_LOCK ((USAGE) 0x01) +#define HID_USAGE_LED_CAPS_LOCK ((USAGE) 0x02) +#define HID_USAGE_LED_SCROLL_LOCK ((USAGE) 0x03) +#define HID_USAGE_LED_COMPOSE ((USAGE) 0x04) +#define HID_USAGE_LED_KANA ((USAGE) 0x05) +#define HID_USAGE_LED_POWER ((USAGE) 0x06) +#define HID_USAGE_LED_SHIFT ((USAGE) 0x07) +#define HID_USAGE_LED_DO_NOT_DISTURB ((USAGE) 0x08) +#define HID_USAGE_LED_MUTE ((USAGE) 0x09) +#define HID_USAGE_LED_TONE_ENABLE ((USAGE) 0x0A) +#define HID_USAGE_LED_HIGH_CUT_FILTER ((USAGE) 0x0B) +#define HID_USAGE_LED_LOW_CUT_FILTER ((USAGE) 0x0C) +#define HID_USAGE_LED_EQUALIZER_ENABLE ((USAGE) 0x0D) +#define HID_USAGE_LED_SOUND_FIELD_ON ((USAGE) 0x0E) +#define HID_USAGE_LED_SURROUND_FIELD_ON ((USAGE) 0x0F) +#define HID_USAGE_LED_REPEAT ((USAGE) 0x10) +#define HID_USAGE_LED_STEREO ((USAGE) 0x11) +#define HID_USAGE_LED_SAMPLING_RATE_DETECT ((USAGE) 0x12) +#define HID_USAGE_LED_SPINNING ((USAGE) 0x13) +#define HID_USAGE_LED_CAV ((USAGE) 0x14) +#define HID_USAGE_LED_CLV ((USAGE) 0x15) +#define HID_USAGE_LED_RECORDING_FORMAT_DET ((USAGE) 0x16) +#define HID_USAGE_LED_OFF_HOOK ((USAGE) 0x17) +#define HID_USAGE_LED_RING ((USAGE) 0x18) +#define HID_USAGE_LED_MESSAGE_WAITING ((USAGE) 0x19) +#define HID_USAGE_LED_DATA_MODE ((USAGE) 0x1A) +#define HID_USAGE_LED_BATTERY_OPERATION ((USAGE) 0x1B) +#define HID_USAGE_LED_BATTERY_OK ((USAGE) 0x1C) +#define HID_USAGE_LED_BATTERY_LOW ((USAGE) 0x1D) +#define HID_USAGE_LED_SPEAKER ((USAGE) 0x1E) +#define HID_USAGE_LED_HEAD_SET ((USAGE) 0x1F) +#define HID_USAGE_LED_HOLD ((USAGE) 0x20) +#define HID_USAGE_LED_MICROPHONE ((USAGE) 0x21) +#define HID_USAGE_LED_COVERAGE ((USAGE) 0x22) +#define HID_USAGE_LED_NIGHT_MODE ((USAGE) 0x23) +#define HID_USAGE_LED_SEND_CALLS ((USAGE) 0x24) +#define HID_USAGE_LED_CALL_PICKUP ((USAGE) 0x25) +#define HID_USAGE_LED_CONFERENCE ((USAGE) 0x26) +#define HID_USAGE_LED_STAND_BY ((USAGE) 0x27) +#define HID_USAGE_LED_CAMERA_ON ((USAGE) 0x28) +#define HID_USAGE_LED_CAMERA_OFF ((USAGE) 0x29) +#define HID_USAGE_LED_ON_LINE ((USAGE) 0x2A) +#define HID_USAGE_LED_OFF_LINE ((USAGE) 0x2B) +#define HID_USAGE_LED_BUSY ((USAGE) 0x2C) +#define HID_USAGE_LED_READY ((USAGE) 0x2D) +#define HID_USAGE_LED_PAPER_OUT ((USAGE) 0x2E) +#define HID_USAGE_LED_PAPER_JAM ((USAGE) 0x2F) +#define HID_USAGE_LED_REMOTE ((USAGE) 0x30) +#define HID_USAGE_LED_FORWARD ((USAGE) 0x31) +#define HID_USAGE_LED_REVERSE ((USAGE) 0x32) +#define HID_USAGE_LED_STOP ((USAGE) 0x33) +#define HID_USAGE_LED_REWIND ((USAGE) 0x34) +#define HID_USAGE_LED_FAST_FORWARD ((USAGE) 0x35) +#define HID_USAGE_LED_PLAY ((USAGE) 0x36) +#define HID_USAGE_LED_PAUSE ((USAGE) 0x37) +#define HID_USAGE_LED_RECORD ((USAGE) 0x38) +#define HID_USAGE_LED_ERROR ((USAGE) 0x39) +#define HID_USAGE_LED_SELECTED_INDICATOR ((USAGE) 0x3A) +#define HID_USAGE_LED_IN_USE_INDICATOR ((USAGE) 0x3B) +#define HID_USAGE_LED_MULTI_MODE_INDICATOR ((USAGE) 0x3C) +#define HID_USAGE_LED_INDICATOR_ON ((USAGE) 0x3D) +#define HID_USAGE_LED_INDICATOR_FLASH ((USAGE) 0x3E) +#define HID_USAGE_LED_INDICATOR_SLOW_BLINK ((USAGE) 0x3F) +#define HID_USAGE_LED_INDICATOR_FAST_BLINK ((USAGE) 0x40) +#define HID_USAGE_LED_INDICATOR_OFF ((USAGE) 0x41) +#define HID_USAGE_LED_FLASH_ON_TIME ((USAGE) 0x42) +#define HID_USAGE_LED_SLOW_BLINK_ON_TIME ((USAGE) 0x43) +#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME ((USAGE) 0x44) +#define HID_USAGE_LED_FAST_BLINK_ON_TIME ((USAGE) 0x45) +#define HID_USAGE_LED_FAST_BLINK_OFF_TIME ((USAGE) 0x46) +#define HID_USAGE_LED_INDICATOR_COLOR ((USAGE) 0x47) +#define HID_USAGE_LED_RED ((USAGE) 0x48) +#define HID_USAGE_LED_GREEN ((USAGE) 0x49) +#define HID_USAGE_LED_AMBER ((USAGE) 0x4A) +#define HID_USAGE_LED_GENERIC_INDICATOR ((USAGE) 0x3B) + +// +// Button Page (0x09) +// +// There is no need to label these usages. +// + + +// +// Ordinal Page (0x0A) +// +// There is no need to label these usages. +// + + +// +// Telephony Device Page (0x0B) +// + +#define HID_USAGE_TELEPHONY_PHONE ((USAGE) 0x01) +#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE ((USAGE) 0x02) +#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS ((USAGE) 0x03) +#define HID_USAGE_TELEPHONY_HANDSET ((USAGE) 0x04) +#define HID_USAGE_TELEPHONY_HEADSET ((USAGE) 0x05) +#define HID_USAGE_TELEPHONY_KEYPAD ((USAGE) 0x06) +#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON ((USAGE) 0x07) + +// +// and others... +// + + +#endif diff --git a/winsrc/prox.cpp b/winsrc/prox.cpp new file mode 100644 index 00000000..e95a4aff --- /dev/null +++ b/winsrc/prox.cpp @@ -0,0 +1,379 @@ +#include <windows.h> +#include <setupapi.h> +#include <stdio.h> +#include <ctype.h> +#include <stdlib.h> +extern "C" { +#include "include/hidsdi.h" +#include "include/hidpi.h" +} + +#include "prox.h" + +#define OUR_VID 0x9ac4 +#define OUR_PID 0x4b8f + +HANDLE UsbHandle; + +static void ShowError(void) +{ + char buf[1024]; + FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, + buf, sizeof(buf), NULL); + printf("ERROR: %s", buf); +} + +static BOOL UsbConnect(void) +{ + typedef void (__stdcall *GetGuidProc)(GUID *); + typedef BOOLEAN (__stdcall *GetAttrProc)(HANDLE, HIDD_ATTRIBUTES *); + typedef BOOLEAN (__stdcall *GetPreparsedProc)(HANDLE, + PHIDP_PREPARSED_DATA *); + typedef NTSTATUS (__stdcall *GetCapsProc)(PHIDP_PREPARSED_DATA, PHIDP_CAPS); + GetGuidProc getGuid; + GetAttrProc getAttr; + GetPreparsedProc getPreparsed; + GetCapsProc getCaps; + + HMODULE h = LoadLibrary("hid.dll"); + getGuid = (GetGuidProc)GetProcAddress(h, "HidD_GetHidGuid"); + getAttr = (GetAttrProc)GetProcAddress(h, "HidD_GetAttributes"); + getPreparsed = (GetPreparsedProc)GetProcAddress(h, "HidD_GetPreparsedData"); + getCaps = (GetCapsProc)GetProcAddress(h, "HidP_GetCaps"); + + GUID hidGuid; + getGuid(&hidGuid); + + HDEVINFO devInfo; + devInfo = SetupDiGetClassDevs(&hidGuid, NULL, NULL, + DIGCF_PRESENT | DIGCF_INTERFACEDEVICE); + + SP_DEVICE_INTERFACE_DATA devInfoData; + devInfoData.cbSize = sizeof(devInfoData); + + int i; + for(i = 0;; i++) { + if(!SetupDiEnumDeviceInterfaces(devInfo, 0, &hidGuid, i, &devInfoData)) + { + if(GetLastError() != ERROR_NO_MORE_ITEMS) { +// printf("SetupDiEnumDeviceInterfaces failed\n"); + } +// printf("done list\n"); + SetupDiDestroyDeviceInfoList(devInfo); + return FALSE; + } + +// printf("item %d:\n", i); + + DWORD sizeReqd = 0; + if(!SetupDiGetDeviceInterfaceDetail(devInfo, &devInfoData, + NULL, 0, &sizeReqd, NULL)) + { + if(GetLastError() != ERROR_INSUFFICIENT_BUFFER) { +// printf("SetupDiGetDeviceInterfaceDetail (0) failed\n"); + continue; + } + } + + SP_DEVICE_INTERFACE_DETAIL_DATA *devInfoDetailData = + (SP_DEVICE_INTERFACE_DETAIL_DATA *)malloc(sizeReqd); + devInfoDetailData->cbSize = sizeof(*devInfoDetailData); + + if(!SetupDiGetDeviceInterfaceDetail(devInfo, &devInfoData, + devInfoDetailData, 87, NULL, NULL)) + { +// printf("SetupDiGetDeviceInterfaceDetail (1) failed\n"); + continue; + } + + char *path = devInfoDetailData->DevicePath; + + UsbHandle = CreateFile(path, /*GENERIC_READ |*/ GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, + FILE_FLAG_OVERLAPPED, NULL); + + if(UsbHandle == INVALID_HANDLE_VALUE) { + ShowError(); +// printf("CreateFile failed: for '%s'\n", path); + continue; + } + + HIDD_ATTRIBUTES attr; + attr.Size = sizeof(attr); + if(!getAttr(UsbHandle, &attr)) { + ShowError(); +// printf("HidD_GetAttributes failed\n"); + continue; + } + +// printf("VID: %04x PID %04x\n", attr.VendorID, attr.ProductID); + + if(attr.VendorID != OUR_VID || attr.ProductID != OUR_PID) { + CloseHandle(UsbHandle); +// printf(" nope, not us\n"); + continue; + } + +// printf ("got it!\n"); + CloseHandle(UsbHandle); + + UsbHandle = CreateFile(path, GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, + FILE_FLAG_OVERLAPPED, NULL); + + if(UsbHandle == INVALID_HANDLE_VALUE) { + ShowError(); +// printf("Error, couldn't open our own handle as desired.\n"); + return FALSE; + } + + PHIDP_PREPARSED_DATA pp; + getPreparsed(UsbHandle, &pp); + HIDP_CAPS caps; + + if(getCaps(pp, &caps) != HIDP_STATUS_SUCCESS) { +// printf("getcaps failed\n"); + return FALSE; + } + +// printf("input/out report %d/%d\n", caps.InputReportByteLength, +// caps.OutputReportByteLength); + + + return TRUE; + } + return FALSE; +} + +BOOL ReceiveCommandPoll(UsbCommand *c) +{ + static BOOL ReadInProgress = FALSE; + static OVERLAPPED Ov; + static BYTE Buf[65]; + static DWORD HaveRead; + + if(!ReadInProgress) { + memset(&Ov, 0, sizeof(Ov)); + ReadFile(UsbHandle, Buf, 65, &HaveRead, &Ov); + if(GetLastError() != ERROR_IO_PENDING) { + ShowError(); + exit(-1); + } + ReadInProgress = TRUE; + } + + if(HasOverlappedIoCompleted(&Ov)) { + ReadInProgress = FALSE; + + if(!GetOverlappedResult(UsbHandle, &Ov, &HaveRead, FALSE)) { + ShowError(); + exit(-1); + } + + memcpy(c, Buf+1, 64); + + return TRUE; + } else { + return FALSE; + } +} + +void ReceiveCommand(UsbCommand *c) +{ + while(!ReceiveCommandPoll(c)) { + Sleep(0); + } +} + +void SendCommand(UsbCommand *c, BOOL wantAck) +{ + BYTE buf[65]; + buf[0] = 0; + memcpy(buf+1, c, 64); + + DWORD written; + OVERLAPPED ov; + memset(&ov, 0, sizeof(ov)); + WriteFile(UsbHandle, buf, 65, &written, &ov); + if(GetLastError() != ERROR_IO_PENDING) { + ShowError(); + exit(-1); + } + + while(!HasOverlappedIoCompleted(&ov)) { + Sleep(0); + } + + if(!GetOverlappedResult(UsbHandle, &ov, &written, FALSE)) { + ShowError(); + exit(-1); + } + + if(wantAck) { + UsbCommand ack; + ReceiveCommand(&ack); + if(ack.cmd != CMD_ACK) { + printf("bad ACK\n"); + exit(-1); + } + } +} + +static DWORD ExpectedAddr; +static BYTE QueuedToSend[256]; +static BOOL AllWritten; + +static void FlushPrevious(void) +{ + UsbCommand c; + memset(&c, 0, sizeof(c)); + + printf("expected = %08x flush, ", ExpectedAddr); + + int i; + for(i = 0; i < 240; i += 48) { + c.cmd = CMD_SETUP_WRITE; + memcpy(c.d.asBytes, QueuedToSend+i, 48); + c.ext1 = (i/4); + SendCommand(&c, TRUE); + } + + c.cmd = CMD_FINISH_WRITE; + c.ext1 = (ExpectedAddr-1) & (~255); + printf("c.ext1 = %08x\r", c.ext1); + memcpy(c.d.asBytes, QueuedToSend+240, 16); + SendCommand(&c, TRUE); + + AllWritten = TRUE; +} + +static void GotByte(DWORD where, BYTE which) +{ + AllWritten = FALSE; + + if(where != ExpectedAddr) { + printf("bad: got at %08x, expected at %08x\n", where, ExpectedAddr); + exit(-1); + } + QueuedToSend[where & 255] = which; + ExpectedAddr++; + + if((where & 255) == 255) { + // we have completed a full page + FlushPrevious(); + } +} + +static int HexVal(int c) +{ + c = tolower(c); + if(c >= '0' && c <= '9') { + return c - '0'; + } else if(c >= 'a' && c <= 'f') { + return (c - 'a') + 10; + } else { + printf("bad hex digit '%c'\n", c); + exit(-1); + } +} + +static BYTE HexByte(char *s) +{ + return (HexVal(s[0]) << 4) | HexVal(s[1]); +} + +static void LoadFlashFromSRecords(char *file, int addr) +{ + ExpectedAddr = addr; + + FILE *f = fopen(file, "r"); + if(!f) { + printf("couldn't open file\n"); + exit(-1); + } + + char line[512]; + while(fgets(line, sizeof(line), f)) { + if(memcmp(line, "S3", 2)==0) { + char *s = line + 2; + int len = HexByte(s) - 5; + s += 2; + + char addrStr[9]; + memcpy(addrStr, s, 8); + addrStr[8] = '\0'; + DWORD addr; + sscanf(addrStr, "%x", &addr); + s += 8; + + int i; + for(i = 0; i < len; i++) { + while((addr+i) > ExpectedAddr) { + GotByte(ExpectedAddr, 0xff); + } + GotByte(addr+i, HexByte(s)); + s += 2; + } + } + } + + if(!AllWritten) FlushPrevious(); + + fclose(f); + printf("\ndone.\n"); +} + +int main(int argc, char **argv) +{ + int i = 0; + + if(argc < 2) { + printf("Usage: %s bootrom file.s19\n", argv[0]); + printf(" %s load osimage.s19\n", argv[0]); + printf(" %s fpga fpgaimg.s19\n", argv[0]); + printf(" %s gui\n", argv[0]); + return -1; + } + + for(;;) { + if(UsbConnect()) { + break; + } + if(i == 0) { + printf("...no device connected, polling for it now\n"); + } + if(i > 50000) { + printf("Could not connect to USB device; exiting.\n"); + return -1; + } + i++; + Sleep(5); + } + + if(strcmp(argv[1], "bootrom")==0 || strcmp(argv[1], "load")==0 || strcmp(argv[1], "fpga")==0) { + if(argc != 3) { + printf("Need filename.\n"); + return -1; + } + if(strcmp(argv[1], "bootrom")==0) { + LoadFlashFromSRecords(argv[2], 0); + } else if(strcmp(argv[1], "fpga")==0) { + LoadFlashFromSRecords(argv[2], 0x2000); + } else { + LoadFlashFromSRecords(argv[2], 0x10000); + } + } else if(strcmp(argv[1], "gui")==0) { + ShowGui(); + } else if(strcmp(argv[1], "cmd")==0) { + if(argc != 3) { + printf("Need command.\n"); + return -1; + } + ExecCmd(argv[2]); + } else { + printf("Command '%s' not recognized.\n", argv[1]); + return -1; + } + + return 0; +} diff --git a/winsrc/prox.h b/winsrc/prox.h new file mode 100644 index 00000000..f3be604c --- /dev/null +++ b/winsrc/prox.h @@ -0,0 +1,32 @@ +#ifndef __PROX_H +#define __PROX_H + +#include "../include/usb_cmd.h" + +// prox.cpp +void ReceiveCommand(UsbCommand *c); +BOOL ReceiveCommandPoll(UsbCommand *c); +void SendCommand(UsbCommand *c, BOOL wantAck); + +// gui.cpp +void ShowGui(void); +void HideGraphWindow(void); +void ShowGraphWindow(void); +void RepaintGraphWindow(void); +void PrintToScrollback(char *fmt, ...); +#define MAX_GRAPH_TRACE_LEN (1024*128) +extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; +extern int GraphTraceLen; +extern double CursorScaleFactor; +extern int CommandFinished; + +// command.cpp +void CommandReceived(char *cmd); +void UsbCommandReceived(UsbCommand *c); + +// cmdline.cpp +void ShowCommandline(void); +void ExecCmd(char *cmd); +//void PrintToScrollback(char *fmt, ...); + +#endif diff --git a/winsrc/vc90.pdb b/winsrc/vc90.pdb new file mode 100644 index 0000000000000000000000000000000000000000..2451797cc6f2a47ac0ebdc29a84701675df54179 GIT binary patch literal 94208 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 X(LkbsL<5Ni5)C98NHp-@Tm%0POxOT? literal 0 HcmV?d00001 -- 2.39.5